| // Copyright 2017 The Chromium Authors | |
| // | |
| // Licensed under the Apache License, Version 2.0 (the "License"); | |
| // you may not use this file except in compliance with the License. | |
| // You may obtain a copy of the License at | |
| // | |
| // https://www.apache.org/licenses/LICENSE-2.0 | |
| // | |
| // Unless required by applicable law or agreed to in writing, software | |
| // distributed under the License is distributed on an "AS IS" BASIS, | |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| // See the License for the specific language governing permissions and | |
| // limitations under the License. | |
| #include "common_cert_errors.h" | |
| BSSL_NAMESPACE_BEGIN | |
| namespace cert_errors { | |
| DEFINE_CERT_ERROR_ID(kInternalError, "Internal error"); | |
| DEFINE_CERT_ERROR_ID(kValidityFailedNotAfter, "Time is after notAfter"); | |
| DEFINE_CERT_ERROR_ID(kValidityFailedNotBefore, "Time is before notBefore"); | |
| DEFINE_CERT_ERROR_ID(kDistrustedByTrustStore, "Distrusted by trust store"); | |
| DEFINE_CERT_ERROR_ID( | |
| kSignatureAlgorithmMismatch, | |
| "Certificate.signatureAlgorithm != TBSCertificate.signature"); | |
| DEFINE_CERT_ERROR_ID(kChainIsEmpty, "Chain is empty"); | |
| DEFINE_CERT_ERROR_ID(kUnconsumedCriticalExtension, | |
| "Unconsumed critical extension"); | |
| DEFINE_CERT_ERROR_ID(kKeyCertSignBitNotSet, "keyCertSign bit is not set"); | |
| DEFINE_CERT_ERROR_ID(kKeyUsageIncorrectForRcsMlsClient, | |
| "KeyUsage must have only the digitalSignature bit set for " | |
| "rcsMlsClient auth"); | |
| DEFINE_CERT_ERROR_ID(kMaxPathLengthViolated, "max_path_length reached"); | |
| DEFINE_CERT_ERROR_ID(kBasicConstraintsIndicatesNotCa, | |
| "Basic Constraints indicates not a CA"); | |
| DEFINE_CERT_ERROR_ID(kTargetCertShouldNotBeCa, | |
| "Certificate has Basic Constraints indicating it is a CA " | |
| "when it should not be a CA"); | |
| DEFINE_CERT_ERROR_ID(kMissingBasicConstraints, | |
| "Does not have Basic Constraints"); | |
| DEFINE_CERT_ERROR_ID(kNotPermittedByNameConstraints, | |
| "Not permitted by name constraints"); | |
| DEFINE_CERT_ERROR_ID(kTooManyNameConstraintChecks, | |
| "Too many name constraints checks"); | |
| DEFINE_CERT_ERROR_ID(kSubjectDoesNotMatchIssuer, | |
| "subject does not match issuer"); | |
| DEFINE_CERT_ERROR_ID(kVerifySignedDataFailed, "VerifySignedData failed"); | |
| DEFINE_CERT_ERROR_ID(kSignatureAlgorithmsDifferentEncoding, | |
| "Certificate.signatureAlgorithm is encoded differently " | |
| "than TBSCertificate.signature"); | |
| DEFINE_CERT_ERROR_ID(kEkuLacksServerAuth, | |
| "The extended key usage does not include server auth"); | |
| DEFINE_CERT_ERROR_ID(kEkuLacksServerAuthButHasAnyEKU, | |
| "The extended key usage does not include server auth but " | |
| "instead includes anyExtendeKeyUsage"); | |
| DEFINE_CERT_ERROR_ID(kEkuLacksClientAuth, | |
| "The extended key usage does not include client auth"); | |
| DEFINE_CERT_ERROR_ID(kEkuLacksClientAuthButHasAnyEKU, | |
| "The extended key usage does not include client auth but " | |
| "instead includes anyExtendedKeyUsage"); | |
| DEFINE_CERT_ERROR_ID(kEkuLacksClientAuthOrServerAuth, | |
| "The extended key usage does not include client auth " | |
| "or server auth"); | |
| DEFINE_CERT_ERROR_ID(kEkuHasProhibitedOCSPSigning, | |
| "The extended key usage includes OCSP signing which " | |
| "is not permitted for this use"); | |
| DEFINE_CERT_ERROR_ID(kEkuHasProhibitedTimeStamping, | |
| "The extended key usage includes time stamping which " | |
| "is not permitted for this use"); | |
| DEFINE_CERT_ERROR_ID(kEkuHasProhibitedCodeSigning, | |
| "The extended key usage includes code signing which " | |
| "is not permitted for this use"); | |
| DEFINE_CERT_ERROR_ID(kEkuIncorrectForRcsMlsClient, | |
| "The extended key usage does not contain only the " | |
| "rcsMlsClient key purpose."); | |
| DEFINE_CERT_ERROR_ID(kEkuIncorrectForC2PATimeStamping, | |
| "The extended key usage does not contain the time " | |
| "stamping key purpose, or contains prohibited key usages"); | |
| DEFINE_CERT_ERROR_ID( | |
| kEkuIncorrectForC2PAManifest, | |
| "The extended key usage must contain at least one of: email protection or " | |
| "document signing, and must not contain prohibited key usages"); | |
| DEFINE_CERT_ERROR_ID(kEkuNotPresent, | |
| "Certificate does not have extended key usage"); | |
| DEFINE_CERT_ERROR_ID(kCertIsNotTrustAnchor, | |
| "Certificate is not a trust anchor"); | |
| DEFINE_CERT_ERROR_ID(kNoValidPolicy, "No valid policy"); | |
| DEFINE_CERT_ERROR_ID(kPolicyMappingAnyPolicy, | |
| "PolicyMappings must not map anyPolicy"); | |
| DEFINE_CERT_ERROR_ID(kFailedParsingSpki, "Couldn't parse SubjectPublicKeyInfo"); | |
| DEFINE_CERT_ERROR_ID(kUnacceptableSignatureAlgorithm, | |
| "Unacceptable signature algorithm"); | |
| DEFINE_CERT_ERROR_ID(kUnacceptablePublicKey, "Unacceptable public key"); | |
| DEFINE_CERT_ERROR_ID(kCertificateRevoked, "Certificate is revoked"); | |
| DEFINE_CERT_ERROR_ID(kNoRevocationMechanism, | |
| "Certificate lacks a revocation mechanism"); | |
| DEFINE_CERT_ERROR_ID(kUnableToCheckRevocation, "Unable to check revocation"); | |
| DEFINE_CERT_ERROR_ID(kNoIssuersFound, "No matching issuer found"); | |
| DEFINE_CERT_ERROR_ID(kDeadlineExceeded, "Deadline exceeded"); | |
| DEFINE_CERT_ERROR_ID(kIterationLimitExceeded, "Iteration limit exceeded"); | |
| DEFINE_CERT_ERROR_ID(kDepthLimitExceeded, "Depth limit exceeded"); | |
| } // namespace cert_errors | |
| BSSL_NAMESPACE_END |