/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
static_assert(mozilla::pkix::ERROR_BASE ==
nsINSSErrorsService::MOZILLA_PKIX_ERROR_BASE, "MOZILLA_PKIX_ERROR_BASE and " "nsINSSErrorsService::MOZILLA_PKIX_ERROR_BASE do not match.");
static_assert(mozilla::pkix::ERROR_LIMIT ==
nsINSSErrorsService::MOZILLA_PKIX_ERROR_LIMIT, "MOZILLA_PKIX_ERROR_LIMIT and " "nsINSSErrorsService::MOZILLA_PKIX_ERROR_LIMIT do not match.");
#if SEC_ERROR_BASE != EXPECTED_SEC_ERROR_BASE || \
SSL_ERROR_BASE != EXPECTED_SSL_ERROR_BASE # error \ "Unexpected change of error code numbers in lib NSS, please adjust the mapping code" /* * Please ensure the NSS error codes are mapped into the positive range 0x1000 * to 0xf000 Search for NS_ERROR_MODULE_SECURITY to ensure there are no * conflicts. The current code also assumes that NSS library error codes are * negative.
*/ #endif
nsresult GetXPCOMFromNSSError(PRErrorCode code) { if (!code) {
MOZ_CRASH("Function failed without calling PR_GetError");
}
// The error codes within each module must be a 16 bit value. // For simplicity we use the positive value of the NSS code. return (nsresult)NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_SECURITY,
-1 * code);
}
bool ErrorIsOverridable(PRErrorCode code) { switch (code) { // Overridable errors. case SEC_ERROR_CA_CERT_INVALID: case SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED: case SEC_ERROR_EXPIRED_CERTIFICATE: case SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE: case SEC_ERROR_INVALID_TIME: case SEC_ERROR_UNKNOWN_ISSUER: case SSL_ERROR_BAD_CERT_DOMAIN: case mozilla::pkix::MOZILLA_PKIX_ERROR_ADDITIONAL_POLICY_CONSTRAINT_FAILED: case mozilla::pkix::MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY: case mozilla::pkix::MOZILLA_PKIX_ERROR_EMPTY_ISSUER_NAME: case mozilla::pkix::MOZILLA_PKIX_ERROR_INADEQUATE_KEY_SIZE: case mozilla::pkix::
MOZILLA_PKIX_ERROR_INSUFFICIENT_CERTIFICATE_TRANSPARENCY: case mozilla::pkix::MOZILLA_PKIX_ERROR_MITM_DETECTED: case mozilla::pkix::MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE: case mozilla::pkix::MOZILLA_PKIX_ERROR_NOT_YET_VALID_ISSUER_CERTIFICATE: case mozilla::pkix::MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT: case mozilla::pkix::MOZILLA_PKIX_ERROR_V1_CERT_USED_AS_CA: returntrue; // Non-overridable errors. default: returnfalse;
}
}
staticconstchar* getOverrideErrorStringName(PRErrorCode aErrorCode) { switch (aErrorCode) { case SSL_ERROR_SSL_DISABLED: return"PSMERR_SSL_Disabled"; case SSL_ERROR_SSL2_DISABLED: return"PSMERR_SSL2_Disabled"; case SEC_ERROR_REUSED_ISSUER_AND_SERIAL: return"PSMERR_HostReusedIssuerSerial"; case mozilla::pkix::MOZILLA_PKIX_ERROR_MITM_DETECTED: return"certErrorTrust_MitM"; default: return nullptr;
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.