Bug 1029155 - Tests for storing failed certificate chains r=keeler
authorGarrett Robinson <grobinson@mozilla.com>
Fri, 15 Aug 2014 11:27:31 -0700
changeset 221535 229181c88a3c57bdcd9df78077a2e172d767a463
parent 221534 8a00db3bafbd2ddd477a370ae96a54a40659bb3e
child 221536 926c83cd24f043df996f9d4808c2cc5f918b7d3a
push idunknown
push userunknown
push dateunknown
reviewerskeeler
bugs1029155
milestone34.0a1
Bug 1029155 - Tests for storing failed certificate chains r=keeler
netwerk/socket/nsITransportSecurityInfo.idl
security/manager/boot/src/StaticHPKPins.h
security/manager/ssl/public/nsIX509CertList.idl
security/manager/ssl/src/nsNSSCertificate.cpp
security/manager/ssl/tests/unit/test_cert_chains.js
security/manager/ssl/tests/unit/tlsserver/cert9.db
security/manager/ssl/tests/unit/tlsserver/default-ee.der
security/manager/ssl/tests/unit/tlsserver/expired-ee.der
security/manager/ssl/tests/unit/tlsserver/generate_certs.sh
security/manager/ssl/tests/unit/tlsserver/inadequatekeyusage-ee.der
security/manager/ssl/tests/unit/tlsserver/key4.db
security/manager/ssl/tests/unit/tlsserver/other-test-ca.der
security/manager/ssl/tests/unit/tlsserver/test-ca.der
security/manager/ssl/tests/unit/xpcshell.ini
--- a/netwerk/socket/nsITransportSecurityInfo.idl
+++ b/netwerk/socket/nsITransportSecurityInfo.idl
@@ -3,17 +3,17 @@
  * 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/. */
 
 #include "nsISupports.idl"
 
 interface nsIX509CertList;
 
-[scriptable, uuid(154898ce-e14f-4981-bfc5-00a41722f44b)]
+[scriptable, uuid(c754ef58-853f-4870-abf7-98be325d2b97)]
 interface nsITransportSecurityInfo : nsISupports {
     readonly attribute unsigned long    securityState;
     readonly attribute wstring          errorMessage;
 
     /**
      * If certificate verification failed, this will be the peer certificate
      * chain provided in the handshake, so it can be used for error reporting.
      * If verification succeeded, this will be null.
--- a/security/manager/boot/src/StaticHPKPins.h
+++ b/security/manager/boot/src/StaticHPKPins.h
@@ -84,17 +84,17 @@ static const char kDigiCert_Global_Root_
   "r/mIkG3eEpVdm+u/ko/cwxzOMo1bk4TyHIlByibiA5E=";
 
 /* DigiCert High Assurance EV Root CA */
 static const char kDigiCert_High_Assurance_EV_Root_CAFingerprint[] =
   "WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18=";
 
 /* End Entity Test Cert */
 static const char kEnd_Entity_Test_CertFingerprint[] =
-  "w3a2zMuMdmP9ed7H9HLExM+i+/0UxqHlKszZ5GQpHYM=";
+  "pVVgLk2kFI2WWRPwDMIX6YmzFhEW4DXQV/U5gP+feGA=";
 
 /* Entrust Root Certification Authority */
 static const char kEntrust_Root_Certification_AuthorityFingerprint[] =
   "bb+uANN7nNc/j7R95lkXrwDg3d9C286sIMF8AnXuIJU=";
 
 /* Entrust.net Premium 2048 Secure Server CA */
 static const char kEntrust_net_Premium_2048_Secure_Server_CAFingerprint[] =
   "HqPF5D7WbC2imDpCpKebHpBnhs6fG1hiFBmgBGOofTg=";
@@ -731,16 +731,17 @@ struct TransportSecurityPreload {
   const bool mTestMode;
   const bool mIsMoz;
   const int32_t mId;
   const StaticPinset *pinset;
 };
 
 /* Sort hostnames for binary search. */
 static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
+  { "2mdn.net", true, false, false, -1, &kPinset_google_root_pems },
   { "accounts.firefox.com", true, false, false, 4, &kPinset_mozilla_fxa },
   { "accounts.google.com", true, false, false, -1, &kPinset_google_root_pems },
   { "addons.mozilla.net", true, false, true, 2, &kPinset_mozilla },
   { "addons.mozilla.org", true, false, true, 1, &kPinset_mozilla },
   { "admin.google.com", true, false, false, -1, &kPinset_google_root_pems },
   { "android.com", true, false, false, -1, &kPinset_google_root_pems },
   { "api.accounts.firefox.com", true, false, false, 5, &kPinset_mozilla_fxa },
   { "api.twitter.com", true, false, false, -1, &kPinset_twitterCDN },
@@ -1055,17 +1056,18 @@ static const TransportSecurityPreload kP
   { "wf-trial-hrd.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
   { "www.dropbox.com", true, false, false, -1, &kPinset_dropbox },
   { "www.gmail.com", false, false, false, -1, &kPinset_google_root_pems },
   { "www.googlemail.com", false, false, false, -1, &kPinset_google_root_pems },
   { "www.torproject.org", true, false, false, -1, &kPinset_tor },
   { "www.twitter.com", true, false, false, -1, &kPinset_twitterCom },
   { "xbrlsuccess.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
   { "youtu.be", true, false, false, -1, &kPinset_google_root_pems },
+  { "youtube-nocookie.com", true, false, false, -1, &kPinset_google_root_pems },
   { "youtube.com", true, false, false, -1, &kPinset_google_root_pems },
   { "ytimg.com", true, false, false, -1, &kPinset_google_root_pems },
 };
 
-// Pinning Preload List Length = 326;
+// Pinning Preload List Length = 328;
 
 static const int32_t kUnknownId = -1;
 
-static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1416046032356000);
+static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1416397232719000);
--- a/security/manager/ssl/public/nsIX509CertList.idl
+++ b/security/manager/ssl/public/nsIX509CertList.idl
@@ -13,16 +13,24 @@ interface nsIX509CertList : nsISupports 
    void deleteCert(in nsIX509Cert cert);
    nsISimpleEnumerator getEnumerator();
 
    /* getRawCertList MUST be called only from functions where
     * the nssShutdownPreventionLock has been adquired.
     */
    [notxpcom, noscript] voidPtr getRawCertList();
 
