Bug 842064: Fix build bustage caused by expired certificates in test_signed_apps.js on a CLOSED TREE, a=bustage, a=testonly
authorBrian Smith <bsmith@mozilla.com>
Sat, 16 Feb 2013 11:21:13 -0800
changeset 122147 fd897af2dd4753fdb72ebe33cc0015c2f2a82265
parent 122146 62619edc3226d25dc7af5b6ea4e0f7152a77b592
child 122148 c4de6de47382dc05c46be435fbead5fb85e73732
child 122149 dd7f52016f53f56a3c4372fc44f2b99bcd8f0690
push id24319
push userryanvm@gmail.com
push dateSat, 16 Feb 2013 23:49:46 +0000
treeherdermozilla-central@c4de6de47382 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbustage, testonly
bugs842064
milestone21.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 842064: Fix build bustage caused by expired certificates in test_signed_apps.js on a CLOSED TREE, a=bustage, a=testonly
security/manager/ssl/tests/unit/test_signed_apps/generate.sh
security/manager/ssl/tests/unit/test_signed_apps/trusted_ca1.der
security/manager/ssl/tests/unit/test_signed_apps/unknown_issuer.zip
security/manager/ssl/tests/unit/test_signed_apps/valid.zip
--- a/security/manager/ssl/tests/unit/test_signed_apps/generate.sh
+++ b/security/manager/ssl/tests/unit/test_signed_apps/generate.sh
@@ -34,17 +34,17 @@ sign_app_with_new_cert()
   # SEC_ERROR_REUSED_ISSUER_AND_SERIAL.
   org="O=Examplla Corporation,L=Mountain View,ST=CA,C=US"
   ca_subj="CN=Examplla Root CA $label,OU=Examplla CA,$org"
   ee_subj="CN=Examplla Marketplace App Signing $label,OU=Examplla Marketplace App Signing,$org"
 
   db=$tmpdir/$label
   mkdir -p $db
   certutil -d $db -N -f $passwordfile
-  make_cert="certutil -d $db -f $passwordfile -S -v 3 -g 2048 -Z SHA256 \
+  make_cert="certutil -d $db -f $passwordfile -S -v 480 -g 2048 -Z SHA256 \
                       -z $noisefile -y 3 -2 --extKeyUsage critical,codeSigning"
   $make_cert -n ca1        -m 1 -s "$ca_subj" \
              --keyUsage critical,certSigning      -t ",,CTu" -x < $ca_responses
   $make_cert -n ee1 -c ca1 -m 2 -s "$ee_subj" \
              --keyUsage critical,digitalSignature -t ",,,"      < $ee_responses
 
   # In case we want to inspect the generated certs
   certutil -d $db -L -n ca1 -r -o $db/ca1.der
@@ -70,10 +70,8 @@ echo n >  $ee_responses # Is this a CA?
 echo >>   $ee_responses # Accept default path length constraint (no constraint)
 echo y >> $ee_responses # Is this a critical constraint?
 
 replace_zip $srcdir/unsigned.zip $srcdir/simple
 
 sign_app_with_new_cert trusted   $srcdir/unsigned.zip $srcdir/valid.zip
 sign_app_with_new_cert untrusted $srcdir/unsigned.zip $srcdir/unknown_issuer.zip
 certutil -d $tmpdir/trusted -f $passwordfile -L -n ca1 -r -o $srcdir/trusted_ca1.der
-
-rm -Rf $tmpdir
index ac4a0976c5bbaa556aa8e33d6b9836f3744591ef..9d4e30984dd62a275a5d4988d2c6c82f96d07674
GIT binary patch
literal 976
zc$_n6Vm@Qg#I$7rGZP~d6C<MmFB_*;n@8JsUPeZ4RtAH{E<<huPB!LH7B*p~&|nyc
zLzv0g(NN4l1jJz%=Jm}l%_~XF%u@)<Of5H*HIN30a|w&MRwU*Y<m4nOIOi7?<QFBD
zWaj4?iWmriq`8H;5z>x^iU#r^QD$KYxM)y*ehE-Yp`@s^xFj{jKtY_>(AdDp(9F=%
z(8$CxN`l|Wz!X_va5=Y$Q2{wP8Ce;an;3Z+fZ`lXO^l2TD;~<<k|{HBlCWYZ75;ku
zpXl>c^*y(QQx|yD&Z@F?OaJ}kr*QghelG6<=80MDg0(+a)E`<G@%evWugF~~<0}r*
zReiq23el@i+TD+x$sfnFk!{cC=8|$Q%?_jHjc)5+WS<k9EM#Ofv4UrD?qUnZ;x9*H
z7ArY5%vG`dAAF`MnJ<T>aoa5Jt&jR&T1Ie5KFWwcruvoR!u@v#)7H#?cQbw6fgTOk
zISYIbyg1m?IXyS*KFep{3hr9=9kI8~C+&23Zna6}>&Nu&^{1Eq?$pv-V_Wmd)LO)$
zm)}Th-(rJnc0s2<{-5u_ujP>xS+%q!`SABo2Ml+mEm``JAtqwCU(d=Xx=f7Bi>(bT
z4fufpDJ#s#_@9N<fEh>`h=BxDK>|DmTx=ZLY>cd|?99vtd?0atkT?r76B7$sT4e@>
zslvNgD%(!}UVmTYwiW9Uo9UaJyms^+HZn^qP3Ek4UFF(zmTAH-1_74v7nLGz^G<W`
zUaHjhrK|YE-?%rof0ye#W;|SW@hbl^rT6<k-ncA1|K8@uExGfL+VD=ex}o-M$k(j6
zdCyA|&bX8vohJIdufLmn*X7br&#WDu`9BZqD^=MwXNB(5xNQkV4>^8$bS2y>;PkkY
zmHTw*u2|IzPHZ=LE=wAkYZo8?XR)Gm^_R0h_b(Uo;`0tzW&K7$(?##;&42TJW?gQK
z4d9HLwwKlY!g@bfmb$39bH8#dTR!o!@X`%lTg$nuE$4mW`a4H2>G2l(iP^@Na?dLJ
Qh&5&AEL$LQyi5E)0Owp|9smFU
index 4b0fa51ed9b4ea1bf034c07615c4b88f5cf11d57..9f63b0d751a9ca3158ce7ccbd767487460b76f6e
GIT binary patch
literal 3951
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
GBmM)#&f7Hr
index 945a02558e33dd366b08cb71aee9654da10524ee..e00a301ef0c15c12bf5f99787145a4869c0e6f33
GIT binary patch
literal 3951
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
H)8jt?c4h4B