ghcddlZddlZddlmZddlTddlTddlmZGddejZ GddejZ e d krej ifd Z e d krd Zej d dSdS)N)DSA)*) unhexlifyceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)S)*ImportKeyTestslEY% f$d` -M~Q$Rz Sm('MbuX>8[d(GeYJOl #_2rh\o96}a0&8[ilH\@}A(j3*\d3vU"CazHg xq?+s:(!HseB)lE`Z.ujuq$N1j85i3+soMaHeuc$Llh~yN%HjfgD}gmG?KV.1vdQ>&y6/\8:l #;@ %a3hW elE8`#f!XII0}\Zq%H8vo7;W @aI@FLq)V 7$W-X5W]`+}<U \4O;kb,! F="xwR3V)P {waqU_u~5fBpNl e`J@kAf'A ?4{zctjD][\}}|dddvrJ|dddkrtt |}t |}t |||\dS)N)der_pem_ssh_r )r__dict__itemsrtobytessetattr)selfmnamemvalues /builddir/build/BUILD/imunify360-venv-2.6.0/opt/imunify360/venv/lib64/python3.11/site-packages/Crypto/SelfTest/PublicKey/test_import_DSA.pysetUpzImportKeyTests.setUp(s,4::<< - -ME6RaRy444!9&&&wv77F eV,,,  - -v308201b73082012b06072a8648ce3804013082011e02818100e756ee1717f4b6794c7c214724a19763742c45572b4b3f8ff3b44f3be9f44ce039a2757695ec915697da74ef914fcd1b05660e2419c761d639f45d2d79b802dbd23e7ab8b81b479a380e1f30932584ba2a0b955032342ebc83cb5ca906e7b0d7cd6fe656cecb4c8b5a77123a8c6750a481e3b06057aff6aa6eba620b832d60c3021500ad32f48cd3ae0c45a198a61fa4b5e20320763b2302818079dfdc3d614fe635fceb7eaeae3718dc2efefb45282993ac6749dc83c223d8c1887296316b3b0b54466cf444f34b82e3554d0b90a778faaf1306f025dae6a3e36c7f93dd5bac4052b92370040aca70b8d5820599711900efbc961812c355dd9beffe0981da85c5548074b41c56ae43fd300d89262e4efd89943f99a651b03888038185000281810083352a69a132f34843d2a0eb995bff4e2f083a73f0049d2c91ea2f0ce43d144abda48199e4b003c570a8af83303d45105f606c5c48d925a40ed9c2630c2fa4cdbf838539deb9a29f919085f2046369f627ca84b2cb1e2c7940564b670f963ab1164d4e2ca2bf6ffd39f12f548928bf4d2d1b5e6980b4f1be4c92a91986fba559ctj|j}||||j|j||j|j||j|j||j |j dSN) r importKey der_public assertFalse has_private assertEqualypqgrkey_objs rtestImportKey1zImportKeyTests.testImportKey1Ds-00 ,,../// +++ +++ +++ +++++rc|j|j|j|jf}t j|}|d}||j|dS)NDER) rr"r r!r construct export_keyrrrtupkeyencodeds rtestExportKey1zImportKeyTests.testExportKey1LVvtvtvtv.mC  ..'' '22222ra-----BEGIN PUBLIC KEY----- MIIBtzCCASsGByqGSM44BAEwggEeAoGBAOdW7hcX9LZ5THwhRyShl2N0LEVXK0s/ j/O0Tzvp9EzgOaJ1dpXskVaX2nTvkU/NGwVmDiQZx2HWOfRdLXm4AtvSPnq4uBtH mjgOHzCTJYS6KguVUDI0LryDy1ypBuew181v5lbOy0yLWncSOoxnUKSB47BgV6/2 qm66YguDLWDDAhUArTL0jNOuDEWhmKYfpLXiAyB2OyMCgYB539w9YU/mNfzrfq6u NxjcLv77RSgpk6xnSdyDwiPYwYhyljFrOwtURmz0RPNLguNVTQuQp3j6rxMG8CXa 5qPjbH+T3VusQFK5I3AECspwuNWCBZlxGQDvvJYYEsNV3Zvv/gmB2oXFVIB0tBxW rkP9MA2JJi5O/YmUP5mmUbA4iAOBhQACgYEAgzUqaaEy80hD0qDrmVv/Ti8IOnPw BJ0skeovDOQ9FEq9pIGZ5LADxXCor4MwPUUQX2BsXEjZJaQO2cJjDC+kzb+DhTne uaKfkZCF8gRjafYnyoSyyx4seUBWS2cPljqxFk1OLKK/b/058S9UiSi/TS0bXmmA tPG+TJKpGYb7pVk= -----END PUBLIC KEY-----c|jt|jfD]}tj|}||||j|j||j|j||j |j ||j |j dSr) pem_publictostrrrrrrrr r!r"rpemr$s rtestImportKey2zImportKeyTests.testImportKey2asOU4?%;%;< 0 0CmC((G   W0022 3 3 3   TVWY / / /   TVWY / / /   TVWY / / /   TVWY / / / /  0 0rc|j|j|j|jf}t j|}|d}||j|dS)NPEM) rr"r r!rr(r)rr1r*s rtestExportKey2zImportKeyTests.testExportKey2jr/r~308201bb02010002818100e756ee1717f4b6794c7c214724a19763742c45572b4b3f8ff3b44f3be9f44ce039a2757695ec915697da74ef914fcd1b05660e2419c761d639f45d2d79b802dbd23e7ab8b81b479a380e1f30932584ba2a0b955032342ebc83cb5ca906e7b0d7cd6fe656cecb4c8b5a77123a8c6750a481e3b06057aff6aa6eba620b832d60c3021500ad32f48cd3ae0c45a198a61fa4b5e20320763b2302818079dfdc3d614fe635fceb7eaeae3718dc2efefb45282993ac6749dc83c223d8c1887296316b3b0b54466cf444f34b82e3554d0b90a778faaf1306f025dae6a3e36c7f93dd5bac4052b92370040aca70b8d5820599711900efbc961812c355dd9beffe0981da85c5548074b41c56ae43fd300d89262e4efd89943f99a651b038880281810083352a69a132f34843d2a0eb995bff4e2f083a73f0049d2c91ea2f0ce43d144abda48199e4b003c570a8af83303d45105f606c5c48d925a40ed9c2630c2fa4cdbf838539deb9a29f919085f2046369f627ca84b2cb1e2c7940564b670f963ab1164d4e2ca2bf6ffd39f12f548928bf4d2d1b5e6980b4f1be4c92a91986fba55902145ebd9a3f0b82069d98420986b314215025756065ctj|j}||||j|j||j|j||j|j||j |j ||j |j dSr) rr der_private assertTruerrrr r!r"xr#s rtestImportKey3zImportKeyTests.testImportKey3s- 011 ++--... +++ +++ +++ +++ +++++rc|j|j|j|j|jf}t j|}|dd}||j |dS)Nr'Fpkcs8) rr"r r!r=rr(r)rr;r*s rtestExportKey3zImportKeyTests.testExportKey3_vtvtvtvtv6mC  ..e.44 )733333ra-----BEGIN DSA PRIVATE KEY----- MIIBuwIBAAKBgQDnVu4XF/S2eUx8IUckoZdjdCxFVytLP4/ztE876fRM4DmidXaV 7JFWl9p075FPzRsFZg4kGcdh1jn0XS15uALb0j56uLgbR5o4Dh8wkyWEuioLlVAy NC68g8tcqQbnsNfNb+ZWzstMi1p3EjqMZ1CkgeOwYFev9qpuumILgy1gwwIVAK0y 9IzTrgxFoZimH6S14gMgdjsjAoGAed/cPWFP5jX8636urjcY3C7++0UoKZOsZ0nc g8Ij2MGIcpYxazsLVEZs9ETzS4LjVU0LkKd4+q8TBvAl2uaj42x/k91brEBSuSNw BArKcLjVggWZcRkA77yWGBLDVd2b7/4JgdqFxVSAdLQcVq5D/TANiSYuTv2JlD+Z plGwOIgCgYEAgzUqaaEy80hD0qDrmVv/Ti8IOnPwBJ0skeovDOQ9FEq9pIGZ5LAD xXCor4MwPUUQX2BsXEjZJaQO2cJjDC+kzb+DhTneuaKfkZCF8gRjafYnyoSyyx4s eUBWS2cPljqxFk1OLKK/b/058S9UiSi/TS0bXmmAtPG+TJKpGYb7pVkCFF69mj8L ggadmEIJhrMUIVAldWBl -----END DSA PRIVATE KEY-----c|jt|jfD]}tj|}||||j|j||j|j||j |j ||j |j ||j |j dSr) pem_privater2rrr<rrrr r!r"r=r3s rtestImportKey4zImportKeyTests.testImportKey4s$eD,<&=&=> 0 0CmC((G OOG//11 2 2 2   TVWY / / /   TVWY / / /   TVWY / / /   TVWY / / /   TVWY / / / / 0 0rc|j|j|j|j|jf}t j|}|dd}||j |dS)Nr7Fr@) rr"r r!r=rr(r)rrEr*s rtestExportKey4zImportKeyTests.testExportKey4rCr3082014a0201003082012b06072a8648ce3804013082011e02818100e756ee1717f4b6794c7c214724a19763742c45572b4b3f8ff3b44f3be9f44ce039a2757695ec915697da74ef914fcd1b05660e2419c761d639f45d2d79b802dbd23e7ab8b81b479a380e1f30932584ba2a0b955032342ebc83cb5ca906e7b0d7cd6fe656cecb4c8b5a77123a8c6750a481e3b06057aff6aa6eba620b832d60c3021500ad32f48cd3ae0c45a198a61fa4b5e20320763b2302818079dfdc3d614fe635fceb7eaeae3718dc2efefb45282993ac6749dc83c223d8c1887296316b3b0b54466cf444f34b82e3554d0b90a778faaf1306f025dae6a3e36c7f93dd5bac4052b92370040aca70b8d5820599711900efbc961812c355dd9beffe0981da85c5548074b41c56ae43fd300d89262e4efd89943f99a651b03888041602145ebd9a3f0b82069d98420986b314215025756065ctj|j}||||j|j||j|j||j|j||j |j ||j |j dSr) rr der_pkcs8r<rrrr r!r"r=r#s rtestImportKey5zImportKeyTests.testImportKey5s-// ++--... +++ +++ +++ +++ +++++rc2|j|j|j|j|jf}t j|}|d}||j ||dd}||j |dS)Nr'Tr@) rr"r r!r=rr(r)rrKr*s rtestExportKey5zImportKeyTests.testExportKey5vtvtvtvtv6mC  ..'' 111..d.33 11111ra-----BEGIN PRIVATE KEY----- MIIBSgIBADCCASsGByqGSM44BAEwggEeAoGBAOdW7hcX9LZ5THwhRyShl2N0LEVX K0s/j/O0Tzvp9EzgOaJ1dpXskVaX2nTvkU/NGwVmDiQZx2HWOfRdLXm4AtvSPnq4 uBtHmjgOHzCTJYS6KguVUDI0LryDy1ypBuew181v5lbOy0yLWncSOoxnUKSB47Bg V6/2qm66YguDLWDDAhUArTL0jNOuDEWhmKYfpLXiAyB2OyMCgYB539w9YU/mNfzr fq6uNxjcLv77RSgpk6xnSdyDwiPYwYhyljFrOwtURmz0RPNLguNVTQuQp3j6rxMG 8CXa5qPjbH+T3VusQFK5I3AECspwuNWCBZlxGQDvvJYYEsNV3Zvv/gmB2oXFVIB0 tBxWrkP9MA2JJi5O/YmUP5mmUbA4iAQWAhRevZo/C4IGnZhCCYazFCFQJXVgZQ== -----END PRIVATE KEY-----c|jt|jfD]}tj|}||||j|j||j|j||j |j ||j |j ||j |j dSr) pem_pkcs8r2rrr<rrrr r!r"r=r3s rtestImportKey6zImportKeyTests.testImportKey6sNE$.$9$9: 0 0CmC((G OOG//11 2 2 2   TVWY / / /   TVWY / / /   TVWY / / /   TVWY / / /   TVWY / / / / 0 0rc2|j|j|j|j|jf}t j|}|d}||j ||dd}||j |dS)Nr7Tr@) rr"r r!r=rr(r)rrQr*s rtestExportKey6zImportKeyTests.testExportKey6rOraLssh-dss AAAAB3NzaC1kc3MAAACBAOdW7hcX9LZ5THwhRyShl2N0LEVXK0s/j/O0Tzvp9EzgOaJ1dpXskVaX2nTvkU/NGwVmDiQZx2HWOfRdLXm4AtvSPnq4uBtHmjgOHzCTJYS6KguVUDI0LryDy1ypBuew181v5lbOy0yLWncSOoxnUKSB47BgV6/2qm66YguDLWDDAAAAFQCtMvSM064MRaGYph+kteIDIHY7IwAAAIB539w9YU/mNfzrfq6uNxjcLv77RSgpk6xnSdyDwiPYwYhyljFrOwtURmz0RPNLguNVTQuQp3j6rxMG8CXa5qPjbH+T3VusQFK5I3AECspwuNWCBZlxGQDvvJYYEsNV3Zvv/gmB2oXFVIB0tBxWrkP9MA2JJi5O/YmUP5mmUbA4iAAAAIEAgzUqaaEy80hD0qDrmVv/Ti8IOnPwBJ0skeovDOQ9FEq9pIGZ5LADxXCor4MwPUUQX2BsXEjZJaQO2cJjDC+kzb+DhTneuaKfkZCF8gRjafYnyoSyyx4seUBWS2cPljqxFk1OLKK/b/058S9UiSi/TS0bXmmAtPG+TJKpGYb7pVk=c|jt|jfD]}tj|}||||j|j||j|j||j |j ||j |j dSr) ssh_pubr2rrrrrrr r!r")rsshr$s rtestImportKey7zImportKeyTests.testImportKey7sL% "5"56 0 0CmC((G   W0022 3 3 3   TVWY / / /   TVWY / / /   TVWY / / /   TVWY / / / /  0 0rc|j|j|j|jf}t j|}|d}||j|dS)NOpenSSH) rr"r r!rr(r)rrVr*s rtestExportKey7zImportKeyTests.testExportKey7sVvtvtvtv.mC  ..++ w/////ra-----BEGIN DSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: AES-128-CBC,70B6908939D65E9F2EB999E8729788CE 4V6GHRDpCrdZ8MBjbyp5AlGUrjvr2Pn2e2zVxy5RBt4FBj9/pa0ae0nnyUPMLSUU kKyOR0topRYTVRLElm4qVrb5uNZ3hRwfbklr+pSrB7O9eHz9V5sfOQxyODS07JxK k1OdOs70/ouMXLF9EWfAZOmWUccZKHNblUwg1p1UrZIz5jXw4dUE/zqhvXh6d+iC ADsICaBCjCrRQJKDp50h3+ndQjkYBKVH+pj8TiQ79U7lAvdp3+iMghQN6YXs9mdI gFpWw/f97oWM4GHZFqHJ+VSMNFjBiFhAvYV587d7Lk4dhD8sCfbxj42PnfRgUItc nnPqHxmhMQozBWzYM4mQuo3XbF2WlsNFbOzFVyGhw1Bx1s91qvXBVWJh2ozrW0s6 HYDV7ZkcTml/4kjA/d+mve6LZ8kuuR1qCiZx6rkffhh1gDN/1Xz3HVvIy/dQ+h9s 5zp7PwUoWbhqp3WCOr156P6gR8qo7OlT6wMh33FSXK/mxikHK136fV2shwTKQVII rJBvXpj8nACUmi7scKuTWGeUoXa+dwTZVVe+b+L2U1ZM7+h/neTJiXn7u99PFUwu xVJtxaV37m3aXxtCsPnbBg== -----END DSA PRIVATE KEY-----c|jt|jfD]}tj|d}||||j|j||j|j||j |j ||j |j ||j |j dSNPWDTEST) pem_private_encryptedr2rrr<rrrr r!r"r=r3s rtestImportKey8zImportKeyTests.testImportKey8s.d6P0Q0QR 0 0CmC33G OOG//11 2 2 2   TVWY / / /   TVWY / / /   TVWY / / /   TVWY / / /   TVWY / / / / 0 0rc|j|j|j|j|jf}t j|}|ddd}t j|d}| |j|j| |j|j| |j|j| |j|j| |j|jdS)Nr7Fr^rA passphrase) rr"r r!r=rr(r)rrr*s rtestExportKey8zImportKeyTests.testExportKey8svtvtvtvtv6mC  ..e .JJmGY// ''' ''' ''' ''' '''''raE-----BEGIN ENCRYPTED PRIVATE KEY----- MIIBcTAbBgkqhkiG9w0BBQMwDgQI0GC3BJ/jSw8CAggABIIBUHc1cXZpExIE9tC7 7ryiW+5ihtF2Ekurq3e408GYSAu5smJjN2bvQXmzRFBz8W38K8eMf1sbWroZ4+zn kZSbb9nSm5kAa8lR2+oF2k+WRswMR/PTC3f/D9STO2X0QxdrzKgIHEcSGSHp5jTx aVvbkCDHo9vhBTl6S3ogZ48As/MEro76+9igUwJ1jNhIQZPJ7e20QH5qDpQFFJN4 CKl2ENSEuwGiqBszItFy4dqH0g63ZGZV/xt9wSO9Rd7SK/EbA/dklOxBa5Y/VItM gnIhs9XDMoGYyn6F023EicNJm6g/bVQk81BTTma4tm+12TKGdYm+QkeZvCOMZylr Wv67cKwO3cAXt5C3QXMDgYR64XvuaT5h7C0igMp2afSXJlnbHEbFxQVJlv83T4FM eZ4k+NQDbEL8GiHmFxzDWQAuPPZKJWEEEV2p/To+WOh+kSDHQw== -----END ENCRYPTED PRIVATE KEY-----c|jt|jfD]}tj|d}||||j|j||j|j||j |j ||j |j ||j |j dSr]) pem_pkcs8_encryptedr2rrr<rrrr r!r"r=r3s rtestImportKey9zImportKeyTests.testImportKey93s,eD4L.M.MN 0 0CmC33G OOG//11 2 2 2   TVWY / / /   TVWY / / /   TVWY / / /   TVWY / / /   TVWY / / / / 0 0r430820196304006092a864886f70d01050d3033301b06092a864886f70d01050c300e0408d725bf1b6b8239f4020203e8301406082a864886f70d0307040827a1c66c42afeece048201505cacfde7bf8edabb3e0d387950dc872662ea7e9b1ed4400d2e7e6186284b64668d8d0328c33a9d9397e6f03df7cb68268b0a06b4e22f7d132821449ecf998a8b696dbc6dd2b19e66d7eb2edfeb4153c1771d497023954f36072868b5fcccf93413a5ac4b2eb47d4b3f681c6bd67ae363ed776f45ae47174a00098a7c930a50f820b227ddf50f9742d8e950d02586ff2dac0e3c372248e5f9b6a7a02f4004f20c87913e0f7b52bccc209b95d478256a890b31d4c9adec21a4d157a179a93a3dad06f94f3ce486b46dfa7fc15fd852dd7680bbb2f174787e71bd8dbaf81eca7518d76c1d26256e95424864ba45ca5d47d7c5a421be02fab94ab01e18593f66cf9094eb5c94b9ecf3aa08b854a195cf87612fbe5e96c4262b0d573e52dc71ba3f5e468c601e816c49b7d32c698b22175e89aaef0c4437705ef2f88a116d99d8e2869a4fd09a771b84b49e4ccb79aadcb1c9ctj|jd}||||j|j||j|j||j|j||j |j ||j |j dSr]) rrder_pkcs8_encryptedr<rrrr r!r"r=r#s rtestImportKey10zImportKeyTests.testImportKey10Qs- 8)DD ++--... +++ +++ +++ +++ +++++rcR|j|j|j|j|jf}t j|}tttdtdzj }| ddd|}| |j |dS)N27A1C66C42AFEECED725BF1B6B8239F4r'Tr^)rArcrandfunc)rr"r r!r=rr(BytesIOrbreadr)rrj)rr+r,ror-s rtestExportKey10zImportKeyTests.testExportKey10Zsvtvtvtvtv6mC  9Q'9%:%:Q?Q=R=R%RSSTTY..dyS[.\\ 17;;;;;rc^|ttj|jddS)Nwrongpwd) assertRaises ValueErrorrrrjrs rtestImportError1zImportKeyTests.testImportError1cs' *cmT5MzZZZZZrc|j|j|j|j|jf}t j|}|t|j ddddS)Nr'Fr^rb) rr"r r!r=rr(rvrwr)rr+r,s rtestExportError2zImportKeyTests.testExportError2fsSvtvtvtvtv6mC   *cne5U^_____rctj|j}||||j|j||j|j||j|j||j |j dS)z*Verify importKey is an alias to import_keyN) r import_keyrrrrrr r!r"r#s rtest_import_keyzImportKeyTests.test_import_keyks.11 ,,../// +++ +++ +++ +++++rc|j|j|j|j|jf}t j|}||| dSr) rr"r r!r=rr(r exportKeyr)r{s rtest_exportKeyzImportKeyTests.test_exportKeyusYvtvtvtvtv6mC   #..*:*:;;;;;rcR|ttjddS)Nr)rvrwrr~rxs rtest_import_emptyz ImportKeyTests.test_import_empty{s" *cnc:::::rN)+__name__ __module__ __qualname__rr r!r"r=rrr%r.r1r5r8r;r>rBrErFrHrKrLrNrQrRrTrVrXr[r_r`rdrfrgrjrkrsryr|rrrrrrr s  }A ~A8A }A8A - - - = ,,,333 J000333 E ,,,444 !K000444 #,,,222 I000222 _ G000000!"000 ( ( ( '000 ;,,,<<<[[[``` ,,,<<< ;;;;;rrceZdZdZdZdS)ImportKeyFromX509Certc|d}d}d}d}d}tj|}dD]a}t|dz}t t jdd |d } |t||| b| | dS) Na -----BEGIN CERTIFICATE----- MIIDUjCCArsCAQIwDQYJKoZIhvcNAQEFBQAwfjENMAsGA1UEChMEQWNtZTELMAkG A1UECxMCUkQxHDAaBgkqhkiG9w0BCQEWDXNwYW1AYWNtZS5vcmcxEzARBgNVBAcT Ck1ldHJvcG9saXMxETAPBgNVBAgTCE5ldyBZb3JrMQswCQYDVQQGEwJVUzENMAsG A1UEAxMEdGVzdDAeFw0xNDA3MTEyMDM4NDNaFw0xNzA0MDYyMDM4NDNaME0xCzAJ BgNVBAYTAlVTMREwDwYDVQQIEwhOZXcgWW9yazENMAsGA1UEChMEQWNtZTELMAkG A1UECxMCUkQxDzANBgNVBAMTBnBvbGFuZDCCAbYwggErBgcqhkjOOAQBMIIBHgKB gQDOrN4Ox4+t3T6wKeHfhzArhcrNEFMQ4Ss+4PIKyimDy9Bn64WPkL1B/9dvYIga 23GLu6tVJmXo6EdJnVOHEMhr99EeOwuDWWeP7Awq7RSlKEejokr4BEzMTW/tExSD cO6/GI7xzh0eTH+VTTPDfyrJMYCkh0rJAfCP+5xrmPNetwIVALtXYOV1yoRrzJ2Q M5uEjidH6GiZAoGAfUqA1SAm5g5U68SILMVX9l5rq0OpB0waBMpJQ31/R/yXNDqo c3gGWZTOJFU4IzwNpGhrGNADUByz/lc1SAOAdEJIr0JVrhbGewQjB4pWqoLGbBKz RoavTNDc/zD7SYa12evWDHADwvlXoeQg+lWop1zS8OqaDC7aLGKpWN3/m8kDgYQA AoGAKoirPAfcp1rbbl4y2FFAIktfW8f4+T7d2iKSg73aiVfujhNOt1Zz1lfC0NI2 eonLWO3tAM4XGKf1TLjb5UXngGn40okPsaA81YE6ZIKm20ywjlOY3QkAEdMaLVY3 9PJvM8RGB9m7pLKxyHfGMfF40MVN4222zKeGp7xhM0CNiCUwDQYJKoZIhvcNAQEF BQADgYEAfbNZfpYa2KlALEM1FZnwvQDvJHntHz8LdeJ4WM7CXDlKi67wY2HKM30w s2xej75imkVOFd1kF2d0A8sjfriXLVIt1Hwq9ANZomhu4Edx0xpH8tqdh/bDtnM2 TmduZNY9OWkb07h0CtWD6Zt8fhRllVsSSrlWd/2or7FXNC5weFQ= -----END CERTIFICATE----- a 2a:88:ab:3c:07:dc:a7:5a:db:6e:5e:32:d8:51:40: 22:4b:5f:5b:c7:f8:f9:3e:dd:da:22:92:83:bd:da: 89:57:ee:8e:13:4e:b7:56:73:d6:57:c2:d0:d2:36: 7a:89:cb:58:ed:ed:00:ce:17:18:a7:f5:4c:b8:db: e5:45:e7:80:69:f8:d2:89:0f:b1:a0:3c:d5:81:3a: 64:82:a6:db:4c:b0:8e:53:98:dd:09:00:11:d3:1a: 2d:56:37:f4:f2:6f:33:c4:46:07:d9:bb:a4:b2:b1: c8:77:c6:31:f1:78:d0:c5:4d:e3:6d:b6:cc:a7:86: a7:bc:61:33:40:8d:88:25 a 00:ce:ac:de:0e:c7:8f:ad:dd:3e:b0:29:e1:df:87: 30:2b:85:ca:cd:10:53:10:e1:2b:3e:e0:f2:0a:ca: 29:83:cb:d0:67:eb:85:8f:90:bd:41:ff:d7:6f:60: 88:1a:db:71:8b:bb:ab:55:26:65:e8:e8:47:49:9d: 53:87:10:c8:6b:f7:d1:1e:3b:0b:83:59:67:8f:ec: 0c:2a:ed:14:a5:28:47:a3:a2:4a:f8:04:4c:cc:4d: 6f:ed:13:14:83:70:ee:bf:18:8e:f1:ce:1d:1e:4c: 7f:95:4d:33:c3:7f:2a:c9:31:80:a4:87:4a:c9:01: f0:8f:fb:9c:6b:98:f3:5e:b7 zI 00:bb:57:60:e5:75:ca:84:6b:cc:9d:90:33:9b:84: 8e:27:47:e8:68:99 a 7d:4a:80:d5:20:26:e6:0e:54:eb:c4:88:2c:c5:57: f6:5e:6b:ab:43:a9:07:4c:1a:04:ca:49:43:7d:7f: 47:fc:97:34:3a:a8:73:78:06:59:94:ce:24:55:38: 23:3c:0d:a4:68:6b:18:d0:03:50:1c:b3:fe:57:35: 48:03:80:74:42:48:af:42:55:ae:16:c6:7b:04:23: 07:8a:56:aa:82:c6:6c:12:b3:46:86:af:4c:d0:dc: ff:30:fb:49:86:b5:d9:eb:d6:0c:70:03:c2:f9:57: a1:e4:20:fa:55:a8:a7:5c:d2:f0:ea:9a:0c:2e:da: 2c:62:a9:58:dd:ff:9b:c9 rr r!r"_str [^0-9a-f] striprrlocalsintresubrgetattrrr) r x509_v1_certy_strp_strq_strg_strr, comp_namecomp_strcomps r test_x509v1z!ImportKeyFromX509Cert.test_x509v1s * EGG+ 0       mL))- < r(sH&y{{33rsuite) defaultTest)rrCrypto.PublicKeyrCrypto.SelfTest.st_commonCrypto.Util.py3compatbinasciirTestCaserrrmainrrrrrrs*. ''''####\;\;\;\;\;X&\;\;\;~ \,\,\,\,\,H-\,\,\,~ zHMOOO  z 3 3EHMg&&&&&&r