aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/x509/x509path.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/x509/x509path.h')
-rw-r--r--src/lib/x509/x509path.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/lib/x509/x509path.h b/src/lib/x509/x509path.h
index 6898d0679..12a924873 100644
--- a/src/lib/x509/x509path.h
+++ b/src/lib/x509/x509path.h
@@ -136,6 +136,11 @@ class BOTAN_PUBLIC_API(2,0) Path_Validation_Result final
bool successful_validation() const;
/**
+ * @return true iff no warnings occured during validation
+ */
+ bool no_warnings() const;
+
+ /**
* @return overall validation result code
*/
Certificate_Status_Code result() const { return m_overall; }
@@ -147,6 +152,11 @@ class BOTAN_PUBLIC_API(2,0) Path_Validation_Result final
{ return m_all_status; }
/**
+ * @return the subset of status codes that are warnings
+ */
+ CertificatePathStatusCodes warnings() const;
+
+ /**
* @return string representation of the validation result
*/
std::string result_string() const;
@@ -173,6 +183,7 @@ class BOTAN_PUBLIC_API(2,0) Path_Validation_Result final
private:
CertificatePathStatusCodes m_all_status;
+ CertificatePathStatusCodes m_warnings;
std::vector<std::shared_ptr<const X509_Certificate>> m_cert_path;
Certificate_Status_Code m_overall;
};
@@ -274,6 +285,13 @@ Path_Validation_Result BOTAN_PUBLIC_API(2,0) x509_path_validate(
*/
namespace PKIX {
+Certificate_Status_Code
+build_all_certificate_paths(std::vector<std::vector<std::shared_ptr<const X509_Certificate>>>& cert_paths,
+ const std::vector<Certificate_Store*>& trusted_certstores,
+ const std::shared_ptr<const X509_Certificate>& end_entity,
+ const std::vector<std::shared_ptr<const X509_Certificate>>& end_entity_extra);
+
+
/**
* Build certificate path
* @param cert_path_out output parameter, cert_path will be appended to this vector