diff options
Diffstat (limited to 'src/lib/x509/x509path.h')
-rw-r--r-- | src/lib/x509/x509path.h | 18 |
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 |