bug 1147497 - Add API for querying site pin status. Disallow overrides for sites that have pins. r=mmc r=smaug r=cykesiopka r=past
authorDavid Keeler <dkeeler@mozilla.com>
Wed, 25 Mar 2015 11:04:49 -0700
changeset 239618 98059179549d4e550a0593d5af1977d43160e743
parent 239617 8d314c9da98fe7a0525c88541fb2329bd7d14360
child 239619 3ce00eb663858bcd30826f9a8c59adc3a88fdbeb
push id12444
push userryanvm@gmail.com
push dateFri, 17 Apr 2015 20:04:42 +0000
treeherderfx-team@560a202db924 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmmc, smaug, cykesiopka, past
bugs1147497
milestone40.0a1
bug 1147497 - Add API for querying site pin status. Disallow overrides for sites that have pins. r=mmc r=smaug r=cykesiopka r=past
docshell/base/nsDocShell.cpp
security/certverifier/CertVerifier.cpp
security/manager/boot/src/PublicKeyPinningService.cpp
security/manager/boot/src/PublicKeyPinningService.h
security/manager/boot/src/nsSiteSecurityService.cpp
security/manager/ssl/src/SSLServerCertVerification.cpp
security/manager/ssl/tests/unit/head_psm.js
security/manager/ssl/tests/unit/test_cert_overrides.js
security/manager/ssl/tests/unit/test_pinning.js
security/manager/ssl/tests/unit/tlsserver/cert9.db
security/manager/ssl/tests/unit/tlsserver/cmd/BadCertServer.cpp
security/manager/ssl/tests/unit/tlsserver/generate_certs.sh
security/manager/ssl/tests/unit/tlsserver/key4.db
security/manager/ssl/tests/unit/tlsserver/unknown-issuer.der
toolkit/devtools/webconsole/test/unit/test_security-info-static-hpkp.js
--- a/docshell/base/nsDocShell.cpp
+++ b/docshell/base/nsDocShell.cpp
@@ -5018,46 +5018,59 @@ nsDocShell::DisplayLoadError(nsresult aE
       if (nsserr) {
         nsserr->GetErrorMessage(aError, messageStr);
       }
     }
     if (!messageStr.IsEmpty()) {
       if (errorClass == nsINSSErrorsService::ERROR_CLASS_BAD_CERT) {
         error.AssignLiteral("nssBadCert");
 
-        // if this is a Strict-Transport-Security host and the cert
-        // is bad, don't allow overrides (STS Spec section 7.3).
-        uint32_t type = nsISiteSecurityService::HEADER_HSTS;
+        // If this is an HTTP Strict Transport Security host or a pinned host
+        // and the certificate is bad, don't allow overrides (RFC 6797 section
+        // 12.1, HPKP draft spec section 2.6).
         uint32_t flags =
           mInPrivateBrowsing ? nsISocketProvider::NO_PERMANENT_STORAGE : 0;
         bool isStsHost = false;
+        bool isPinnedHost = false;
         if (XRE_GetProcessType() == GeckoProcessType_Default) {
           nsCOMPtr<nsISiteSecurityService> sss =
             do_GetService(NS_SSSERVICE_CONTRACTID, &rv);
           NS_ENSURE_SUCCESS(rv, rv);
-          rv = sss->IsSecureURI(type, aURI, flags, &isStsHost);
+          rv = sss->IsSecureURI(nsISiteSecurityService::HEADER_HSTS, aURI,
+                                flags, &isStsHost);
+          NS_ENSURE_SUCCESS(rv, rv);
+          rv = sss->IsSecureURI(nsISiteSecurityService::HEADER_HPKP, aURI,
+                                flags, &isPinnedHost);
           NS_ENSURE_SUCCESS(rv, rv);
         } else {
           mozilla::dom::ContentChild* cc =
             mozilla::dom::ContentChild::GetSingleton();
           mozilla::ipc::URIParams uri;
           SerializeURI(aURI, uri);
-          cc->SendIsSecureURI(type, uri, flags, &isStsHost);
+          cc->SendIsSecureURI(nsISiteSecurityService::HEADER_HSTS, uri, flags,
+                              &isStsHost);
+          cc->SendIsSecureURI(nsISiteSecurityService::HEADER_HPKP, uri, flags,
+                              &isPinnedHost);
         }
 
         if (Preferences::GetBool(
               "browser.xul.error_pages.expert_bad_cert", false)) {
           cssClass.AssignLiteral("expertBadCert");
         }
 
-        // HSTS takes precedence over the expert bad cert pref. We
-        // never want to show the "Add Exception" button for HSTS sites.
+        // HSTS/pinning takes precedence over the expert bad cert pref. We
+        // never want to show the "Add Exception" button for these sites.
+        // In the future we should differentiate between an HSTS host and a
+        // pinned host and display a more informative message to the user.
+        if (isStsHost || isPinnedHost) {
+          cssClass.AssignLiteral("badStsCert");
+        }
+
         uint32_t bucketId;
         if (isStsHost) {
-          cssClass.AssignLiteral("badStsCert");
           // measuring STS separately allows us to measure click through
           // rates easily
           bucketId = nsISecurityUITelemetry::WARNING_BAD_CERT_TOP_STS;
         } else {
           bucketId = nsISecurityUITelemetry::WARNING_BAD_CERT_TOP;
         }
 
         // See if an alternate cert error page is registered
--- a/security/certverifier/CertVerifier.cpp
+++ b/security/certverifier/CertVerifier.cpp
@@ -109,22 +109,30 @@ CertListContainsExpectedKeys(const CERTC
   // If desired, the user can enable "allow user CA MITM mode", in which
   // case key pinning is not enforced for certificates that chain to trust
   // anchors that are not in Mozilla's root program
   if (!isBuiltInRoot && pinningMode == CertVerifier::pinningAllowUserCAMITM) {
     return Success;
   }
 
   bool enforceTestMode = (pinningMode == CertVerifier::pinningEnforceTestMode);
-  if (PublicKeyPinningService::ChainHasValidPins(certList, hostname, time,
-                                                 enforceTestMode)) {
-    return Success;
+  bool chainHasValidPins;
+  nsresult rv = PublicKeyPinningService::ChainHasValidPins(certList,
+                                                           hostname,
+                                                           time,
+                                                           enforceTestMode,
+                                                           chainHasValidPins);
+  if (NS_FAILED(rv)) {
+    return Result::FATAL_ERROR_LIBRARY_FAILURE;
+  }
+  if (!chainHasValidPins) {
+    return Result::ERROR_KEY_PINNING_FAILURE;
   }
 
-  return Result::ERROR_KEY_PINNING_FAILURE;
+  return Success;
 }
 
 static Result
 BuildCertChainForOneKeyUsage(NSSCertDBTrustDomain& trustDomain, Input certDER,
                              Time time, KeyUsage ku1, KeyUsage ku2,
                              KeyUsage ku3, KeyPurposeId eku,
                              const CertPolicyId& requiredPolicy,
                              const Input* stapledOCSPResponse,
@@ -443,37 +451,16 @@ CertVerifier::VerifyCert(CERTCertificate
       break;
     }
 
     default:
       rv = Result::FATAL_ERROR_INVALID_ARGS;
   }
 
   if (rv != Success) {
-    if (rv != Result::ERROR_KEY_PINNING_FAILURE &&
-        usage == certificateUsageSSLServer) {
-      ScopedCERTCertificate certCopy(CERT_DupCertificate(cert));
-      if (!certCopy) {
-        return SECFailure;
-      }
-      ScopedCERTCertList certList(CERT_NewCertList());
-      if (!certList) {
-        return SECFailure;
-      }
-      SECStatus srv = CERT_AddCertToListTail(certList.get(), certCopy.get());
-      if (srv != SECSuccess) {
-        return SECFailure;
-      }
-      certCopy.forget(); // now owned by certList
-      Result pinningResult = CertListContainsExpectedKeys(certList, hostname,
-                                                          time, mPinningMode);
-      if (pinningResult != Success) {
-        rv = pinningResult;
-      }
-    }
     PR_SetError(MapResultToPRErrorCode(rv), 0);
     return SECFailure;
   }
 
   return SECSuccess;
 }
 
 SECStatus
--- a/security/manager/boot/src/PublicKeyPinningService.cpp
+++ b/security/manager/boot/src/PublicKeyPinningService.cpp
@@ -29,172 +29,191 @@ using namespace mozilla::psm;
 PRLogModuleInfo* gPublicKeyPinningLog =
   PR_NewLogModule("PublicKeyPinningService");
 #endif
 
 /**
  Computes in the location specified by base64Out the SHA256 digest
  of the DER Encoded subject Public Key Info for the given cert
 */
-static SECStatus
+static nsresult
 GetBase64HashSPKI(const CERTCertificate* cert, SECOidTag hashType,
                   nsACString& hashSPKIDigest)
 {
   hashSPKIDigest.Truncate();
   Digest digest;
   nsresult rv = digest.DigestBuf(hashType, cert->derPublicKey.data,
                                  cert->derPublicKey.len);
-  if (NS_WARN_IF(NS_FAILED(rv))) {
-    return SECFailure;
+  if (NS_FAILED(rv)) {
+    return rv;
   }
-  rv = Base64Encode(nsDependentCSubstring(
-                      reinterpret_cast<const char*>(digest.get().data),
-                      digest.get().len),
+  return Base64Encode(nsDependentCSubstring(
+                        reinterpret_cast<const char*>(digest.get().data),
+                        digest.get().len),
                       hashSPKIDigest);
-  if (NS_WARN_IF(NS_FAILED(rv))) {
-    return SECFailure;
-  }
-  return SECSuccess;
 }
 
 /*
  * Returns true if a given cert matches any hashType fingerprints from the
  * given pinset or the dynamicFingeprints array, false otherwise.
  */
-static bool
+static nsresult
 EvalCertWithHashType(const CERTCertificate* cert, SECOidTag hashType,
                      const StaticFingerprints* fingerprints,
-                     const nsTArray<nsCString>* dynamicFingerprints)
+                     const nsTArray<nsCString>* dynamicFingerprints,
+             /*out*/ bool& certMatchesPinset)
 {
+  certMatchesPinset = false;
   if (!fingerprints && !dynamicFingerprints) {
     PR_LOG(gPublicKeyPinningLog, PR_LOG_DEBUG,
            ("pkpin: No hashes found for hash type: %d\n", hashType));
-    return false;
+    return NS_ERROR_INVALID_ARG;
   }
 
   nsAutoCString base64Out;
-  SECStatus srv = GetBase64HashSPKI(cert, hashType, base64Out);
-  if (srv != SECSuccess) {
+  nsresult rv = GetBase64HashSPKI(cert, hashType, base64Out);
+  if (NS_FAILED(rv)) {
     PR_LOG(gPublicKeyPinningLog, PR_LOG_DEBUG,
            ("pkpin: GetBase64HashSPKI failed!\n"));
-    return false;
+    return rv;
   }
 
   if (fingerprints) {
     for (size_t i = 0; i < fingerprints->size; i++) {
       if (base64Out.Equals(fingerprints->data[i])) {
         PR_LOG(gPublicKeyPinningLog, PR_LOG_DEBUG,
                ("pkpin: found pin base_64 ='%s'\n", base64Out.get()));
-       return true;
+        certMatchesPinset = true;
+        return NS_OK;
       }
     }
   }
   if (dynamicFingerprints) {
     for (size_t i = 0; i < dynamicFingerprints->Length(); i++) {
       if (base64Out.Equals((*dynamicFingerprints)[i])) {
         PR_LOG(gPublicKeyPinningLog, PR_LOG_DEBUG,
                ("pkpin: found pin base_64 ='%s'\n", base64Out.get()));
-        return true;
+        certMatchesPinset = true;
+        return NS_OK;
       }
     }
   }
-  return false;
+  return NS_OK;
 }
 
 /*
  * Returns true if a given chain matches any hashType fingerprints from the
  * given pinset or the dynamicFingerprints array, false otherwise.
  */
-static bool
+static nsresult
 EvalChainWithHashType(const CERTCertList* certList, SECOidTag hashType,
                       const StaticPinset* pinset,
-                      const nsTArray<nsCString>* dynamicFingerprints)
+                      const nsTArray<nsCString>* dynamicFingerprints,
+              /*out*/ bool& certListIntersectsPinset)
 {
+  certListIntersectsPinset = false;
   CERTCertificate* currentCert;
 
   const StaticFingerprints* fingerprints = nullptr;
   if (pinset) {
     if (hashType == SEC_OID_SHA256) {
       fingerprints = pinset->sha256;
     } else if (hashType == SEC_OID_SHA1) {
       fingerprints = pinset->sha1;
     }
   }
+  // This can happen if dynamicFingerprints is null and the static pinset
+  // doesn't have any pins of this hash type.
   if (!fingerprints && !dynamicFingerprints) {
-    return false;
+    return NS_OK;
   }
 
   CERTCertListNode* node;
   for (node = CERT_LIST_HEAD(certList); !CERT_LIST_END(node, certList);
        node = CERT_LIST_NEXT(node)) {
     currentCert = node->cert;
     PR_LOG(gPublicKeyPinningLog, PR_LOG_DEBUG,
            ("pkpin: certArray subject: '%s'\n", currentCert->subjectName));
     PR_LOG(gPublicKeyPinningLog, PR_LOG_DEBUG,
            ("pkpin: certArray issuer: '%s'\n", currentCert->issuerName));
-    if (EvalCertWithHashType(currentCert, hashType, fingerprints,
-                             dynamicFingerprints)) {
-      return true;
+    nsresult rv = EvalCertWithHashType(currentCert, hashType, fingerprints,
+                                       dynamicFingerprints,
+                                       certListIntersectsPinset);
+    if (NS_FAILED(rv)) {
+      return rv;
+    }
+    if (certListIntersectsPinset) {
+      return NS_OK;
     }
   }
   PR_LOG(gPublicKeyPinningLog, PR_LOG_DEBUG, ("pkpin: no matches found\n"));
-  return false;
+  return NS_OK;
 }
 
 /**
  * Given a pinset and certlist, return true if one of the certificates on
  * the list matches a fingerprint in the pinset, false otherwise.
  */
-static bool
+static nsresult
 EvalChainWithPinset(const CERTCertList* certList,
-                    const StaticPinset* pinset) {
+                    const StaticPinset* pinset,
+            /*out*/ bool& certListIntersectsPinset)
+{
+  certListIntersectsPinset = false;
   // SHA256 is more trustworthy, try that first.
-  if (EvalChainWithHashType(certList, SEC_OID_SHA256, pinset, nullptr)) {
-    return true;
+  nsresult rv = EvalChainWithHashType(certList, SEC_OID_SHA256, pinset,
+                                      nullptr, certListIntersectsPinset);
+  if (NS_FAILED(rv)) {
+    return rv;
   }
-  return EvalChainWithHashType(certList, SEC_OID_SHA1, pinset, nullptr);
+  if (certListIntersectsPinset) {
+    return NS_OK;
+  }
+  return EvalChainWithHashType(certList, SEC_OID_SHA1, pinset, nullptr,
+                               certListIntersectsPinset);
 }
 
 /**
   Comparator for the is public key pinned host.
 */
 static int
 TransportSecurityPreloadCompare(const void *key, const void *entry) {
   const char *keyStr = reinterpret_cast<const char *>(key);
   const TransportSecurityPreload *preloadEntry =
     reinterpret_cast<const TransportSecurityPreload *>(entry);
 
   return strcmp(keyStr, preloadEntry->mHost);
 }
 
-bool
+nsresult
 PublicKeyPinningService::ChainMatchesPinset(const CERTCertList* certList,
-                                            const nsTArray<nsCString>& aSHA256keys)
+                                            const nsTArray<nsCString>& aSHA256keys,
+                                    /*out*/ bool& chainMatchesPinset)
 {
-  return EvalChainWithHashType(certList, SEC_OID_SHA256, nullptr, &aSHA256keys);
+  return EvalChainWithHashType(certList, SEC_OID_SHA256, nullptr, &aSHA256keys,
+                               chainMatchesPinset);
 }
 
-/**
- * Check PKPins on the given certlist against the specified hostname
- */
-static bool
-CheckPinsForHostname(const CERTCertList *certList, const char *hostname,
-                     bool enforceTestMode, mozilla::pkix::Time time)
+// Returns via one of the output parameters the most relevant pinning
+// information that is valid for the given host at the given time.
+// Dynamic pins are prioritized over static pins.
+static nsresult
+FindPinningInformation(const char* hostname, mozilla::pkix::Time time,
+               /*out*/ nsTArray<nsCString>& dynamicFingerprints,
+               /*out*/ TransportSecurityPreload*& staticFingerprints)
 {
-  if (!certList) {
-    return false;
+  if (!hostname || hostname[0] == 0) {
+    return NS_ERROR_INVALID_ARG;
   }
-  if (!hostname || hostname[0] == 0) {
-    return false;
-  }
-
+  staticFingerprints = nullptr;
+  dynamicFingerprints.Clear();
   nsCOMPtr<nsISiteSecurityService> sssService =
     do_GetService(NS_SSSERVICE_CONTRACTID);
   if (!sssService) {
-    return false;
+    return NS_ERROR_FAILURE;
   }
   SiteHPKPState dynamicEntry;
   TransportSecurityPreload *foundEntry = nullptr;
   char *evalHost = const_cast<char*>(hostname);
   char *evalPart;
   // Notice how the (xx = strchr) prevents pins for unqualified domain names.
   while (!foundEntry && (evalPart = strchr(evalHost, '.'))) {
     PR_LOG(gPublicKeyPinningLog, PR_LOG_DEBUG,
@@ -202,23 +221,23 @@ CheckPinsForHostname(const CERTCertList 
     // Attempt dynamic pins first
     nsresult rv;
     bool found;
     bool includeSubdomains;
     nsTArray<nsCString> pinArray;
     rv = sssService->GetKeyPinsForHostname(evalHost, time, pinArray,
                                            &includeSubdomains, &found);
     if (NS_FAILED(rv)) {
-      return false;
+      return rv;
     }
     if (found && (evalHost == hostname || includeSubdomains)) {
       PR_LOG(gPublicKeyPinningLog, PR_LOG_DEBUG,
              ("pkpin: Found dyn match for host: '%s'\n", evalHost));
-      return EvalChainWithHashType(certList, SEC_OID_SHA256, nullptr,
-                                   &pinArray);
+      dynamicFingerprints = pinArray;
+      return NS_OK;
     }
 
     foundEntry = (TransportSecurityPreload *)bsearch(evalHost,
       kPublicKeyPinningPreloadList,
       sizeof(kPublicKeyPinningPreloadList) / sizeof(TransportSecurityPreload),
       sizeof(TransportSecurityPreload),
       TransportSecurityPreloadCompare);
     if (foundEntry) {
@@ -236,93 +255,137 @@ CheckPinsForHostname(const CERTCertList 
     }
     // Add one for '.'
     evalHost = evalPart + 1;
   }
 
   if (foundEntry && foundEntry->pinset) {
     if (time > TimeFromEpochInSeconds(kPreloadPKPinsExpirationTime /
                                       PR_USEC_PER_SEC)) {
-      return true;
+      return NS_OK;
     }
-    bool result = EvalChainWithPinset(certList, foundEntry->pinset);
-    bool retval = result;
-    Telemetry::ID histogram = foundEntry->mIsMoz
+    staticFingerprints = foundEntry;
+  }
+  return NS_OK;
+}
+
+// Returns true via the output parameter if the given certificate list meets
+// pinning requirements for the given host at the given time. It must be the
+// case that either there is an intersection between the set of hashes of
+// subject public key info data in the list and the most relevant non-expired
+// pinset for the host or there is no pinning information for the host.
+static nsresult
+CheckPinsForHostname(const CERTCertList* certList, const char* hostname,
+                     bool enforceTestMode, mozilla::pkix::Time time,
+             /*out*/ bool& chainHasValidPins)
+{
+  chainHasValidPins = false;
+  if (!certList) {
+    return NS_ERROR_INVALID_ARG;
+  }
+  if (!hostname || hostname[0] == 0) {
+    return NS_ERROR_INVALID_ARG;
+  }
+
+  nsTArray<nsCString> dynamicFingerprints;
+  TransportSecurityPreload* staticFingerprints = nullptr;
+  nsresult rv = FindPinningInformation(hostname, time, dynamicFingerprints,
+                                       staticFingerprints);
+  // If we have no pinning information, the certificate chain trivially
+  // validates with respect to pinning.
+  if (dynamicFingerprints.Length() == 0 && !staticFingerprints) {
+    chainHasValidPins = true;
+    return NS_OK;
+  }
+  if (dynamicFingerprints.Length() > 0) {
+    return EvalChainWithHashType(certList, SEC_OID_SHA256, nullptr,
+                                 &dynamicFingerprints, chainHasValidPins);
+  }
+  if (staticFingerprints) {
+    bool enforceTestModeResult;
+    rv = EvalChainWithPinset(certList, staticFingerprints->pinset,
+                             enforceTestModeResult);
+    if (NS_FAILED(rv)) {
+      return rv;
+    }
+    chainHasValidPins = enforceTestModeResult;
+    Telemetry::ID histogram = staticFingerprints->mIsMoz
       ? Telemetry::CERT_PINNING_MOZ_RESULTS
       : Telemetry::CERT_PINNING_RESULTS;
-    if (foundEntry->mTestMode) {
-      histogram = foundEntry->mIsMoz
+    if (staticFingerprints->mTestMode) {
+      histogram = staticFingerprints->mIsMoz
         ? Telemetry::CERT_PINNING_MOZ_TEST_RESULTS
         : Telemetry::CERT_PINNING_TEST_RESULTS;
       if (!enforceTestMode) {
-        retval = true;
+        chainHasValidPins = true;
       }
     }
     // We can collect per-host pinning violations for this host because it is
     // operationally critical to Firefox.
-    if (foundEntry->mId != kUnknownId) {
-      int32_t bucket = foundEntry->mId * 2 + (result ? 1 : 0);
-      histogram = foundEntry->mTestMode
+    if (staticFingerprints->mId != kUnknownId) {
+      int32_t bucket = staticFingerprints->mId * 2 + (enforceTestModeResult ? 1 : 0);
+      histogram = staticFingerprints->mTestMode
         ? Telemetry::CERT_PINNING_MOZ_TEST_RESULTS_BY_HOST
         : Telemetry::CERT_PINNING_MOZ_RESULTS_BY_HOST;
       Telemetry::Accumulate(histogram, bucket);
     } else {
-      Telemetry::Accumulate(histogram, result ? 1 : 0);
+      Telemetry::Accumulate(histogram, enforceTestModeResult ? 1 : 0);
     }
 
     // We only collect per-CA pinning statistics upon failures.
     CERTCertListNode* rootNode = CERT_LIST_TAIL(certList);
     // Only log telemetry if the certificate list is non-empty.
     if (!CERT_LIST_END(rootNode, certList)) {
-      if (!result) {
+      if (!enforceTestModeResult) {
         AccumulateTelemetryForRootCA(Telemetry::CERT_PINNING_FAILURES_BY_CA, rootNode->cert);
       }
     }
 
     PR_LOG(gPublicKeyPinningLog, PR_LOG_DEBUG,
            ("pkpin: Pin check %s for %s host '%s' (mode=%s)\n",
-            result ? "passed" : "failed",
-            foundEntry->mIsMoz ? "mozilla" : "non-mozilla",
-            hostname, foundEntry->mTestMode ? "test" : "production"));
-    return retval;
+            enforceTestModeResult ? "passed" : "failed",
+            staticFingerprints->mIsMoz ? "mozilla" : "non-mozilla",
+            hostname, staticFingerprints->mTestMode ? "test" : "production"));
   }
-  return true; // No pinning information for this hostname
+
+  return NS_OK;
 }
 
 /**
  * Extract all the DNS names for a host (including CN) and evaluate the
  * certifiate pins against all of them (Currently is an OR so we stop
  * evaluating at the first OK pin).
  */
-static bool
+static nsresult
 CheckChainAgainstAllNames(const CERTCertList* certList, bool enforceTestMode,
-                          mozilla::pkix::Time time)
+                          mozilla::pkix::Time time,
+                  /*out*/ bool& chainHasValidPins)
 {
+  chainHasValidPins = false;
   PR_LOG(gPublicKeyPinningLog, PR_LOG_DEBUG,
          ("pkpin: top of checkChainAgainstAllNames"));
   CERTCertListNode* node = CERT_LIST_HEAD(certList);
   if (!node) {
-    return false;
+    return NS_ERROR_INVALID_ARG;
   }
   CERTCertificate* cert = node->cert;
   if (!cert) {
-    return false;
+    return NS_ERROR_INVALID_ARG;
   }
 
   ScopedPLArenaPool arena(PORT_NewArena(DER_DEFAULT_CHUNKSIZE));
   if (!arena) {
-    return false;
+    return NS_ERROR_FAILURE;
   }
 
-  bool hasValidPins = false;
   CERTGeneralName* nameList;
   CERTGeneralName* currentName;
   nameList = CERT_GetConstrainedCertificateNames(cert, arena.get(), PR_TRUE);
   if (!nameList) {
-    return false;
+    return NS_ERROR_FAILURE;
   }
 
   currentName = nameList;
   do {
     if (currentName->type == certDNSName
         && currentName->name.other.data[0] != 0) {
       // no need to cleaup, as the arena cleanup will do
       char *hostName = (char *)PORT_ArenaAlloc(arena.get(),
@@ -334,42 +397,75 @@ CheckChainAgainstAllNames(const CERTCert
       // null terminated.
       hostName[currentName->name.other.len] = 0;
       memcpy(hostName, currentName->name.other.data,
              currentName->name.other.len);
       if (!hostName[0]) {
         // cannot call CheckPinsForHostname on empty or null hostname
         break;
       }
-      if (CheckPinsForHostname(certList, hostName, enforceTestMode, time)) {
-        hasValidPins = true;
-        break;
+      nsAutoCString canonicalizedHostname(
+        PublicKeyPinningService::CanonicalizeHostname(hostName));
+      nsresult rv = CheckPinsForHostname(certList, canonicalizedHostname.get(),
+                                         enforceTestMode, time,
+                                         chainHasValidPins);
+      if (NS_FAILED(rv)) {
+        return rv;
+      }
+      if (chainHasValidPins) {
+        return NS_OK;
       }
     }
     currentName = CERT_GetNextGeneralName(currentName);
   } while (currentName != nameList);
 
-  return hasValidPins;
+  return NS_OK;
 }
 
-bool
+nsresult
 PublicKeyPinningService::ChainHasValidPins(const CERTCertList* certList,
                                            const char* hostname,
                                            mozilla::pkix::Time time,
-                                           bool enforceTestMode)
+                                           bool enforceTestMode,
+                                   /*out*/ bool& chainHasValidPins)
 {
+  chainHasValidPins = false;
   if (!certList) {
-    return false;
+    return NS_ERROR_INVALID_ARG;
   }
   if (!hostname || hostname[0] == 0) {
-    return CheckChainAgainstAllNames(certList, enforceTestMode, time);
+    return CheckChainAgainstAllNames(certList, enforceTestMode, time,
+                                     chainHasValidPins);
   }
   nsAutoCString canonicalizedHostname(CanonicalizeHostname(hostname));
   return CheckPinsForHostname(certList, canonicalizedHostname.get(),
-                              enforceTestMode, time);
+                              enforceTestMode, time, chainHasValidPins);
+}
+
+nsresult
+PublicKeyPinningService::HostHasPins(const char* hostname,
+                                     mozilla::pkix::Time time,
+                                     bool enforceTestMode,
+                                     /*out*/ bool& hostHasPins)
+{
+  hostHasPins = false;
+  nsAutoCString canonicalizedHostname(CanonicalizeHostname(hostname));
+  nsTArray<nsCString> dynamicFingerprints;
+  TransportSecurityPreload* staticFingerprints = nullptr;
+  nsresult rv = FindPinningInformation(canonicalizedHostname.get(), time,
+                                       dynamicFingerprints, staticFingerprints);
+  if (NS_FAILED(rv)) {
+    return rv;
+  }
+  if (dynamicFingerprints.Length() > 0) {
+    hostHasPins = true;
+  } else if (staticFingerprints) {
+    hostHasPins = !staticFingerprints->mTestMode || enforceTestMode;
+  }
+  return NS_OK;
 }
 
 nsAutoCString
 PublicKeyPinningService::CanonicalizeHostname(const char* hostname)
 {
   nsAutoCString canonicalizedHostname(hostname);
   ToLowerCase(canonicalizedHostname);
   while (canonicalizedHostname.Length() > 0 &&
--- a/security/manager/boot/src/PublicKeyPinningService.h
+++ b/security/manager/boot/src/PublicKeyPinningService.h
@@ -22,27 +22,39 @@ public:
    * the given certificate chain matches the pin set specified by the
    * hostname. If the hostname is null or empty evaluate against all the
    * possible names for the EE cert (Common Name (CN) plus all DNS Name:
    * subject Alt Name entries). The certList's head is the EE cert and the
    * tail is the trust anchor.
    * Note: if an alt name is a wildcard, it won't necessarily find a pinset
    * that would otherwise be valid for it
    */
-  static bool ChainHasValidPins(const CERTCertList* certList,
-                                const char* hostname,
-                                mozilla::pkix::Time time,
-                                bool enforceTestMode);
+  static nsresult ChainHasValidPins(const CERTCertList* certList,
+                                    const char* hostname,
+                                    mozilla::pkix::Time time,
+                                    bool enforceTestMode,
+                            /*out*/ bool& chainHasValidPins);
   /**
    * Returns true if there is any intersection between the certificate list
    * and the pins specified in the aSHA256key array. Values passed in are
    * assumed to be in base64 encoded form
    */
-  static bool ChainMatchesPinset(const CERTCertList* certList,
-                                 const nsTArray<nsCString>& aSHA256keys);
+  static nsresult ChainMatchesPinset(const CERTCertList* certList,
+                                     const nsTArray<nsCString>& aSHA256keys,
+                             /*out*/ bool& chainMatchesPinset);
+
+  /**
+   * Returns true via the output parameter hostHasPins if there is pinning
+   * information for the given host that is valid at the given time, and false
+   * otherwise.
+   */
+  static nsresult HostHasPins(const char* hostname,
+                              mozilla::pkix::Time time,
+                              bool enforceTestMode,
+                      /*out*/ bool& hostHasPins);
 
   /**
    * Given a hostname of potentially mixed case with potentially multiple
    * trailing '.' (see bug 1118522), canonicalizes it to lowercase with no
    * trailing '.'.
    */
   static nsAutoCString CanonicalizeHostname(const char* hostname);
 };
--- a/security/manager/boot/src/nsSiteSecurityService.cpp
+++ b/security/manager/boot/src/nsSiteSecurityService.cpp
@@ -699,31 +699,41 @@ nsSiteSecurityService::ProcessPKPHeader(
     return NS_OK;
   }
 
   // if maxAge == 0 we must delete all state, for now no hole-punching
   if (maxAge == 0) {
     return RemoveState(aType, aSourceURI, aFlags);
   }
 
-  if (!PublicKeyPinningService::ChainMatchesPinset(certList, sha256keys)) {
+  bool chainMatchesPinset;
+  rv = PublicKeyPinningService::ChainMatchesPinset(certList, sha256keys,
+                                                   chainMatchesPinset);
+  if (NS_FAILED(rv)) {
+    return rv;
+  }
+  if (!chainMatchesPinset) {
     // is invalid
     SSSLOG(("SSS: Pins provided by %s are invalid no match with certList\n", host.get()));
     return NS_ERROR_FAILURE;
   }
 
   // finally we need to ensure that there is a "backup pin" ie. There must be
   // at least one fingerprint hash that does NOT valiate against the verified
   // chain (Section 2.5 of the spec)
   bool hasBackupPin = false;
   for (uint32_t i = 0; i < sha256keys.Length(); i++) {
     nsTArray<nsCString> singlePin;
     singlePin.AppendElement(sha256keys[i]);
-    if (!PublicKeyPinningService::
-           ChainMatchesPinset(certList, singlePin)) {
+    rv = PublicKeyPinningService::ChainMatchesPinset(certList, singlePin,
+                                                     chainMatchesPinset);
+    if (NS_FAILED(rv)) {
+      return rv;
+    }
+    if (!chainMatchesPinset) {
       hasBackupPin = true;
     }
   }
   if (!hasBackupPin) {
      // is invalid
     SSSLOG(("SSS: Pins provided by %s are invalid no backupPin\n", host.get()));
     return NS_ERROR_FAILURE;
   }
@@ -793,18 +803,22 @@ nsSiteSecurityService::ProcessSTSHeader(
            ? NS_SUCCESS_LOSS_OF_INSIGNIFICANT_DATA
            : NS_OK;
 }
 
 NS_IMETHODIMP
 nsSiteSecurityService::IsSecureURI(uint32_t aType, nsIURI* aURI,
                                    uint32_t aFlags, bool* aResult)
 {
-  // Only HSTS is supported at the moment.
-  NS_ENSURE_TRUE(aType == nsISiteSecurityService::HEADER_HSTS,
+  NS_ENSURE_ARG(aURI);
+  NS_ENSURE_ARG(aResult);
+
+  // Only HSTS and HPKP are supported at the moment.
+  NS_ENSURE_TRUE(aType == nsISiteSecurityService::HEADER_HSTS ||
+                 aType == nsISiteSecurityService::HEADER_HPKP,
                  NS_ERROR_NOT_IMPLEMENTED);
 
   nsAutoCString hostname;
   nsresult rv = GetHost(aURI, hostname);
   NS_ENSURE_SUCCESS(rv, rv);
   /* An IP address never qualifies as a secure URI. */
   if (HostIsIPAddress(hostname.get())) {
     *aResult = false;
@@ -838,41 +852,45 @@ nsSiteSecurityService::GetPreloadListEnt
 
   return nullptr;
 }
 
 NS_IMETHODIMP
 nsSiteSecurityService::IsSecureHost(uint32_t aType, const char* aHost,
                                     uint32_t aFlags, bool* aResult)
 {
+  NS_ENSURE_ARG(aHost);
+  NS_ENSURE_ARG(aResult);
+
   // Only HSTS and HPKP are supported at the moment.
   NS_ENSURE_TRUE(aType == nsISiteSecurityService::HEADER_HSTS ||
                  aType == nsISiteSecurityService::HEADER_HPKP,
                  NS_ERROR_NOT_IMPLEMENTED);
 
   // set default in case if we can't find any STS information
   *aResult = false;
 
   /* An IP address never qualifies as a secure URI. */
   if (HostIsIPAddress(aHost)) {
     return NS_OK;
   }
 
   if (aType == nsISiteSecurityService::HEADER_HPKP) {
-    ScopedCERTCertList certList(CERT_NewCertList());
-    if (!certList) {
+    RefPtr<SharedCertVerifier> certVerifier(GetDefaultCertVerifier());
+    if (!certVerifier) {
       return NS_ERROR_FAILURE;
     }
-    // Todo: we need to update ChainHasValidPins to distinguish between there
-    // are no pins or there was an internal failure.
-    *aResult = !PublicKeyPinningService::ChainHasValidPins(certList,
-                                                           aHost,
-                                                           mozilla::pkix::Now(),
-                                                           false);
-    return NS_OK;
+    if (certVerifier->mPinningMode ==
+        CertVerifier::PinningMode::pinningDisabled) {
+      return NS_OK;
+    }
+    bool enforceTestMode = certVerifier->mPinningMode ==
+                           CertVerifier::PinningMode::pinningEnforceTestMode;
+    return PublicKeyPinningService::HostHasPins(aHost, mozilla::pkix::Now(),
+                                                enforceTestMode, *aResult);
   }
 
   // Holepunch chart.apis.google.com and subdomains.
   nsAutoCString host(PublicKeyPinningService::CanonicalizeHostname(aHost));
   if (host.EqualsLiteral("chart.apis.google.com") ||
       StringEndsWith(host, NS_LITERAL_CSTRING(".chart.apis.google.com"))) {
     return NS_OK;
   }
--- a/security/manager/ssl/src/SSLServerCertVerification.cpp
+++ b/security/manager/ssl/src/SSLServerCertVerification.cpp
@@ -476,36 +476,55 @@ CertErrorRunnable::CheckCertOverrides()
   mInfoObject->GetPort(&port);
 
   nsAutoCString hostWithPortString(mInfoObject->GetHostName());
   hostWithPortString.Append(':');
   hostWithPortString.AppendInt(port);
 
   uint32_t remaining_display_errors = mCollectedErrors;
 
-  nsresult nsrv;
 
-  // Enforce Strict-Transport-Security for hosts that are "STS" hosts:
-  // connections must be dropped when there are any certificate errors
-  // (STS Spec section 7.3).
+  // If this is an HTTP Strict Transport Security host or a pinned host and the
+  // certificate is bad, don't allow overrides (RFC 6797 section 12.1,
+  // HPKP draft spec section 2.6).
   bool strictTransportSecurityEnabled = false;
-  nsCOMPtr<nsISiteSecurityService> sss
-    = do_GetService(NS_SSSERVICE_CONTRACTID, &nsrv);
-  if (NS_SUCCEEDED(nsrv)) {
-    nsrv = sss->IsSecureHost(nsISiteSecurityService::HEADER_HSTS,
-                             mInfoObject->GetHostNameRaw(),
-                             mProviderFlags,
-                             &strictTransportSecurityEnabled);
+  bool hasPinningInformation = false;
+  nsCOMPtr<nsISiteSecurityService> sss(do_GetService(NS_SSSERVICE_CONTRACTID));
+  if (!sss) {
+    PR_LOG(gPIPNSSLog, PR_LOG_DEBUG,
+           ("[%p][%p] couldn't get nsISiteSecurityService to check for HSTS/HPKP\n",
+            mFdForLogging, this));
+    return new SSLServerCertVerificationResult(mInfoObject,
+                                               mDefaultErrorCodeToReport);
   }
+  nsresult nsrv = sss->IsSecureHost(nsISiteSecurityService::HEADER_HSTS,
+                                    mInfoObject->GetHostNameRaw(),
+                                    mProviderFlags,
+                                    &strictTransportSecurityEnabled);
   if (NS_FAILED(nsrv)) {
+    PR_LOG(gPIPNSSLog, PR_LOG_DEBUG,
+           ("[%p][%p] checking for HSTS failed\n", mFdForLogging, this));
+    return new SSLServerCertVerificationResult(mInfoObject,
+                                               mDefaultErrorCodeToReport);
+  }
+  nsrv = sss->IsSecureHost(nsISiteSecurityService::HEADER_HPKP,
+                           mInfoObject->GetHostNameRaw(),
+                           mProviderFlags,
+                           &hasPinningInformation);
+  if (NS_FAILED(nsrv)) {
+    PR_LOG(gPIPNSSLog, PR_LOG_DEBUG,
+           ("[%p][%p] checking for HPKP failed\n", mFdForLogging, this));
     return new SSLServerCertVerificationResult(mInfoObject,
                                                mDefaultErrorCodeToReport);
   }
 
-  if (!strictTransportSecurityEnabled) {
+  if (!strictTransportSecurityEnabled && !hasPinningInformation) {
+    PR_LOG(gPIPNSSLog, PR_LOG_DEBUG,
+           ("[%p][%p] no HSTS or HPKP - overrides allowed\n",
+            mFdForLogging, this));
     nsCOMPtr<nsICertOverrideService> overrideService =
       do_GetService(NS_CERTOVERRIDE_CONTRACTID);
     // it is fine to continue without the nsICertOverrideService
 
     uint32_t overrideBits = 0;
 
     if (overrideService)
     {
@@ -544,18 +563,18 @@ CertErrorRunnable::CheckCertOverrides()
       // all errors are covered by override rules, so let's accept the cert
       PR_LOG(gPIPNSSLog, PR_LOG_DEBUG,
              ("[%p][%p] All errors covered by override rules\n",
              mFdForLogging, this));
       return new SSLServerCertVerificationResult(mInfoObject, 0);
     }
   } else {
     PR_LOG(gPIPNSSLog, PR_LOG_DEBUG,
-           ("[%p][%p] Strict-Transport-Security is violated: untrusted "
-            "transport layer\n", mFdForLogging, this));
+           ("[%p][%p] HSTS or HPKP - no overrides allowed\n",
+            mFdForLogging, this));
   }
 
   PR_LOG(gPIPNSSLog, PR_LOG_DEBUG,
          ("[%p][%p] Certificate error was not overridden\n",
          mFdForLogging, this));
 
   // Ok, this is a full stop.
   // First, deliver the technical details of the broken SSL status.
--- a/security/manager/ssl/tests/unit/head_psm.js
+++ b/security/manager/ssl/tests/unit/head_psm.js
@@ -577,8 +577,50 @@ FakeSSLStatus.prototype = {
   QueryInterface: function(aIID) {
     if (aIID.equals(Ci.nsISSLStatus) ||
         aIID.equals(Ci.nsISupports)) {
       return this;
     }
     throw Components.results.NS_ERROR_NO_INTERFACE;
   },
 }
+
+// Utility functions for adding tests relating to certificate error overrides
+
+// Helper function for add_cert_override_test and
+// add_prevented_cert_override_test. Probably doesn't need to be called
+// directly.
+function add_cert_override(aHost, aExpectedBits, aSecurityInfo) {
+  let sslstatus = aSecurityInfo.QueryInterface(Ci.nsISSLStatusProvider)
+                               .SSLStatus;
+  let bits =
+    (sslstatus.isUntrusted ? Ci.nsICertOverrideService.ERROR_UNTRUSTED : 0) |
+    (sslstatus.isDomainMismatch ? Ci.nsICertOverrideService.ERROR_MISMATCH : 0) |
+    (sslstatus.isNotValidAtThisTime ? Ci.nsICertOverrideService.ERROR_TIME : 0);
+  do_check_eq(bits, aExpectedBits);
+  let cert = sslstatus.serverCert;
+  let certOverrideService = Cc["@mozilla.org/security/certoverride;1"]
+                              .getService(Ci.nsICertOverrideService);
+  certOverrideService.rememberValidityOverride(aHost, 8443, cert, aExpectedBits,
+                                               true);
+}
+
+// Given a host, expected error bits (see nsICertOverrideService.idl), and
+// an expected error code, tests that an initial connection to the host fails
+// with the expected errors and that adding an override results in a subsequent
+// connection succeeding.
+function add_cert_override_test(aHost, aExpectedBits, aExpectedError) {
+  add_connection_test(aHost, aExpectedError, null,
+                      add_cert_override.bind(this, aHost, aExpectedBits));
+  add_connection_test(aHost, PRErrorCodeSuccess);
+}
+
+// Given a host, expected error bits (see nsICertOverrideService.idl), and
+// an expected error code, tests that an initial connection to the host fails
+// with the expected errors and that adding an override does not result in a
+// subsequent connection succeeding (i.e. the same error code is encountered).
+// The idea here is that for HSTS hosts or hosts with key pins, no error is
+// overridable, even if an entry is added to the override service.
+function add_prevented_cert_override_test(aHost, aExpectedBits, aExpectedError) {
+  add_connection_test(aHost, aExpectedError, null,
+                      add_cert_override.bind(this, aHost, aExpectedBits));
+  add_connection_test(aHost, aExpectedError);
+}
--- a/security/manager/ssl/tests/unit/test_cert_overrides.js
+++ b/security/manager/ssl/tests/unit/test_cert_overrides.js
@@ -7,37 +7,16 @@
 // Tests the certificate overrides we allow.
 // add_cert_override_test will queue a test that does the following:
 // 1. Attempt to connect to the given host. This should fail with the
 //    given error and override bits.
 // 2. Add an override for that host/port/certificate/override bits.
 // 3. Connect again. This should succeed.
 
 do_get_profile();
-let certOverrideService = Cc["@mozilla.org/security/certoverride;1"]
-                            .getService(Ci.nsICertOverrideService);
-
-function add_cert_override(aHost, aExpectedBits, aSecurityInfo) {
-  let sslstatus = aSecurityInfo.QueryInterface(Ci.nsISSLStatusProvider)
-                               .SSLStatus;
-  let bits =
-    (sslstatus.isUntrusted ? Ci.nsICertOverrideService.ERROR_UNTRUSTED : 0) |
-    (sslstatus.isDomainMismatch ? Ci.nsICertOverrideService.ERROR_MISMATCH : 0) |
-    (sslstatus.isNotValidAtThisTime ? Ci.nsICertOverrideService.ERROR_TIME : 0);
-  do_check_eq(bits, aExpectedBits);
-  let cert = sslstatus.serverCert;
-  certOverrideService.rememberValidityOverride(aHost, 8443, cert, aExpectedBits,
-                                               true);
-}
-
-function add_cert_override_test(aHost, aExpectedBits, aExpectedError) {
-  add_connection_test(aHost, aExpectedError, null,
-                      add_cert_override.bind(this, aHost, aExpectedBits));
-  add_connection_test(aHost, PRErrorCodeSuccess);
-}
 
 function add_non_overridable_test(aHost, aExpectedError) {
   add_connection_test(
     aHost, aExpectedError, null,
     function (securityInfo) {
       // bug 754369 - no SSLStatus probably means this is a non-overridable
       // error, which is what we're testing (although it would be best to test
       // this directly).
@@ -171,16 +150,18 @@ function add_simple_tests() {
 
   // If an X.509 version 1 certificate is not a trust anchor, we will
   // encounter an overridable error.
   add_cert_override_test("end-entity-issued-by-v1-cert.example.com",
                          Ci.nsICertOverrideService.ERROR_UNTRUSTED,
                          MOZILLA_PKIX_ERROR_V1_CERT_USED_AS_CA);
   // If we make that certificate a trust anchor, the connection will succeed.
   add_test(function() {
+    let certOverrideService = Cc["@mozilla.org/security/certoverride;1"]
+                                .getService(Ci.nsICertOverrideService);
     certOverrideService.clearValidityOverride("end-entity-issued-by-v1-cert.example.com", 8443);
     let v1Cert = constructCertFromFile("tlsserver/v1Cert.der");
     setCertTrust(v1Cert, "CTu,,");
     clearSessionCache();
     run_next_test();
   });
   add_connection_test("end-entity-issued-by-v1-cert.example.com",
                       PRErrorCodeSuccess);
--- a/security/manager/ssl/tests/unit/test_pinning.js
+++ b/security/manager/ssl/tests/unit/test_pinning.js
@@ -23,30 +23,41 @@
 // - PASS: sub.exclude-subdomains.pinning.example.com serves an incorrect cert
 
 "use strict";
 
 do_get_profile(); // must be called before getting nsIX509CertDB
 const certdb = Cc["@mozilla.org/security/x509certdb;1"]
                   .getService(Ci.nsIX509CertDB);
 
+function add_clear_override(host) {
+  add_test(function() {
+    let certOverrideService = Cc["@mozilla.org/security/certoverride;1"]
+                                .getService(Ci.nsICertOverrideService);
+    certOverrideService.clearValidityOverride(host, 8443);
+    run_next_test();
+  });
+}
+
 function test_strict() {
   // In strict mode, we always evaluate pinning data, regardless of whether the
   // issuer is a built-in trust anchor. We only enforce pins that are not in
   // test mode.
   add_test(function() {
     Services.prefs.setIntPref("security.cert_pinning.enforcement_level", 2);
     run_next_test();
   });
 
-  // If a host should be pinned but other errors (particularly overridable
-  // errors) like 'unknown issuer' are encountered, the pinning error takes
-  // precedence. This prevents overrides for such hosts.
-  add_connection_test("unknownissuer.include-subdomains.pinning.example.com",
-                      MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE);
+  // Normally this is overridable. But, since we have pinning information for
+  // this host, we don't allow overrides.
+  add_prevented_cert_override_test(
+    "unknownissuer.include-subdomains.pinning.example.com",
+    Ci.nsICertOverrideService.ERROR_UNTRUSTED,
+    SEC_ERROR_UNKNOWN_ISSUER);
+  add_clear_override("unknownissuer.include-subdomains.pinning.example.com");
 
   // Issued by otherCA, which is not in the pinset for pinning.example.com.
   add_connection_test("bad.include-subdomains.pinning.example.com",
                       MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE);
 
   // Check that using a FQDN doesn't bypass pinning.
   add_connection_test("bad.include-subdomains.pinning.example.com.",
                       MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE);
@@ -68,44 +79,60 @@ function test_strict() {
                       PRErrorCodeSuccess);
 
   // This domain's pinset is exactly the same as
   // include-subdomains.pinning.example.com, serves the same cert as
   // bad.include-subdomains.pinning.example.com, but it should pass because
   // it's in test_mode.
   add_connection_test("test-mode.pinning.example.com",
                       PRErrorCodeSuccess);
+  // Similarly, this pin is in test-mode, so it should be overridable.
+  add_cert_override_test("unknownissuer.test-mode.pinning.example.com",
+                         Ci.nsICertOverrideService.ERROR_UNTRUSTED,
+                         SEC_ERROR_UNKNOWN_ISSUER);
+  add_clear_override("unknownissuer.test-mode.pinning.example.com");
 }
 
 function test_mitm() {
   // In MITM mode, we allow pinning to pass if the chain resolves to any
   // user-specified trust anchor, even if it is not in the pinset.
   add_test(function() {
     Services.prefs.setIntPref("security.cert_pinning.enforcement_level", 1);
     run_next_test();
   });
 
   add_connection_test("include-subdomains.pinning.example.com",
                       PRErrorCodeSuccess);
   add_connection_test("good.include-subdomains.pinning.example.com",
                       PRErrorCodeSuccess);
 
-  add_connection_test("unknownissuer.include-subdomains.pinning.example.com",
-                      SEC_ERROR_UNKNOWN_ISSUER);
+  // Normally this is overridable. But, since we have pinning information for
+  // this host, we don't allow overrides (since building a trusted chain fails,
+  // we have no reason to believe this was issued by a user-added trust
+  // anchor, so we can't allow overrides for it).
+  add_prevented_cert_override_test(
+    "unknownissuer.include-subdomains.pinning.example.com",
+    Ci.nsICertOverrideService.ERROR_UNTRUSTED,
+    SEC_ERROR_UNKNOWN_ISSUER);
+  add_clear_override("unknownissuer.include-subdomains.pinning.example.com");
 
   // In this case, even though otherCA is not in the pinset, it is a
   // user-specified trust anchor and the pinning check succeeds.
   add_connection_test("bad.include-subdomains.pinning.example.com",
                       PRErrorCodeSuccess);
 
   add_connection_test("exclude-subdomains.pinning.example.com",
                       PRErrorCodeSuccess);
   add_connection_test("sub.exclude-subdomains.pinning.example.com",
                       PRErrorCodeSuccess);
   add_connection_test("test-mode.pinning.example.com", PRErrorCodeSuccess);
+  add_cert_override_test("unknownissuer.test-mode.pinning.example.com",
+                         Ci.nsICertOverrideService.ERROR_UNTRUSTED,
+                         SEC_ERROR_UNKNOWN_ISSUER);
+  add_clear_override("unknownissuer.test-mode.pinning.example.com");
 };
 
 function test_disabled() {
   // Disable pinning.
   add_test(function() {
     Services.prefs.setIntPref("security.cert_pinning.enforcement_level", 0);
     run_next_test();
   });
@@ -117,29 +144,40 @@ function test_disabled() {
   add_connection_test("bad.include-subdomains.pinning.example.com",
                       PRErrorCodeSuccess);
   add_connection_test("exclude-subdomains.pinning.example.com",
                       PRErrorCodeSuccess);
   add_connection_test("sub.exclude-subdomains.pinning.example.com",
                       PRErrorCodeSuccess);
   add_connection_test("test-mode.pinning.example.com", PRErrorCodeSuccess);
 
-  add_connection_test("unknownissuer.include-subdomains.pinning.example.com",
-                      SEC_ERROR_UNKNOWN_ISSUER);
+  add_cert_override_test("unknownissuer.include-subdomains.pinning.example.com",
+                         Ci.nsICertOverrideService.ERROR_UNTRUSTED,
+                         SEC_ERROR_UNKNOWN_ISSUER);
+  add_clear_override("unknownissuer.include-subdomains.pinning.example.com");
+  add_cert_override_test("unknownissuer.test-mode.pinning.example.com",
+                         Ci.nsICertOverrideService.ERROR_UNTRUSTED,
+                         SEC_ERROR_UNKNOWN_ISSUER);
+  add_clear_override("unknownissuer.test-mode.pinning.example.com");
 }
 
 function test_enforce_test_mode() {
   // In enforce test mode, we always enforce all pins, even test pins.
   add_test(function() {
     Services.prefs.setIntPref("security.cert_pinning.enforcement_level", 3);
     run_next_test();
   });
 
-  add_connection_test("unknownissuer.include-subdomains.pinning.example.com",
-                      MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE);
+  // Normally this is overridable. But, since we have pinning information for
+  // this host, we don't allow overrides.
+  add_prevented_cert_override_test(
+    "unknownissuer.include-subdomains.pinning.example.com",
+    Ci.nsICertOverrideService.ERROR_UNTRUSTED,
+    SEC_ERROR_UNKNOWN_ISSUER);
+  add_clear_override("unknownissuer.include-subdomains.pinning.example.com");
 
   // Issued by otherCA, which is not in the pinset for pinning.example.com.
   add_connection_test("bad.include-subdomains.pinning.example.com",
                       MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE);
 
   // These domains serve certs that match the pinset.
   add_connection_test("include-subdomains.pinning.example.com",
                       PRErrorCodeSuccess);
@@ -154,27 +192,34 @@ function test_enforce_test_mode() {
                       PRErrorCodeSuccess);
 
   // This domain's pinset is exactly the same as
   // include-subdomains.pinning.example.com, serves the same cert as
   // bad.include-subdomains.pinning.example.com, is in test-mode, but we are
   // enforcing test mode pins.
   add_connection_test("test-mode.pinning.example.com",
                       MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE);
+  // Normally this is overridable. But, since we have pinning information for
+  // this host (and since we're enforcing test mode), we don't allow overrides.
+  add_prevented_cert_override_test(
+    "unknownissuer.test-mode.pinning.example.com",
+    Ci.nsICertOverrideService.ERROR_UNTRUSTED,
+    SEC_ERROR_UNKNOWN_ISSUER);
+  add_clear_override("unknownissuer.test-mode.pinning.example.com");
 }
 
 function check_pinning_telemetry() {
   let service = Cc["@mozilla.org/base/telemetry;1"].getService(Ci.nsITelemetry);
   let prod_histogram = service.getHistogramById("CERT_PINNING_RESULTS")
                          .snapshot();
   let test_histogram = service.getHistogramById("CERT_PINNING_TEST_RESULTS")
                          .snapshot();
   // Because all of our test domains are pinned to user-specified trust
   // anchors, effectively only strict mode and enforce test-mode get evaluated
-  do_check_eq(prod_histogram.counts[0], 6); // Failure count
+  do_check_eq(prod_histogram.counts[0], 4); // Failure count
   do_check_eq(prod_histogram.counts[1], 4); // Success count
   do_check_eq(test_histogram.counts[0], 2); // Failure count
   do_check_eq(test_histogram.counts[1], 0); // Success count
 
   let moz_prod_histogram = service.getHistogramById("CERT_PINNING_MOZ_RESULTS")
                              .snapshot();
   let moz_test_histogram =
     service.getHistogramById("CERT_PINNING_MOZ_TEST_RESULTS").snapshot();
index fd60a4a935c676f80c7bcb0f0947ab44918aa076..2403e89349b1e557edc6e6fd77035fda820b6fa6
GIT binary patch
literal 327680
zc%1B=2S5``)bBThE{IAMK>{Kj+|X525K)jOO}YvsbV5l&dLk%@T@iclU9tCuV#kIB
z%T?^X_x`e*MQZeV@8{)v@137!=Oky&+1c5de<mTxhJ^&AvFMcK?7XZ57R3n}j*v)*
zCxwC_q}~XEs3Y|#NpFe`?vs#TBF$lcPgPU$1yL5LB0_D+F~J$Z7{Ng49RL6T00000
z00000000000000000000000000000000000000000000000000000000000000000
z000000000000000000000000000000000000002se>I-U%KG{yr06sTjm}NVNJyhG
zn9M=!#LToL74J|VuW%oVUr;}vC<^YQ1P4)m_$gKiRMgSBw-TNq0?&|{kVwz`QA4>=
z2He*)gOhbXMP>a?CZu>gp2<#3rzf#~)KF@af$%nO1=ZS%tgPR$?l{tzOg265M-|0J
zNo3BZIozq%qnt=8`X(l%2`;RJ#7z1R?+-(P$P@0>H^8T1w6tReh57}0g+^2SeWEE5
zL4F|-KG+_-gM<19_<4s@y!r-*hTBmRQ0a{-y*Wy6PMD29fIULR9&*R-x?^|U@w-?R
zcV}$lf^A%}jT^Rc$2Q%uO#-$_ly17?sZiM#&xktWTiJe`@vRHKb;Y-C_|_fYcE`5~
z_%;#WCgBZ}HBZ()+;)`NcxFdDvm>6_5zp+1XLiIhJK~w0@F*ud$_bBh!lRt<C|BI;
zihEsguPg3#m3i@;u6Ry2yr#Qsi}xUYq>iY}#$p}u);gn79PuU-Cf?V0Z70086JFaH
zmDQG2ls)2vZ=Lb23%<qn?Tqi$8Q-fjeqLPgSQk9j1(iL5#U{~RoSdCpsP(2}z1g6G
zbG_+OZ@Si-ZuO@757V_i%(XtuwLZ+XKFqZ)%(cEbuJz4vt#6KNeREvvo8wyF9M}5h
zxYjpEYId(T6Y9;xdNZlsq}7}BdNcWli4O#snONVPM65Y9mjslSi1)ZVic{aeuHCJv
z3d;IECL}~AAGw)nEc(y{HY*#yKlH~W9ZLOSlBKezs3hGeNZw%*s4n>|GXMYp00000
z00000000000000000000000000000000000000000000000000000000000000000
z00000000000000000000000000000000000000000002s{~Ofur5jZbb$$*qn;(h@
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
--- a/security/manager/ssl/tests/unit/tlsserver/cmd/BadCertServer.cpp
+++ b/security/manager/ssl/tests/unit/tlsserver/cmd/BadCertServer.cpp
@@ -58,16 +58,17 @@ const BadCertHost sBadCertHosts[] =
   { "good.include-subdomains.pinning.example.com", "localhostAndExampleCom" },
   { "bad.include-subdomains.pinning.example.com", "otherIssuerEE" },
   { "bad.include-subdomains.pinning.example.com.", "otherIssuerEE" },
   { "bad.include-subdomains.pinning.example.com..", "otherIssuerEE" },
   { "exclude-subdomains.pinning.example.com", "localhostAndExampleCom" },
   { "sub.exclude-subdomains.pinning.example.com", "otherIssuerEE" },
   { "test-mode.pinning.example.com", "otherIssuerEE" },
   { "unknownissuer.include-subdomains.pinning.example.com", "unknownissuer" },
+  { "unknownissuer.test-mode.pinning.example.com", "unknownissuer" },
   { "nsCertTypeNotCritical.example.com", "nsCertTypeNotCritical" },
   { "nsCertTypeCriticalWithExtKeyUsage.example.com", "nsCertTypeCriticalWithExtKeyUsage" },
   { "nsCertTypeCritical.example.com", "nsCertTypeCritical" },
   { "end-entity-issued-by-v1-cert.example.com", "eeIssuedByV1Cert" },
   { "end-entity-issued-by-non-CA.example.com", "eeIssuedByNonCA" },
   { "inadequate-key-size-ee.example.com", "inadequateKeySizeEE" },
   { "badSubjectAltNames.example.com", "badSubjectAltNames" },
   { nullptr, nullptr }
--- a/security/manager/ssl/tests/unit/tlsserver/generate_certs.sh
+++ b/security/manager/ssl/tests/unit/tlsserver/generate_certs.sh
@@ -279,17 +279,17 @@ make_EE notYetValid 'CN=Not Yet Valid Te
 make_EE mismatch 'CN=Mismatch Test End-entity' testCA "doesntmatch.example.com"
 make_EE selfsigned 'CN=Self-signed Test End-entity' testCA "selfsigned.example.com" "-x"
 # If the certificate 'CN=Test Intermediate' isn't loaded into memory,
 # this certificate will have an unknown issuer.
 # deletedINT is never kept in the database, so it always gets regenerated.
 # That's ok, because if unknownissuer was already in the database, it won't
 # get regenerated. Either way, deletedINT will then be removed again.
 make_INT deletedINT 'CN=Test Intermediate to delete' testCA
-make_EE unknownissuer 'CN=Test End-entity from unknown issuer' deletedINT "unknownissuer.example.com"
+make_EE unknownissuer 'CN=Test End-entity from unknown issuer' deletedINT "unknownissuer.example.com,unknownissuer.include-subdomains.pinning.example.com,unknownissuer.test-mode.pinning.example.com"
 export_cert unknownissuer unknown-issuer.der
 
 $RUN_MOZILLA $CERTUTIL -d $DB_ARGUMENT -D -n deletedINT
 
 # certutil doesn't expose a way to directly specify a notBefore time.
 # Workaround this by just providing a large enough warp that the notBefore time
 # falls before the UNIX Epoch.
 make_EE beforeEpoch 'CN=Before UNIX Epoch Test End-entity' testCA "before-epoch.example.com" "-w -720 -v 960"
index 645ecf05e0c096f5b02954164d06513ac7617487..8b4c6c1c0489d80fbc3447359ec78f67ff5def3d
GIT binary patch
literal 524288
zc%1Cr2UJt*)-U|5&_$4<6e&`aBE>~WLMYNZNEf6CBoqM=>76W5EGYKgd&7p<6%`RI
zC@PAGy(5-w#jf}zG3O2BaG&Ii@80o_``-B*W3Okq|IFn)GweJ`7J5R1{Zn(3^pYoM
zPh#fkS(B!aFpT7^r$-`TrX&(ci6kJ+`A4$XuQ8HHoNHKg$|?}QNV3H-q*6uVe96U<
z@)D=wpT#l7&7$i800000000000000000000000000000000000000000000000000
z00000000000000000000000000000000000000000091HNtcmP*U`bs&2pKn^rT5i
zxlDIvF7scjtXqhOOPGgVn2W2whu**bt)5A0qFzvl&ls1GNIgG~NWHNEKEY!>^a2C)
z+yVnU{e9fR^g=v>{9W8U%=J=plO|dHT_~obWTn;JbTCqCMq*N7PF6bS-^MZXawqeC
z9rv&6$65XBOwLtWT3uZqi{^bn!bE0jVn$9*P<CoQGdD?w-<(f?yT>>^UdU}h@CAA%
zOe>sX>MX^(Mg;E~=}cBqy5LKs`&@$;{@XRIO+6*0)wT4oxW8@ZvC@(fas^)^)#n=g
zxSvj}Ox+};)iwY1za}*&Cod^m@HLWsF7r42x2rI$OlQ(D8FhVqY@QA8Arr)cGjgAY
zt@i~)KX5Ltfgxe$dQ6=259e`XQaJxubI*DIg8Of*xc`d5{Uw9@O9t<k+%I8Jxd$5e
zK<6H8xCaLJV9Px)xd#^KV9UD{{`bhcB2M8Q|NcHy-jT*T(s@T4-jTsO+VYM}-jT&S
zCh!{j+uq;)c;}SA=e#RZcvq(Iu1w)wnZmm=g?D8N@5<J^Dr;VqHLuE=S7ptsqVrNZ
zFQxNRIxnUFO?lU(^R8*b`%1>&BX5Gd|D_cC?>V=Y!t0ibb5M9K^G|uR=6$s_@2jnO
zUrojTe)Zok{QGaLc}FVmNaG#3zc-clyHa_-E0y=S(0H{pUM&s(`)|0l2}v|-sx{3@
za7q!J_WA;<;FKmfr3+4N1gDJuI;9KB=z=o3po}gkqyMXnE@+1?XooInhc0M`E@+1?
zXooInhc0M`b80I%WeQGNg3|=SX`<jXNpPC{U#GlpgukaOK|3sNJBc(Vp2*@&oPqNQ
z=1aFVwI)led+GnLp8N#=mBv{K&Lucc(UMY}1DW{3eYze*{QP?Y000000000000000
z00000000000000000000000000000000000000000000000000000000000000000
z000000000000000008_yLxIXU3>-RubF?peOJYZ{gUh~_y=CuWZz8@C?}$#~KG8;8
zA{vNeL=CZ>SVt@+s)%VsF_A^25OG8}F@|s_><J2CO6U>lgd!ou{>A>pe#L&w?qFYK
zpJSh7A7l?_Yq3?>E7=R!Gudo*9y^_#z?Nf^*xqa>Hl1zp-#r8X000000000000000
z00000000000000000000000000000000000000000000000000000000000000000
z00000000000002M|GQ)*Br)Zk&UyB{lci@j+Hp^;Hg@UR@=n;NmovC01_~;gHrx~a
zmb16$+>@auTaVDVCw4A#O{lyR+vG}X-ig((R0{88c<mi4?uo2E*&OGd$oz2lJ&Jo`
znDt|kCGRA0y|xAKBxVf5oOj}TEYpm4;^enwB=2`$M1-00PO>$}ns854qHoMM=ABr+
zjyK|-Xq<gFY6S1(Xlu-H-brnDq9N~O_kjol-pS_Q()zrUwO=Fkcqhy2rVitsEV%Yk
zmv=I|>5>lbq+(f!Ht&R;8L7oPDfkmNly{QlkfX^vNsW4@!8=JHb*uAEqH2z+@lJwX
z6%XN^_-<Y>n0Mm#xK@>S;!wX(g?B>x{!p2BViEjOiFaa@czqD>WLWHRMc#=9^Rfc(
zWYDhD19>NMHQDmK6A8zi1Gp#ZzbcC5cqiQ%r)7C3Z>^@t@J>1xE|%t<JYrF$cqbhU
z8A;yBwUl=fypszzRLL?Dl5*;2GFk_4zANn6cSyu9;w$ly_=o5so)Qm;+e902m1riK
zh<f4#ahTXo>?XDon~1f<3Su!akEkRn2!bdk@`y}gB9Tlmi5Mb+2qDH0-h><BNZ1lo
zViYlw7(wU}T7(**ObjGs2r~OO`y2Zc`z`w=`x*No=eGp_00000000000000000000
z00000000000000000000000000000000000000000000000000000000000000000
z0000000000@PC}71PQa}9_+XWTke6uJ=ky$bnb!1Jy5v^Ywm%<Jy>xMIQKA$d$8ml
zEVu`A?!k<E7|A`Dat|ilgE9AD#667Q9)@!dhTMYz_n^-`=y4CjxCdSCL5F+L<{q@T
zhoRhqCikGhJ*aaJYTUyR?qM+Zpvpa{a1YAdgA(^Jh<i}v9u&BTf!u>U_b`BakmDX?
zxd$2UL7IDz;vOWq2MO+hEFnRX8^D>AJ=>H-d?!8-FNw#*ZK9R9NSq;#5&Maq#71Hz
zv5=@F%84Q(i%2DyL?jVR_z*6HEn!8N68eNDp-jjT82dZ>1N$ZWG5a>Vm3@(YhJB2^
zpS_d4k-d_=kX^|xXBV-v*r{wLJCYsD_F=oQZP`|w-xdG>00000000000000000000
z00000000000000000000000000000000000000000000000000000000000000000
z000000002~?;|6jf^8*5+4EOB{%Xr#8T{3TztZ_DjlWX)t2KY6@K-DTiu2b|{MC}b
zTJTqM{%XcwNAg!w{%XQsjrpq)e;vVJhx1oM{%XKq_4%tFe;vkOb@{6ff7Rx%TKsh=
zf7Rr#8vIqAzpC-qA^dePe^uqLD*RQMzbf(9LHt#bzbf$8f&5jTzYgH9a{N`6zsm4e
zY5pq3UnTjg1b-z<OQ^_kufut0?b)Uz;ydwycu71aZWFD<MdA!`jMz`?BsLN&iG@TZ
zQBD*QSwt$qBqE7m!iR7nYzZsEl+Y(M31vc#z}Vl}AJ{M1kJ-1`t?Y~JGwfsR{p_9W
zjqH`|h3rapIlG9R#ZF~2*^%sEwh!BdZOgXe{I&o90000000000000000000000000
z00000000000000000000000000000000000000000000000000000000000000000
z0002+e;@w;Z@fK!wd1e0{FT99ZTKslztZ?CmA_i^R|<c%;;%S=9mQWQ`KtwgHRrEp
z{B<OMHRZ1+{MDGh8u8Z={B<~gHRP`b{8gX7>hafM{8g8~>hM=>{;I`ahw@iV{;I)W
z)%mL$e;vYK2lH1|{;I-XmHDd@e;veM75S?Ie;vqQ<@xIX{wl{`W%;WNf0gF1Qv6kt
zze?~|vb2PX9QQh$ht|H>kyJ`y8?l{Af0UAnPY_*Y=Ea-JJP4Vxg0k3>G(xYmjD53o
zANy@-V#y(5ZK)=EcIkyORd!ZcLrHMSFe0Qxny_V$EA?Y<E?HAtS)5tID1BV~4{?>P
zP%@3EDC;hHQ5;cnrF2=bW7*EKyTxtnI$|PmxNO0H_ct{F00000000000000000000
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
HOwIoS9gL)C
index e3c286ebc8f0a9653c1710560b9eb3c99ad7fa58..7457064ebd9d5597e06ccbd38cac0082366e54e2
GIT binary patch
literal 933
zc$_n6VqR#_#MHTfnTe5!iHWDxfR~L^tIebBJ1-+6H!FjInxTq;5*u?U3$w6vNNRD3
zf@fYyYEf=#N@ik7szOP=LP}~*YDubroH(zcse!S9k)gS<rKw?*IIjsZ*Feuu$3P2W
zjxyLB*Sr+n)Vz|+l1hcNqWoNi(!A`v{PH}7%;MtG)FOi>MkQpYFtRc*H!<=v0L8hO
zniv@wUWrFs4)xNBO;I_jYCh{wDnr|EGrRA#+bZ-`Ygejkr#;*?r?%(oPmQ-855;O&
zb&iKED{eCk3}A2xKeQ*ca89<c#ao|QJ4_GMyT#kb&VKpjUC&C_Ne>s-EKK=PapSbZ
ztP>W?W72LaW;=Jdf6&tQWj7WwXZHzRf8c$*=ZqVL2Y&Te%vkv1QO}zTyiSMTN~_Gj
zt9iei@1rL7PU+k4876DHzfF_kG|ls8EL-!uNT2D?Itdn^L&1{Fdm991_qh3OPrs5d
zuk6w9m2D1I-(GpzNd+Yx_~%u~5ftC0pcZvzTicN|Q9k{D29Lh%$WKafIm)b(eQAdi
zkN=+cf{Pe9X5XG)$;8aaz__^af<fb1gT@YEz{(1;G&UI2HAzAP5)zJjsTGO21v#mD
z$@#fWCa6-GdC57YDXF@}rAaCIxrv#1#d-yqd3l+6=_tCiQFWC7BTqLsKP45LVgn;K
z4sA9@R#tXKMiw;#P||_&4H(<RGD=Dctn~GB@{<#DGV+T{tSo>)-+%|?dSOP!|13-f
z3~1?(85GwVeY-R&&qq(VeIOv)b>*$|3l9eVk4>+#Y!%$Oqi^?PZx5xz*S-rKI)0B|
zBjw0ba|x}qE{V>#E>ZuzyqTXA=Sy(D?{H0zdEdr!{TS1Py+zV0Wi63$3u;%d-@PKD
zO62Cwt>ViPRf4W6?m46`#T);(PAM(>u|;k952my8JHOm5__uA%6mJ$M3-i3`ioZV{
z{Sh}aQtMo&sefn4W)<P@Pw%pcOgkWSD<CLC@}1Je*|9tS+Po6Dyl%pd83*Tc82@pb
zbw%~?$weRU|LYcz_z|!_ch2vnbEe(-=$t-5+3EfNMK6Qzlzy7$YNPceAhvHu@t>kc
W2~umDx4F-o5o;%RBxc@`ORfMQRdOHz
--- a/toolkit/devtools/webconsole/test/unit/test_security-info-static-hpkp.js
+++ b/toolkit/devtools/webconsole/test/unit/test_security-info-static-hpkp.js
@@ -2,16 +2,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 "use strict";
 
 // Test that NetworkHelper.parseSecurityInfo correctly detects static hpkp pins
 
 const { devtools } = Components.utils.import("resource://gre/modules/devtools/Loader.jsm", {});
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
+Components.utils.import("resource://gre/modules/Services.jsm");
 
 Object.defineProperty(this, "NetworkHelper", {
   get: function() {
     return devtools.require("devtools/toolkit/webconsole/network-helper");
   },
   configurable: true,
   writeable: false,
   enumerable: true
@@ -35,11 +36,12 @@ const MockSecurityInfo = {
 };
 
 const MockHttpInfo = {
   hostname: "include-subdomains.pinning.example.com",
   private: false,
 };
 
 function run_test() {
+  Services.prefs.setIntPref("security.cert_pinning.enforcement_level", 1);
   let result = NetworkHelper.parseSecurityInfo(MockSecurityInfo, MockHttpInfo);
   equal(result.hpkp, true, "Static HPKP detected.");
 }