+   /**
+    * Test whether two certificate list instances represent the same
+    * certificate list.
+    *
+    * @return Whether the certificate lists are equal
+    */
+   boolean equals(in nsIX509CertList other);
+
 };
 
 %{C++
 
 #define NS_X509CERTLIST_CID { /* 959fb165-6517-487f-ab9b-d8913be53197 */  \
     0x959fb165,                                                           \
     0x6517,                                                               \
     0x487f,                                                               \
--- a/security/manager/ssl/src/nsNSSCertificate.cpp
+++ b/security/manager/ssl/src/nsNSSCertificate.cpp
@@ -16,16 +16,17 @@
 #include "nsNSSComponent.h" // for PIPNSS string bundle calls.
 #include "nsNSSCleaner.h"
 #include "nsCOMPtr.h"
 #include "nsIMutableArray.h"
 #include "nsNSSCertValidity.h"
 #include "nsPKCS12Blob.h"
 #include "nsPK11TokenDB.h"
 #include "nsIX509Cert.h"
+#include "nsIClassInfoImpl.h"
 #include "nsNSSASN1Object.h"
 #include "nsString.h"
 #include "nsXPIDLString.h"
 #include "nsReadableUtils.h"
 #include "nsIURI.h"
 #include "nsCRT.h"
 #include "nsUsageArrayHelper.h"
 #include "nsICertificateDialogs.h"
@@ -1540,19 +1541,25 @@ ConstructCERTCertListFromReversedDERArra
     cert.forget(); // cert is now owned by certList.
   }
 
   return SECSuccess;
 }
 
 } // namespace mozilla
 
