From b6bc44810acd72cb2945ff233d87008f307aa66f Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Tue, 3 Oct 2023 15:22:26 +0200 Subject: [PATCH] Update PKCS#12 and PKCS#8 test containers The RC2 and DES algorithms used by these, respectively, are only provided if OpenSSL is compiled with and loads the legacy provider. That isn't the case when used via oscrypto (at least not by default, but using these old algorithms doesn't make sense anyway). --- .../tests/tests/certificates/certificates.py | 2 +- .../certificates/certs/ca_encrypted.pkcs8 | Bin 0 -> 1329 bytes .../certificates/certs/ca_enrypted.pkcs8 | Bin 1261 -> 0 bytes .../tests/certificates/certs/warrior.pkcs12 | Bin 3509 -> 3651 bytes .../certs/warrior_encrypted.pkcs12 | Bin 3509 -> 3651 bytes 5 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 strongMan/tests/tests/certificates/certs/ca_encrypted.pkcs8 delete mode 100644 strongMan/tests/tests/certificates/certs/ca_enrypted.pkcs8 diff --git a/strongMan/tests/tests/certificates/certificates.py b/strongMan/tests/tests/certificates/certificates.py index 10aefe1e..a1956e22 100644 --- a/strongMan/tests/tests/certificates/certificates.py +++ b/strongMan/tests/tests/certificates/certificates.py @@ -13,7 +13,7 @@ class TestCertificates(object): PKCS1_rsa_ca_encrypted = loader.create("ca.key") PKCS8_rsa_ca = loader.create("ca2.pkcs8") PKCS8_ec = loader.create("ec.pkcs8") - PKCS8_rsa_ca_encrypted = loader.create("ca_enrypted.pkcs8") + PKCS8_rsa_ca_encrypted = loader.create("ca_encrypted.pkcs8") X509_rsa_ca_der = loader.create("cacert.der") X509_ec = loader.create("ec.crt") PKCS1_ec = loader.create("ec2.key") diff --git a/strongMan/tests/tests/certificates/certs/ca_encrypted.pkcs8 b/strongMan/tests/tests/certificates/certs/ca_encrypted.pkcs8 new file mode 100644 index 0000000000000000000000000000000000000000..ac639d816f78171fa04eb6c904198235c611fcbc GIT binary patch literal 1329 zcmV-11&LNQU&90Umd>G+-0=Loa{ z0tf&w3+{I@Yzl0s}ha^#rj{8tj5tZT18rDI-zJcF}6SEhP^hmQAmQn(2xH+W4 zYIbmmqMm(?5uX2b@+u2(hUdZhEj~{=#f|x#G zAX@fqT_+5@go0Q+eBGER@l$C~!e}vEK^ly?Epw^ex#C$k!Yn~JSD|ttenFv^EnQNs zrelW@X14aJFE}vQL*k{z{L;d!=IyO-TJ11~)8*>Rg1!vhD%pH8aTuwT?o#6CR87&m z9j#O3!{4-tvp!1LGas-Uc1AjZKR((^@z)!HBP18|WKLO#(C(AB?#n^g!Aiv5eMLjM zmNKb{p-TjVy6-bN_6m`@4NT9b%yR4Vb|31tSdv65azBCH05oOJW0OKBOz%Sjwv-o= z471YwwKSndroK~tpDAm5(a)}EvSsU|Zi${Wk*pE8v09NGHl}Ubsil8GF1`WOS@?ba zo%`vT)X=@bjl(vL%AKgyK0@&I=7pP=DT}Lp zLJoj2G-B9^Vvn2n{^w$4g;%`^I6zQqYHE8a=E+va%C;pEj$bnekDx1iDl7*eFgXsh zBLpuiH|_S6A2)-G%T!1mIl{+K5?LAiIfL3$LLz2cIH=Iu|L{)U2t~P@>v)DQ^3suc zlA5~n@ocH+0`|w`Ldq|BXO1dx)CrUeS7F$m3oaQ0@Xb6e+%_u}Za1cv{z=_AQXd(z z;&7BVfw-|eFPXMEthTgMrrn3JQ+*24-{hjLlqtc5cncvs|IBoEdF&Ww;_2x#q&@p7 zB<1hX-WKW@j>%-Hcgh39Kcl7HPP*`;D_%9NJSdEbwvg(bD#NMsZ|Y|>=7LRWfu4-< zz?qm<$a}(?(3L1xA=34xww!{VdNvx;ZJ-nQ{O)FRWw-%(TK2C@XhnrChH_CHRokA^ zWhWw5Ps2U(qu08T3}kvl@c<-^`WglA8<@gN+Tw>FRA|XVDsUdQG!qk56e$cKz}uLl04QilOm|~wATh~XdzFxBN>do6neMake*%+=XJaK?XIRu-F z%6_~Vo4Sx%{{iDnZzC~Q{>1C8MPvkCEpskrQh337SkGX6UB&vTW6`xlLfJfsE^ZN+ zS{Do6_|F)fVO9Z9K?rA;ieEBLE2h;|aFxTqG~rCB8=w%I4o8H>Kg2e*d&vfT09$Oh zHxZ8_-WS{gSPm^bGmo31>C!x;XfO|SQ)4(Q9KvqcJel};Bn>*Z}4)@PLHGQQk@VxyQ=HqhT z48a|BeXTMhcTNGwp3K3iw1o(F(G?{mi;EAgC61Ze5Pi95SxrGVLvQ!9LeE3Pejuz? n1HVwD@s>y6!=85s3NYOL#U_@z6COpTWG%|85>cwUT&6wfoHB$a literal 0 HcmV?d00001 diff --git a/strongMan/tests/tests/certificates/certs/ca_enrypted.pkcs8 b/strongMan/tests/tests/certificates/certs/ca_enrypted.pkcs8 deleted file mode 100644 index 27182ab133ad3f06724625960077b94885ec612a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1261 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 I|B2dv18mF5pa1{> literal 3509 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 diff --git a/strongMan/tests/tests/certificates/certs/warrior_encrypted.pkcs12 b/strongMan/tests/tests/certificates/certs/warrior_encrypted.pkcs12 index c21e66437faea35aa9f48c4b4c61bb1c6304f226..6eceb99bda76de470c737a0e0bfe7e607d050936 100644 GIT binary patch literal 3651 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 Dh)u+Q literal 3509 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