Source code
Revision control
Copy as Markdown
Other Tools
/* 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/. */
/**
* Certificate error configurations (SEC_ERROR_* codes).
* These errors relate to certificate validation issues.
*/
export const CERT_ERRORS = [
{
id: "SEC_ERROR_UNKNOWN_ISSUER",
errorCode: "SEC_ERROR_UNKNOWN_ISSUER",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: true,
},
advanced: {
whyDangerous: {
dataL10nId: "fp-certerror-unknown-issuer-why-dangerous-body",
},
whatCanYouDo: {
dataL10nId: "fp-certerror-unknown-issuer-what-can-you-do-body",
},
learnMore: {
dataL10nId: "fp-learn-more-about-cert-issues",
supportPage: "connection-not-secure",
},
showViewCertificate: true,
showDateTime: true,
},
hasNoUserFix: false,
checkMitm: true,
},
{
id: "SEC_ERROR_UNTRUSTED_ISSUER",
errorCode: "SEC_ERROR_UNTRUSTED_ISSUER",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: true,
},
advanced: {
whyDangerous: {
dataL10nId: "fp-certerror-untrusted-issuer-why-dangerous-body",
dataL10nArgs: { hostname: null },
},
whatCanYouDo: {
dataL10nId: "fp-certerror-untrusted-issuer-what-can-you-do-body",
},
learnMore: {
dataL10nId: "fp-learn-more-about-cert-issues",
supportPage: "connection-not-secure",
},
showViewCertificate: true,
},
hasNoUserFix: true,
},
{
id: "SEC_ERROR_EXPIRED_CERTIFICATE",
errorCode: "SEC_ERROR_EXPIRED_CERTIFICATE",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: true,
},
advanced: {
whyDangerous: {
dataL10nId: "fp-certerror-expired-why-dangerous-body",
dataL10nArgs: {
date: l10nArgValues => {
const { errorInfo } = l10nArgValues;
if (!errorInfo) {
return null;
}
const isNotYetValid =
errorInfo.validNotBefore && Date.now() < errorInfo.validNotBefore;
return isNotYetValid
? errorInfo.validNotBefore
: errorInfo.validNotAfter;
},
},
},
whatCanYouDo: {
dataL10nId: "fp-certerror-expired-what-can-you-do-body",
dataL10nArgs: { date: null },
},
learnMore: {
dataL10nId: "fp-learn-more-about-time-related-errors",
supportPage: "time-errors",
},
showViewCertificate: true,
showDateTime: true,
},
hasNoUserFix: false,
checkClockSkew: true,
},
{
id: "SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE",
errorCode: "SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-expired-into",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: true,
},
advanced: {
whyDangerous: {
dataL10nId: "fp-certerror-expired-why-dangerous-body",
dataL10nArgs: {
date: l10nArgValues => l10nArgValues.errorInfo.validNotAfter,
},
},
whatCanYouDo: {
dataL10nId: "fp-certerror-expired-what-can-you-do-body",
dataL10nArgs: { date: null },
},
learnMore: {
dataL10nId: "fp-learn-more-about-time-related-errors",
supportPage: "time-errors",
},
showViewCertificate: true,
showDateTime: true,
},
hasNoUserFix: false,
},
{
id: "SEC_ERROR_REVOKED_CERTIFICATE",
errorCode: "SEC_ERROR_REVOKED_CERTIFICATE",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: false,
},
advanced: {
whyDangerous: {
dataL10nId: "fp-certerror-revoked-why-dangerous-body",
dataL10nArgs: { hostname: null },
},
whatCanYouDo: {
dataL10nId: "fp-certerror-revoked-what-can-you-do-body",
},
learnMore: {
dataL10nId: "fp-learn-more-about-cert-issues",
supportPage: "connection-not-secure",
},
showViewCertificate: true,
},
hasNoUserFix: true,
},
// NSS errors with no user fix - these use the error code as the l10n ID
{
id: "SEC_ERROR_BAD_DER",
errorCode: "SEC_ERROR_BAD_DER",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: false,
},
advanced: {
titleL10nId: "fp-certerror-body-title",
whyDangerous: {
dataL10nId: "sec-error-bad-der",
},
},
hasNoUserFix: true,
},
{
id: "SEC_ERROR_BAD_SIGNATURE",
errorCode: "SEC_ERROR_BAD_SIGNATURE",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: false,
},
advanced: {
titleL10nId: "fp-certerror-body-title",
whyDangerous: {
dataL10nId: "sec-error-bad-signature",
},
},
hasNoUserFix: true,
},
{
id: "SEC_ERROR_CERT_NOT_IN_NAME_SPACE",
errorCode: "SEC_ERROR_CERT_NOT_IN_NAME_SPACE",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: false,
},
advanced: {
titleL10nId: "fp-certerror-body-title",
whyDangerous: {
dataL10nId: "sec-error-cert-not-in-name-space",
},
},
hasNoUserFix: true,
},
{
id: "SEC_ERROR_EXTENSION_VALUE_INVALID",
errorCode: "SEC_ERROR_EXTENSION_VALUE_INVALID",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: false,
},
advanced: {
titleL10nId: "fp-certerror-body-title",
whyDangerous: {
dataL10nId: "sec-error-extension-value-invalid",
},
},
hasNoUserFix: true,
},
{
id: "SEC_ERROR_INADEQUATE_CERT_TYPE",
errorCode: "SEC_ERROR_INADEQUATE_CERT_TYPE",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: false,
},
advanced: {
titleL10nId: "fp-certerror-body-title",
whyDangerous: {
dataL10nId: "sec-error-inadequate-cert-type",
},
},
hasNoUserFix: true,
},
{
id: "SEC_ERROR_INADEQUATE_KEY_USAGE",
errorCode: "SEC_ERROR_INADEQUATE_KEY_USAGE",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: false,
},
advanced: {
titleL10nId: "fp-certerror-body-title",
whyDangerous: {
dataL10nId: "sec-error-inadequate-key-usage",
},
},
hasNoUserFix: true,
},
{
id: "SEC_ERROR_INVALID_KEY",
errorCode: "SEC_ERROR_INVALID_KEY",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: false,
},
advanced: {
titleL10nId: "fp-certerror-body-title",
whyDangerous: {
dataL10nId: "sec-error-invalid-key",
},
},
hasNoUserFix: true,
},
{
id: "SEC_ERROR_PATH_LEN_CONSTRAINT_INVALID",
errorCode: "SEC_ERROR_PATH_LEN_CONSTRAINT_INVALID",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: false,
},
advanced: {
titleL10nId: "fp-certerror-body-title",
whyDangerous: {
dataL10nId: "sec-error-path-len-constraint-invalid",
},
},
hasNoUserFix: true,
},
{
id: "SEC_ERROR_UNKNOWN_CRITICAL_EXTENSION",
errorCode: "SEC_ERROR_UNKNOWN_CRITICAL_EXTENSION",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: false,
},
advanced: {
titleL10nId: "fp-certerror-body-title",
whyDangerous: {
dataL10nId: "sec-error-unknown-critical-extension",
},
},
hasNoUserFix: true,
},
{
id: "SEC_ERROR_UNSUPPORTED_EC_POINT_FORM",
errorCode: "SEC_ERROR_UNSUPPORTED_EC_POINT_FORM",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: false,
},
advanced: {
titleL10nId: "fp-certerror-body-title",
whyDangerous: {
dataL10nId: "sec-error-unsupported-ec-point-form",
},
},
hasNoUserFix: true,
},
{
id: "SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE",
errorCode: "SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: false,
},
advanced: {
titleL10nId: "fp-certerror-body-title",
whyDangerous: {
dataL10nId: "sec-error-unsupported-elliptic-curve",
},
},
hasNoUserFix: true,
},
{
id: "SEC_ERROR_UNSUPPORTED_KEYALG",
errorCode: "SEC_ERROR_UNSUPPORTED_KEYALG",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: false,
},
advanced: {
titleL10nId: "fp-certerror-body-title",
whyDangerous: {
dataL10nId: "sec-error-unsupported-keyalg",
},
},
hasNoUserFix: true,
},
{
id: "SEC_ERROR_UNTRUSTED_CERT",
errorCode: "SEC_ERROR_UNTRUSTED_CERT",
category: "cert",
pageTitleL10nId: "certerror-page-title",
bodyTitleL10nId: "nssBadCert-title",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: false,
},
advanced: {
titleL10nId: "fp-certerror-body-title",
whyDangerous: {
dataL10nId: "sec-error-untrusted-cert",
},
},
hasNoUserFix: true,
},
{
id: "SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED",
errorCode: "SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED",
category: "cert",
introContent: {
dataL10nId: "fp-certerror-intro",
dataL10nArgs: { hostname: null },
},
buttons: {
showTryAgain: false,
showGoBack: true,
showAdvanced: true,
showAddException: true,
},
advanced: {
whyDangerous: {
dataL10nId: "cert-error-trust-signature-algorithm-disabled",
},
whatCanYouDo: {
dataL10nId: "fp-certerror-revoked-what-can-you-do-body",
},
learnMore: {
dataL10nId: "fp-learn-more-about-secure-connection-failures",
supportPage: "connection-not-secure",
},
showViewCertificate: true,
},
hasNoUserFix: false,
},
];