-NS_IMPL_ISUPPORTS(nsNSSCertList,
-                  nsIX509CertList,
-                  nsISerializable)
+NS_IMPL_CLASSINFO(nsNSSCertList,
+                  nullptr,
+                  // inferred from nsIX509Cert
+                  nsIClassInfo::THREADSAFE,
+                  NS_X509CERTLIST_CID)
+
+NS_IMPL_ISUPPORTS_CI(nsNSSCertList,
+                     nsIX509CertList,
+                     nsISerializable)
 
 nsNSSCertList::nsNSSCertList(ScopedCERTCertList& certList,
                              const nsNSSShutDownPreventionLock& proofOfLock)
 {
   if (certList) {
     mCertList = certList.forget();
   } else {
     mCertList = CERT_NewCertList();
@@ -1757,16 +1764,77 @@ nsNSSCertList::GetEnumerator(nsISimpleEn
   nsCOMPtr<nsISimpleEnumerator> enumerator =
     new nsNSSCertListEnumerator(mCertList.get(), locker);
 
   *_retval = enumerator;
   NS_ADDREF(*_retval);
   return NS_OK;
 }
 
+NS_IMETHODIMP
+nsNSSCertList::Equals(nsIX509CertList* other, bool* result)
+{
+  nsNSSShutDownPreventionLock locker;
+  if (isAlreadyShutDown()) {
+    return NS_ERROR_NOT_AVAILABLE;
+  }
+
+  NS_ENSURE_ARG(result);
+  *result = true;
+
+  nsresult rv;
+
+  nsCOMPtr<nsISimpleEnumerator> selfEnumerator;
+  rv = GetEnumerator(getter_AddRefs(selfEnumerator));
+  if (NS_FAILED(rv)) {
+    return rv;
+  }
+
+  nsCOMPtr<nsISimpleEnumerator> otherEnumerator;
+  rv = other->GetEnumerator(getter_AddRefs(otherEnumerator));
+  if (NS_FAILED(rv)) {
+    return rv;
+  }
+
+  nsCOMPtr<nsISupports> selfSupports;
+  nsCOMPtr<nsISupports> otherSupports;
+  while (NS_SUCCEEDED(selfEnumerator->GetNext(getter_AddRefs(selfSupports)))) {
+    if (NS_SUCCEEDED(otherEnumerator->GetNext(getter_AddRefs(otherSupports)))) {
+      nsCOMPtr<nsIX509Cert> selfCert = do_QueryInterface(selfSupports);
+      nsCOMPtr<nsIX509Cert> otherCert = do_QueryInterface(otherSupports);
+
+      bool certsEqual = false;
+      rv = selfCert->Equals(otherCert, &certsEqual);
+      if (NS_FAILED(rv)) {
+        return rv;
+      }
+      if (!certsEqual) {
+        *result = false;
+        break;
+      }
+    } else {
+      // other is shorter than self
+      *result = false;
+      break;
+    }
+  }
+
+  // Make sure self is the same length as other
+  bool otherHasMore = false;
+  rv = otherEnumerator->HasMoreElements(&otherHasMore);
+  if (NS_FAILED(rv)) {
+    return rv;
+  }
+  if (otherHasMore) {
+    *result = false;
+  }
+
+  return NS_OK;
+}
+
 NS_IMPL_ISUPPORTS(nsNSSCertListEnumerator, nsISimpleEnumerator)
 
 nsNSSCertListEnumerator::nsNSSCertListEnumerator(
   CERTCertList* certList, const nsNSSShutDownPreventionLock& proofOfLock)
 {
   mCertList = nsNSSCertList::DupCertList(certList, proofOfLock);
 }
 
new file mode 100644
--- /dev/null
+++ b/security/manager/ssl/tests/unit/test_cert_chains.js
@@ -0,0 +1,96 @@
+// -*- Mode: javascript; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+// 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/.
+
+"use strict";
+
+function build_cert_chain(certNames) {
+  let certList = Cc["@mozilla.org/security/x509certlist;1"]
+                   .createInstance(Ci.nsIX509CertList);
+  certNames.forEach(function(certName) {
+    let cert = constructCertFromFile("tlsserver/" + certName + ".der");
+    certList.addCert(cert);
+  });
+  return certList;
+}
+
+function test_cert_equals() {
+  let certA = constructCertFromFile("tlsserver/default-ee.der");
+  let certB = constructCertFromFile("tlsserver/default-ee.der");
+  let certC = constructCertFromFile("tlsserver/expired-ee.der");
+
+  do_check_false(certA == certB);
+  do_check_true(certA.equals(certB));
+  do_check_false(certA.equals(certC));
+}
+
+function test_cert_list_serialization() {
+  let certList = build_cert_chain(['default-ee', 'expired-ee']);
+
+  // Serialize the cert list to a string
+  let serHelper = Cc["@mozilla.org/network/serialization-helper;1"]
+                    .getService(Ci.nsISerializationHelper);
+  certList.QueryInterface(Ci.nsISerializable);
+  let serialized = serHelper.serializeToString(certList);
+
+  // Deserialize from the string and compare to the original object
+  let deserialized = serHelper.deserializeObject(serialized);
+  deserialized.QueryInterface(Ci.nsIX509CertList);
+  do_check_true(certList.equals(deserialized));
+}
+
+function run_test() {
+  do_get_profile();
+  add_tls_server_setup("BadCertServer");
+
+  // Test nsIX509Cert.equals
+  add_test(function() {
+    test_cert_equals();
+    run_next_test();
+  });
+
+  // Test serialization of nsIX509CertList
+  add_test(function() {
+    test_cert_list_serialization();
+    run_next_test();
+  });
+
+  // Test successful connection (failedCertChain should be null)
+  add_connection_test(
+    // re-use pinning certs (keeler)
+    "good.include-subdomains.pinning.example.com", Cr.NS_OK, null,
+    function withSecurityInfo(aTransportSecurityInfo) {
+      aTransportSecurityInfo.QueryInterface(Ci.nsITransportSecurityInfo);
+      do_check_eq(aTransportSecurityInfo.failedCertChain, null);
+    }
+  );
+
+  // Test overrideable connection failure (failedCertChain should be non-null)
+  add_connection_test(
+    "expired.example.com",
+    getXPCOMStatusFromNSS(SEC_ERROR_EXPIRED_CERTIFICATE),
+    null,
+    function withSecurityInfo(securityInfo) {
+      securityInfo.QueryInterface(Ci.nsITransportSecurityInfo);
+      do_check_neq(securityInfo.failedCertChain, null);
+      let originalCertChain = build_cert_chain(["expired-ee", "test-ca"]);
+      do_check_true(originalCertChain.equals(securityInfo.failedCertChain));
+    }
+  );
+
+  // Test non-overrideable error (failedCertChain should be non-null)
+  add_connection_test(
+    "inadequatekeyusage.example.com",
+    getXPCOMStatusFromNSS(SEC_ERROR_INADEQUATE_KEY_USAGE),
+    null,
+    function withSecurityInfo(securityInfo) {
+      securityInfo.QueryInterface(Ci.nsITransportSecurityInfo);
+      do_check_neq(securityInfo.failedCertChain, null);
+      let originalCertChain = build_cert_chain(["inadequatekeyusage-ee", "test-ca"]);
+      do_check_true(originalCertChain.equals(securityInfo.failedCertChain));
+    }
+  );
+
+  run_next_test();
+}
index 26137ebfc33b53056976898c22da098e3bc640db..19bbfdcc82a59d8a8e02d70eeaf77f3f5a641ea0
GIT binary patch
literal 294912
zc%1CL1wd2Z`^UdALO{BEq%?PQDlLdKNE*OKhr;NEAg$P~h#07th%KVnfgma>Hj04(
zVh8GfcblS=`uTkQ@caM&&r5foyFKSQ_uPA)^WIr;e7(oVkV*K+q~wG!GTsO?9fQSU
zZ1H#u2D6ND<HhvC#kg_)a372LHOnx154i;BJs9rn5g3XX{Y>_S?2_zpj5`1T00000
z00000000000000000000000000000000000000000000000000000000000000000
z0000000000000000000000000000000000000000!2fA%xw)mJl(0cDi9}LHL|j-5
zF)<~@D>XbmCW6Po$H~sm3GeFR=oE-&`tY6}`0swaW*7l6)EdpjtihjILwr~`DgJv2
z?w@L4`uf&jq~*xTEhVRfoyd$&Nez!BMUcOj;QFZswzq#P2wHYHZYh~>=Mj^Vl1fVc
zUWD_fN?6Xmb(j;h3XQNlQc6nL*(T($@OaX9@An-Jc0GP}_T!y?jAmRIFCSNTJD(uD
zn^O?p-^110-w8c}gQth{cvlBMyq&$LkDo3+3}M^|jGH0jW`yoDA3z@=pbwd&cg@ke
z=FGcj5p!d7V}fo>(Ty3pF-JER=q3!^gfli4%&HL9mRTcW$lS7yW6a!|Ft?`6tr>G`
z&fHosw_(g}ICC4pY#6I~toAYY4O#olnhlvX8!~G)WY%oRtl5xRvmvu)BW9ElGs=h=
zWyFj!Vn&%Vy{1gBDbs7p^qR7~%sNe(b(%3tnzOddE66-kLxi=D#u_qPYm6{3WHy<-
z%e>ai(nieEM$FR22&*)!AnOq$=GK_GHDPYiV;eJ%YRo*UF|%Jxn6W0zSQCWx2pStf
zGBGkXG9mQt8usq~P{6o%*Q9sXw0GC6ch~&;u4!+WX>XWmZ<uLsnCZ7L)86Ko_BO|~
zw>hT0%`xq5j%jamOnaMS+S?q)u0`)|SnqCl?`}lzF0pr))Vmw`eV3UCtljY5=7gio
zA)16C#Bk;nH%FNCUSCrSEdmF(l#>z`!;+6_@iAo5<giq767&A#?}KzQ;rlL*A$y!$
zj189l36(%zmH_|&00000000000000000000000000000000000000000000000000
z0000000000000000000000000000000000000000000000000000000000000001h
z|GzO}JRf5lNHxUJKhV4B9rQMOE4`V1hF(wKPp_tLqF2zD(dW^N={fXF`ZRhBJ&Ybi
z_olnj?dTSC0$q!)OqZdH(0OUyv<_Mu9ZUN_Yo#^Q&d};<`)Sp*O|%NyGTJ;^F)fFd
zNt;HCp@q?cXx=nenjOu8MxbfYlxZ?F5gIQIOZ`CYrgl)<sIAmy>KST1bw70nbpv%3
zbrE$Ibp|zyI*l4lolKoTb*DN~tr!gk00000000000000000000000000000000000
z00000000000000000000000000000000000000000000000000000000000000000
z00000000000002s{{SO!oLJ1<fK9>dosB{4oehD^omp1R0qmU%6WBXV{>+`CPDwxZ
zj)X6JN8E?Glb0Lg&EARjV(&zGGIw%>M|-e$Y~0y9*5i3_I4q^K(T!!#k7L;eSJY-Y
z)w!_jp|LDm>x|k|g&-%E4RmDL00-1gv$C;gS!+9%wX#KRyhz&^mc2WgW$)OaHk#68
z&9aSFEPLJ(wZ!rV7A)It&a(H-P&=j4+LUFjOjy>^7`36-t{bszt0Bu?BcL|$d?~`R
zvkX{vrao%@9VhCsY^W~FhUlQy+v}+|%RbR!*$z$Ay4U55Laj@Iof^y9s<P}D6_$Ux
z2FudbQR}#`UJ13f<<}KiwpD>;ugRm<#?M-gWvygc)=~zw=B~%3S@xI|%N~_Pt#Mni
z1j`nQvuvRlYLRuqqAV*U!m@(GsMWLIEX1-^f-Jj90JWMkB1f_;iJxVOe5h4>FoTz6
zb4Rdj4i9Sa`JLP>`<#nqpK+pAUM>j7vVk1jI2^CMTmT;<qXRSiG4vk#33@KwjXr|b
zOj}O#q)AiTsJT=(DwR5!8cg-4dS&0pUYhNnEt+*BYhBi;%omyaGZQn-GBFv2^!xO)
z^ccDqt&4VrwvSd$Go>j|zfvDkiIi)U7>ZZ+hwQsqAF}Rd9nIR5C7Agp^J->Yrhle&
zreY>nMq-9Py^>x?*QE<k2o%xm+U&CI%<SN7(`+ePI?XS0ab^l-D<zk@i&{ukq;zMT
z%$SuGouxb6DgXcg00000000000000000000000000000000000000000000000000
z0000000000000000000000000000000000000000000000000000000004iCG|m`{
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
index f43ba1bc1be9ff1269ff07738f7c8141ed0bbbe2..bfbc4f5c237042d5545e46647d3f414db8753968
GIT binary patch
literal 639
zc$_n6VyZT1VtlfInTe5!iILHOmyJ`a&7<u*FC!x>D}#ZMp@0D&8*?ZNvoL!|YH^8z
zv!j8WIIp3Jfw`fvA&@dOh!W>DLFO7r8A=$4LG<v0^|<Dx=%(hCWR_GKG|or1fsvJg
zxv`hQps|ywv610`)a)GAHPWwG*CsqZR~n-^@xhgIOT&t!FQv4{UVQWNd!y1_g^*1%
zOtXHczSdY;^ix=651+_3&5nBvi>lnb_r7|$;lx}9_4Fj}x|?pR^t4ppxT|u^lZw*6
zd{dg6dCBu#iT`r<{pbI;bMIg4+MM#4i*7UDWAtC(eL9SLvPs^wB6cQbMh3>kjW-M$
zuNpK?0D3@HkfpK1ps}@yGbcYeF()IxxTJ|!OE0w|F}ENmRWCU|w@Fk>uOKroFEcM4
zMOZ^iFEcMWr!*y1x41MZB|kSYGp`tz%G3&CR2mquacHvvBZZxjkwwiw#Xt$hH(+cN
z%P1)+u+rCuyVJ_Tz`{V^fCuCYVMfOPEKCLrXmQI7403Uqd%rJb?7hf+Sm65+wsn6O
zoc7!{yIs6kraSY%lfVw=WI0Jb{cW>%NS!#fqsK0<Lhr1=%VQ0auhc3YK3*>JaDLB<
zRSPZOZJJUnWN<0}&a{hVf}!#DZF3!J?;O6HeQ^p`u~p<0jdtUUd~>dDOLk0MJgIkU
R!6Tz+Gw!M??|-jq@&PLT=I8(b
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..22b21d6179c61ecbf2e7c0bc9d54fff6d606dea5
GIT binary patch
literal 530
zc$_n6V&XGsVk}?4%*4pV#K>mA%f_kI=F#?@mywZ`mBB#BP{4qXjX9KsS(rT}wYWsV
z+0j5woY%t8z{Jql(9p!d&@f7z*ASU&pk%0EAP3PS?pjfhS(KWh0M_f8m!g}RSCUy$
zY0x+y*(OF-2Ij_I27|^<rp88wcbs$TMB~kRyKa99bKZMy$61D5Q<!y1wbtMJ6#Irn
z?|t~mz3O>0qHQkZcI=<LTVUVct%eTKCypIm=$PsEA|s({s%llQOuM!W^Gt`|JRUXd
zbCzv9W$KnHnL2aj`K3jx4ED_0b5n1HQcB~SBRloy9Gv~9;%)e`A5AgG6_{rnYz#fm
z#LURRxH!ci3G545K^AcX(I(+kh)?uVD-v@Ha#Hn@^K%W1*f_M=fZ@c>$jG8*pkkl|
z;~OxxiDi_O6j<r&=j10R=49j-msnXCSQzLV@PNz|W@P-&!eqdJ7TnB0-|K6gkWmZS
zWP9lL|BA?$d!w?l>;&>-r<*@Xk!xXiY;}H?MXvVFYfPq#FGV)(o)of7XkX<IGd+E#
zUnLzk+W&F9S=T+|=`kaL#QFv`%lLjJ#n{vL#OGNucO=f~v(NBnw`);#>N?%RWBhpg
bqemY~8@LTxN)B3`=h{%^S|4;N_`pv9p$WK8
--- a/security/manager/ssl/tests/unit/tlsserver/generate_certs.sh
+++ b/security/manager/ssl/tests/unit/tlsserver/generate_certs.sh
@@ -60,28 +60,35 @@ fi
 if [ -f "$OUTPUT_DIR/cert9.db" -o -f "$OUTPUT_DIR/key4.db" -o -f "$OUTPUT_DIR/pkcs11.txt" ]; then
   echo "Found pre-existing NSS DBs. Clobbering old OCSP certs."
   rm -f "$OUTPUT_DIR/cert9.db" "$OUTPUT_DIR/key4.db" "$OUTPUT_DIR/pkcs11.txt"
 fi
 $RUN_MOZILLA $CERTUTIL -d $DB_ARGUMENT -N -f $PASSWORD_FILE
 
 COMMON_ARGS="-v 360 -w -1 -2 -z $NOISE_FILE"
 
+function export_cert {
+  NICKNAME="${1}"
+  DERFILE="${2}"
+
+  $RUN_MOZILLA $CERTUTIL -d $DB_ARGUMENT -L -n $NICKNAME -r > $OUTPUT_DIR/$DERFILE
+}
+
 function make_CA {
   CA_RESPONSES="y\n1\ny"
   NICKNAME="${1}"
   SUBJECT="${2}"
   DERFILE="${3}"
 
   echo -e "$CA_RESPONSES" | $RUN_MOZILLA $CERTUTIL -d $DB_ARGUMENT -S \
                                                    -n $NICKNAME \
                                                    -s "$SUBJECT" \
                                                    -t "CT,," \
                                                    -x $COMMON_ARGS
-  $RUN_MOZILLA $CERTUTIL -d $DB_ARGUMENT -L -n $NICKNAME -r > $OUTPUT_DIR/$DERFILE
+  export_cert $NICKNAME $DERFILE
 }
 
 SERIALNO=1
 
 function make_INT {
   INT_RESPONSES="y\n0\ny\n2\n7\nhttp://localhost:8080/\n\nn\nn\n"
   NICKNAME="${1}"
   SUBJECT="${2}"
@@ -141,25 +148,27 @@ function make_delegated {
 
 make_CA testCA 'CN=Test CA' test-ca.der
 make_CA otherCA 'CN=Other test CA' other-test-ca.der
 
 make_EE localhostAndExampleCom 'CN=Test End-entity' testCA "localhost,*.example.com,*.pinning.example.com,*.include-subdomains.pinning.example.com,*.exclude-subdomains.pinning.example.com"
 # Make an EE cert issued by otherCA
 make_EE otherIssuerEE 'CN=Wrong CA Pin Test End-Entity' otherCA "*.include-subdomains.pinning.example.com,*.exclude-subdomains.pinning.example.com,*.pinning.example.com"
 
-$RUN_MOZILLA $CERTUTIL -d $DB_ARGUMENT -L -n localhostAndExampleCom -r > $OUTPUT_DIR/default-ee.der
+export_cert localhostAndExampleCom default-ee.der
+
 # A cert that is like localhostAndExampleCom, but with a different serial number for
 # testing the "OCSP response is from the right issuer, but it is for the wrong cert"
 # case.
 make_EE ocspOtherEndEntity 'CN=Other Cert' testCA "localhost,*.example.com"
 
 make_INT testINT 'CN=Test Intermediate' testCA
 make_EE ocspEEWithIntermediate 'CN=Test End-entity with Intermediate' testINT "localhost,*.example.com"
 make_EE expired 'CN=Expired Test End-entity' testCA "expired.example.com" "-w -400"
+export_cert expired expired-ee.der
 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.
 make_INT deletedINT 'CN=Test Intermediate to delete' testCA
 make_EE unknownissuer 'CN=Test End-entity from unknown issuer' deletedINT "unknownissuer.example.com"
 $RUN_MOZILLA $CERTUTIL -d $DB_ARGUMENT -D -n deletedINT
 make_INT expiredINT 'CN=Expired Test Intermediate' testCA "-w -400"
@@ -169,16 +178,17 @@ make_EE untrustedissuer 'CN=Test End-ent
 
 make_EE mismatch-expired 'CN=Mismatch-Expired Test End-entity' testCA "doesntmatch.example.com" "-w -400"
 make_EE mismatch-untrusted 'CN=Mismatch-Untrusted Test End-entity' otherCA "doesntmatch.example.com"
 make_EE untrusted-expired 'CN=Untrusted-Expired Test End-entity' otherCA "untrusted-expired.example.com" "-w -400"
 make_EE mismatch-untrusted-expired 'CN=Mismatch-Untrusted-Expired Test End-entity' otherCA "doesntmatch.example.com" "-w -400"
 NSS_ALLOW_WEAK_SIGNATURE_ALG=1 make_EE md5signature-expired 'CN=Test MD5Signature-Expired End-entity' testCA "md5signature-expired.example.com" "-Z MD5" "-w -400"
 
 make_EE inadequatekeyusage 'CN=Inadequate Key Usage Test End-entity' testCA "inadequatekeyusage.example.com" "--keyUsage crlSigning"
+export_cert inadequatekeyusage inadequatekeyusage-ee.der
 make_EE selfsigned-inadequateEKU 'CN=Self-signed Inadequate EKU Test End-entity' unused "selfsigned-inadequateEKU.example.com" "--keyUsage keyEncipherment,dataEncipherment --extKeyUsage serverAuth" "-x"
 
 make_delegated delegatedSigner 'CN=Test Delegated Responder' testCA "--extKeyUsage ocspResponder"
 make_delegated invalidDelegatedSignerNoExtKeyUsage 'CN=Test Invalid Delegated Responder No extKeyUsage' testCA
 make_delegated invalidDelegatedSignerFromIntermediate 'CN=Test Invalid Delegated Responder From Intermediate' testINT "--extKeyUsage ocspResponder"
 make_delegated invalidDelegatedSignerKeyUsageCrlSigning 'CN=Test Invalid Delegated Responder keyUsage crlSigning' testCA "--keyUsage crlSigning"
 make_delegated invalidDelegatedSignerWrongExtKeyUsage 'CN=Test Invalid Delegated Responder Wrong extKeyUsage' testCA "--extKeyUsage codeSigning"
 
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..9a992415544a9d6948387527411666148a441434
GIT binary patch
literal 567
zc$_n6Vlp;pVw|&pnTe5!iBZIWmyJ`a&7<u*FC!x>D}#ZMp@0D&8*?ZNvoL!|YH^8z
zv!j8WIIp3Jfw`fvA&@dOjS}ZILFO9h8|oTpL-eS4<|U@27M3QKq$+r)Rw{%RC#I(=
zfDLlZOVLfuE6FUWG-#ZUY%L=z19M|9gF#~_Q)45;nyG54zxO?E`+Wa}1FzYAOVjhQ
zvw;@uTWqoMtXYPVT-p3M-re@^;>2zqyf<gI{1cA<3fs>dHp~@#zesWh6SIo$<%oHq
zv#vgh?R(2DX|voy<l2e|bNBbhf}%QHq}|SKWZva>GUvWZP5b&O{(JO;mfZ{a^4V^#
zS*Oftu{%F6ZF$ec%*epFxW=H$KojUCSwR*h1BE8JOt`nQQ!7hBp3+OLNX#wBN!3fv
z&owY&<IrXUh95g4Ba51Wih&Z0Z@}0lmQhktV5P60lb@WJlaXIsVr5}qVW4lo12SHi
zk?}tZlL3PPH;Bj2!UBpGv^Ze~hKkhI&^lGlJ1-MNy_^3i-p_2|Ut`F+|GIcz`;O*B
ztxda4jc2Hod}HVPa(-)T_{Zt`B8k6c5_)}JOwtfOyZnv*y7cIaEw=l3qxWiC=qJw9
z_C9wdDMO0Gd2*v(*$Ut0Y2x~VrSHPL?4)-kJJxM5ImZ2WzGqIU$aY2U<o^FvKW#Pv
E01sro#{d8T
index b68debcac9705fe2d424fbc85eab296d2cc48ab6..e33f19881080a4208713fb8c4739e16c8d498eed
GIT binary patch
literal 425984
zc%1Cr2{e@d|2O^_`@Zj642g)r(8w-pC`u*!j4k`VFJlT>5+%|`r9wq1m3B$Hvb3T|
zqNpS(qWI7F_<oeSubJ=ppZnbB{@t&~IbH9I*SxQuy+-pMvs|;r!PY;@N7gqqBA5^*
ztA$EMq0uN~Sy>bcRZRKAjhe$k`NQ<f*Ju=N#i%9y%-p0OD7FMwR1y#AcH-Sca-vbf
zWP)qLJv!zC0000000000000000000000000000000000000000000000000000000
z00000000000000000000000000000000000008`t62!_XDlLsBt3(lqK|aAgQ3NwW
z6yZN3+w#@sCXVK^jwYtI=Cc3!uB?*3x2*kYYde$G8)R+FH^{DCY3;DqTz1t;+2yNN
zTG(1Ica&XiZf|R{++0=GKguUq<DWrOS)GkVbh$Jd<sahh6BijCMER}<Av!8_=4+4t
z9N$CZKYQ$^EG(j;a%h*C3wQ+*{JldWBkd#nV+c_`th3>)SDKkS$<7q15#}x+t3=Si
zYAPEu&m3d@%rSxpM4zC!i?IB5jG5ve$Iw!?U}6!KltX*`6FZt1;NulFcM;~_jxk&Q
zOA-y`<%}$%;{W;A_(w)Y`$WuLhUvG%{8RnoD0mI!EjnmcQ8_vEwxu&y*<5*UkKwng
z?bid)zT!+wSFLtbl_g*)e<;@*L6h=Fi@HDa4eEC^sNcd<zr<6&#Ls+5y$Bvh-Dp!c
zI@HZl>IP5U=u$TX>V`<!=*}Dp`_Fdfh*-^;?LU7HZf2`Jv(=f|E}hxpXSTXCTf)qi
zIJ5Pd3HDFCfAY=jYyPu8b7ak#BWunaS###dnlne%oH?@Q%#pQbW@*jL(wdp2H8V?V
zW|q!ORcEHEGgH->sp|YwojIn?%rTeFToV7!cBX?f|58otKl{|Vnlou}SPIRV$g{gM
zy`H(W*36}~W-g7x{&VSnF8I%Pv}U%rnXUHBmil+&X8u;(%-@Qexn8tq=4#K()yDqw
z9qL>!A8jq1mbS*+uIAkCFBibg?P|~M>dfsfo!iC#yQ?!dO=oVJ&fGMexoJB8nWi%r
zM`tdM&RiUwxi~s=adhV5=*-2@nTtc&)t%cV%<U5AcD?3yz2|m)=5~Gm-JSVC_-B_m
z7l%lV<E>4=dJ|_lj>pcJ>#vTkvK9l2sHNQh>c(&Gf2oJY+&&}aCYp(vvO$w3sW;c$
z{|o>C000000000000000000000000000000000000000000000000000000000000
z00000000000000000000000000000000000!2fHwBseHr84?$Y^qusXG(hShwUb&&
zcS+Yt7f3avO432nZqjyA7Ku!XCxw&zNd(dck^{+_WJ1y<VM&WfG9+QjWB>pF00000
z00000000000000000000000000000000000000000000000000000000000000000
z0000000000000000000000030qp&eDp;7tkkIKyKY}I=xJ+qTJBq%krleWoMa%P9j
zrzgS6$cRqLy)RB3<IOLLQO9WMb)wWUTyL2ObqwO~5~hwDlbVF6qj%|RLF(vvR9ApH
zx;}r#PaT~eWb;wSwPwz|)X~BI9S?Q1yPCpH9j!79xu~OAT|FmtG%kI{K^+Yob=j#S
z-ugNlb;R{#uu@0tVQv=cxWu%AnK~+M_F|%r3Vo@J)KND5Jp&6PBfFI3Iu6ReTZR;f
zBK;tZkw!=#N$*I#q%KlB=`pF9bdPkCR8P7@I!CG@ogkHy4w3egib(~eZKNzx8i_<o
zAVrhHD3bvI0000000000000000000000000000000000000000000000000000000
z00000000000000000000000000000000000000000Qxa8qR=wbjWl&5McqhJHxks1
zICUdN-H1{*BGipAbt6RG2vRo!)D1s%!$;llQa3!*4L5beMcr^xHyqRrJ9WcG-LO(O
zEYuA%b;Cs6Fj6-RjEpFD4oWZ?5<iOco%ESBK<Xj2lUhl4N!LjiNHwHN(m~R0(soi7
ziA;(og_HbA1kwhQ1Ie0XLeeE^kd#SsByq}Q000000000000000000000000000000
z00000000000000000000000000000000000000000000000000000000000000000
z0095<urdmukD#1oW=HASQEGOSoE;@*NAcNFY<3i#9YtnG;n`7Wb`+c)1!hP7*^zH{
z<eeRPW=HPXk!yD3oE<r4NA}r~ZFXdx9a&~a=Gl>Hc4V9#8CVzv*r~^%{F7x!{3z0Q
z(r3~DsfW}~Y9-wzT_;^2)sQMl2T8k0+euj@GAW)EPVy%aNE=8FBx{lhNtdKSQYOif
z#3_>j000000000000000000000000000000000000000000000000000000000000
z000000000000000000000000000000000000Q}Fx$|!(7f^wFb9i?YSso7C-c9fVM
z#b-yc*-><M6qy}`XGfvgQE+w?m>v0NN50vScXs5N9l2*muGx`ucI22H*=I+#*^za2
zWSJeAXGf;lk#TlpU||$sryhs$PnJm*L?y>2t0oI3S0=lYSV?K5)hXF2Pe|`lxRX1R
z8&blPM^nm3&7}P)iYZPcS(0wDdCCy!94Rp6a*9!M{{QK#3;+NC000000000000000
z00000000000000000000000000000000000000000000000000000000000000000
z00000000000Pw$!7$XiXQuFeF&D!gGp4i>xIagb-FHYKYfef`E^eIcG^g8dsw2Vs%
z#{zUYZzn%IC`~PFe^oYAVElc-&>aP){pZ`WAM51VN>K|6158bCnz~H;HLZ5Lu9s2l
z6`r(}q!t)n-f3z#K6ml^aEjqImB6j&bs?1!)WYDV<3YHe42s)MA6~fkrQ`B^UNVO`
zwICIyA$Il3s*Afel=&nox-b7&mB%1PE%^7F+eMqo>(<>v+Zn!4J%qj=p(#o&5L0f6
z$d<cwp6b*}i5hQbF-o1t7NHixCZ8O0z3F(=L|$9s+kyi<1q}PMg{cKXyTpa^2-|FD
z@fv(;=EHY|ujBHCsD;h<?N`WE|J3?1c>2yA@wQ_v-rL^^QVYH5*M$WQR<o;erEyoh
zmXss%g}oG@7P7P#S3Ga#ZfiixZhS6IoXD~nO6H&W%ddz3Y|>~<s9EoK$|=<R?e&K}
z$N8uQy>ZU?*xReZ5?$qZ`0r7UEM}3+OD&|HS}oTUSzwW-zksA5Va+kA>3g1sT6k>F
zB9bncrIFJrG38cN?7yvjGm4v9F#N3JQW$HIY7pw)sc^E!SuOcfDi^h|V@adb3hB}h
zY9h>Elf(mqO4*OPaZ(G5BAx|YXE~sn&Jy9q{McmImz3%%4r(FiI!A6@bHAp3cFaX1
zabaw_Q&b2$wXpS_sNKcktc7bsn$X=F1%vOL=^?XG3mWcg6=m5^<V_xFF0UhO`K-mu
z|Cp6pxG|j9+MSYj<K(EW7ul0h9<`CPnT1+VaeBBG+Y|NPvQ{8QDrRk>!q4v=%+$iB
zDS452JBbem#|&E5B%0nv*|JnHQ46)^Cvw$Xe-`UIn4OhLer;U)sbLc%wLre#nbsB{
zeAHyE+B1y`cS3<ryBUKhBaYoJNO|&_+<nP%Z#kvCu`c5`%`?t0Q-0vlqzUTJJ?B3I
z00000000000000000000000000000000000000000000000000000000000000000
z000000000000000000000000000000008j+7!I--2MUF@Ss#KTjgoeg5>o0@4wCd!
zrbsR%>6Gpii<Cvl!O1I=2a=DcuqEG1-kS6!>2Z=o;$%`$l2g*zq}U|g!~==sgxd)f
ziOUn26N!lm3H=Fn32O0C@oVFU<4-5>#<#{7#7)F?#>vGo#O;ssh`St@5@#G+9-A5S
zFy>_Jide2#|5%lnk1>uh+R=&8uF+%B7h*)BpGWVBMn}DlQi@`aIvnL2bt5W0$}+M#
zGB4su#JNa^NWsXkNX>}R2$u-`@J-=f;Zx!D5z^t^;RnOn!Un<?hjD}*3kwLl7nU8i
zBJ@P)){v%<6QQ=DT%kdssv#djR)(krhXk(-9ty4w;R${iye()rs3nLma5yMG$Uf*)
zP*@N)a7SQ7!0CV;ftmp$fvW=r0@?y_0Yd(c{y6`~{yY6g{cHWBHa^{W&hMMw(~U73
zbv71lT(?ogFV4@&x7at%Pt5nZAKrJ|x6W6>XToQhkA%-fp9G%{pFKX#-j}`idA;zu
z?Ct6;<(=fM@AbpW-OG@eLUboi5wCj55W9#aL=@o_L6(3b93XfS>Ita?W6wjLn>-pk
z4tbh-GI$a_F&?iy%sdp_z1_{+-?$(4U~+GCPjl;cyXD5>+V7U(X5n_!&DTxQHPdyY
zONC3OtCGt*S1VUGmpd+tT{xUqI4^d-=bY_4=zPpMU_;Y}6HXtTnl=P&P~EU~gY5<`
zrx2%=>$j~BapGD3&`E9m(E4i9Q&L^Z<`kb~Y_dS&%fxF5*$F}MOXJ03-^AXE*&Y)a
zZ5S;Z`9AVNL~%qyxOw=Z(D$KDA-N$T!Ro<$fvth310n+){e?Gv^E>ZX?7P8tnfIjk
z3$OiNDMTZptY?pBgU4nMZ})}nEUvd*D_s0tRycER_~2CKwC(@&e-How0000000000
z000000000000000000000000000000000000000000000000000Koq}7BHGHMEd)A
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
J*zdlL{{TZ{cfbGu
index 4220d56eca66bc502242ba4ab1699cd4219eaa2b..ab99ca96e2bdf6b2bca0a74d055583c13ef27284
GIT binary patch
literal 452
zc$_n6Vmx5b#HhJ|nTe5!iIri2fCjSxFB_*;n@8JsUPeY%Rt5tJLoovpHs(+kW?^3c
zl8n?Mg_6|b5(Q^R137VCLlXmYLt{fAWoQs3&TE3q#iO%vKC&&0tPISJy$lA8olK35
z43AF+*-O_dM(1A;J~Xl7|H`8Y%ieE(!Z`8&e6}OXle|QN6KbwKwb6*2rqm_*u9!bp
z%#>etE^GCiKdFzWy-WGC`$N_Ln|9G@3qE?~ZToxsRgT<lt!-}U5$oSJmP=mQQYn-A
zp-I~F*{94K7rFlh=<|tPS`#41n)OFoNq1dOSw+)LCT2zk#>GIF8wdg2E-TE)_@9Nt
zfDK47F*2eB4l~fbch0?;z2aMx)8CpYmjsOynYZ}43u|qw(cJue(Z5);q-#fX*R^o>
zuDEmK#O%k7B8^*qH+h+zR+1^)^0(sE0?TzhQfAv++BYsUbM2Mh@wcmzyY{N&t9`Sy
vDrVXLI2-q?My=Q+PILD$4JL+f;$gp*EabI(+@2KQTi@RJMb2{m`x$ir!{DjE
index d28b99a7d8397b277ca1db434ce3328248ec9423..51fde37e398a42150c38f8d51d0cf4710ef03c33
GIT binary patch
literal 440
zc$_n6V%%cT#3;LfnTe5!iIri2fCjSxFB_*;n@8JsUPeY%Rt5thLjeOmHs(+kW?}Y_
z)Z!8aXGa4$ab80c19L-TLm*{n5GBrQg3QILr*S^A$&9QF%#FPa292Fejg1VeCVkxV
zYw}Uu&pJ;scJ2ArE?&cAwqj;JZ}3|&7PT)MHFA3|G4<zE&NqtQ(~=`zs@85XnQy<l
z&_nrsc0Q?LT?RZ8eU4T72pYT$FRT-bEj!)%ah7`qcjZqdiPq)U)Xr{fTUA)`mwWT)
zne!aa=4j77ziZ+O)z6-O`~lhK7GEWqJ~J^hGB7R{GY~Nl0=imOn33^63x@$4kYZwF
zL<<mRpnK<AzAW18^M?1|wjcA7P9)vBcgS^4p7z?5x_CWR<C|&Ofp4~k9PcrXoBmJ8
z(V?XN)O;JKGR-HSrnLO#?pb#A`MdRjA&XPzd8ACe)ye%_aZh)3fpOKt)mo42j`G(|
pSd?3Hraha{u|d$;D={u2_(^vT@4IiF2iBavmhg=I<mR3y4*+oeqK^Oo
--- a/security/manager/ssl/tests/unit/xpcshell.ini
+++ b/security/manager/ssl/tests/unit/xpcshell.ini
@@ -90,12 +90,16 @@ run-sequentially = hardcoded ports
 # Bug 1009158: this test times out on Android
 skip-if = os == "android"
 [test_ocsp_no_hsts_upgrade.js]
 run-sequentially = hardcoded ports
 # Bug 1009158: this test times out on Android
 skip-if = os == "android"
 [test_add_preexisting_cert.js]
 [test_keysize.js]
+[test_cert_chains.js]
+run-sequentially = hardcoded ports
+# Bug 1009158: this test times out on Android
+skip-if = os == "android"
 [test_client_cert.js]
 run-sequentially = hardcoded ports
 # Bug 1009158: this test times out on Android
 skip-if = os == "android"