From 2e1f738ea5ae21c0bb9c984523c2a592db1d9151 Mon Sep 17 00:00:00 2001 From: michael-hart Date: Tue, 23 Sep 2014 21:52:47 +0100 Subject: Test Vector changes Changed names of existing vectors to be more instructive about what the key contains, and adapted tests to compensate, which pass. Added public keys for all encryption types and two new private keys for PEM serialization, documented in the README.txt in the same folder --- tests/hazmat/primitives/test_serialization.py | 18 ++--- .../asymmetric/PEM_Serialization/README.txt | 10 ++- .../PEM_Serialization/dsa_private_key.pem | 23 +++++++ .../PEM_Serialization/dsa_public_key.pem | 20 ++++++ .../asymmetric/PEM_Serialization/dsaparam.pem | 14 ++++ .../PEM_Serialization/rsa_private_key.pem | 30 ++++++++ .../PEM_Serialization/rsa_public_key.pem | 9 +++ .../asymmetric/PKCS8/enc-rsa-pkcs8.pem | 38 +++++++++++ .../asymmetric/PKCS8/enc2-rsa-pkcs8.pem | 40 +++++++++++ .../asymmetric/PKCS8/enc2pkcs8.pem | 40 ----------- .../asymmetric/PKCS8/encpkcs8.pem | 38 ----------- .../asymmetric/PKCS8/unenc-dsa-pkcs8.pub.pem | 12 ++++ .../asymmetric/PKCS8/unenc-rsa-pkcs8.pem | 79 ++++++++++++++++++++++ .../asymmetric/PKCS8/unenc-rsa-pkcs8.pub.pem | 6 ++ .../asymmetric/PKCS8/unencpkcs8.pem | 79 ---------------------- 15 files changed, 289 insertions(+), 167 deletions(-) create mode 100644 vectors/cryptography_vectors/asymmetric/PEM_Serialization/dsa_private_key.pem create mode 100644 vectors/cryptography_vectors/asymmetric/PEM_Serialization/dsa_public_key.pem create mode 100644 vectors/cryptography_vectors/asymmetric/PEM_Serialization/dsaparam.pem create mode 100644 vectors/cryptography_vectors/asymmetric/PEM_Serialization/rsa_private_key.pem create mode 100644 vectors/cryptography_vectors/asymmetric/PEM_Serialization/rsa_public_key.pem create mode 100644 vectors/cryptography_vectors/asymmetric/PKCS8/enc-rsa-pkcs8.pem create mode 100644 vectors/cryptography_vectors/asymmetric/PKCS8/enc2-rsa-pkcs8.pem delete mode 100644 vectors/cryptography_vectors/asymmetric/PKCS8/enc2pkcs8.pem delete mode 100644 vectors/cryptography_vectors/asymmetric/PKCS8/encpkcs8.pem create mode 100644 vectors/cryptography_vectors/asymmetric/PKCS8/unenc-dsa-pkcs8.pub.pem create mode 100644 vectors/cryptography_vectors/asymmetric/PKCS8/unenc-rsa-pkcs8.pem create mode 100644 vectors/cryptography_vectors/asymmetric/PKCS8/unenc-rsa-pkcs8.pub.pem delete mode 100644 vectors/cryptography_vectors/asymmetric/PKCS8/unencpkcs8.pem diff --git a/tests/hazmat/primitives/test_serialization.py b/tests/hazmat/primitives/test_serialization.py index 7c912a92..d369e8f4 100644 --- a/tests/hazmat/primitives/test_serialization.py +++ b/tests/hazmat/primitives/test_serialization.py @@ -298,9 +298,9 @@ class TestPKCS8Serialization(object): @pytest.mark.parametrize( ("key_file", "password"), [ - ("unencpkcs8.pem", None), - ("encpkcs8.pem", b"foobar"), - ("enc2pkcs8.pem", b"baz"), + ("unenc-rsa-pkcs8.pem", None), + ("enc-rsa-pkcs8.pem", b"foobar"), + ("enc2-rsa-pkcs8.pem", b"baz"), ("pkcs12_s2k_pem-X_9607.pem", b"123456"), ("pkcs12_s2k_pem-X_9671.pem", b"123456"), ("pkcs12_s2k_pem-X_9925.pem", b"123456"), @@ -349,7 +349,7 @@ class TestPKCS8Serialization(object): def test_unused_password(self, backend): key_file = os.path.join( - "asymmetric", "PKCS8", "unencpkcs8.pem") + "asymmetric", "PKCS8", "unenc-rsa-pkcs8.pem") password = b"this password will not be used" with pytest.raises(TypeError): @@ -362,7 +362,7 @@ class TestPKCS8Serialization(object): def test_wrong_password(self, backend): key_file = os.path.join( - "asymmetric", "PKCS8", "encpkcs8.pem") + "asymmetric", "PKCS8", "enc-rsa-pkcs8.pem") password = b"this password is wrong" with pytest.raises(ValueError): @@ -378,7 +378,7 @@ class TestPKCS8Serialization(object): key_file = os.path.join( "asymmetric", "PKCS8", - "encpkcs8.pem" + "enc-rsa-pkcs8.pem" ) with pytest.raises(TypeError): @@ -403,7 +403,7 @@ class TestPKCS8Serialization(object): ) def test_corrupt_format(self, backend): - # unencpkcs8.pem with a bunch of data missing. + # unenc-rsa-pkcs8.pem with a bunch of data missing. key_data = textwrap.dedent("""\ -----BEGIN PRIVATE KEY----- MIICdQIBADALBgkqhkiG9w0BAQEEggJhMIICXQIBAAKBgQC7JHoJfg6yNzLMOWet @@ -433,7 +433,7 @@ class TestPKCS8Serialization(object): ) def test_encrypted_corrupt_format(self, backend): - # encpkcs8.pem with some bits flipped. + # enc-rsa-pkcs8.pem with some bits flipped. key_data = textwrap.dedent("""\ -----BEGIN ENCRYPTED PRIVATE KEY----- MIICojAcBgoqhkiG9w0BDAEDMA4ECHK0M0+QuEL9AgIBIcSCAoDRq+KRY+0XP0tO @@ -469,7 +469,7 @@ class TestPKCS8Serialization(object): def test_key1_pem_encrypted_values(self, backend): pkey = load_vectors_from_file( os.path.join( - "asymmetric", "PKCS8", "encpkcs8.pem"), + "asymmetric", "PKCS8", "enc-rsa-pkcs8.pem"), lambda pemfile: load_pem_pkcs8_private_key( pemfile.read().encode(), b"foobar", backend ) diff --git a/vectors/cryptography_vectors/asymmetric/PEM_Serialization/README.txt b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/README.txt index 97879f5c..6963d2b5 100644 --- a/vectors/cryptography_vectors/asymmetric/PEM_Serialization/README.txt +++ b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/README.txt @@ -4,4 +4,12 @@ Contains 1. ec_private_key.pem - Contains an Elliptic Curve key generated using OpenSSL, from the curve secp256r1. 2. ec_private_key_encrypted.pem - Contains the same Elliptic Curve key as ec_private_key.pem, except that - it is encrypted with AES-256 with the password "123456". \ No newline at end of file + it is encrypted with AES-256 with the password "123456". +3. ec_public_key.pem - Contains the public key corresponding to ec_private_key.pem, generated using OpenSSL. +4. rsa_private_key.pem - Contains an RSA 2048 bit key generated using OpenSSL, protected by the secret + "123456" with DES3 encryption. +5. rsa_public_key.pem - Contains an RSA 2048 bit public generated using OpenSSL from rsa_private_key.pem. +6. dsaparam.pem - Contains 2048-bit DSA parameters generated using OpenSSL; contains no keys. +7. dsa_private_key.pem - Contains a DSA 2048 bit key generated using OpenSSL from the parameters in + dsaparam.pem, protected by the secret "123456" with DES3 encryption. +8. dsa_public_key.pem - Contains a DSA 2048 bit key generated using OpenSSL from dsa_private_key.pem. \ No newline at end of file diff --git a/vectors/cryptography_vectors/asymmetric/PEM_Serialization/dsa_private_key.pem b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/dsa_private_key.pem new file mode 100644 index 00000000..73438aaf --- /dev/null +++ b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/dsa_private_key.pem @@ -0,0 +1,23 @@ +-----BEGIN DSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: DES-EDE3-CBC,8E6909ECE41ABC19 + +Yc/v41zZCE8uICy9f13iDFtSUL0HGv4y6LVg9kCYDwANU778dvIoC2f71swaC3Dr +jxoh5Nl9KPavTVyEXyVrAhHkYsh0jRGv6MQlTP8SDSYa1aa8q03sp8K9X1FiRpga +wpFMYk3OIzLn2SGgEi98oo5rAXxjbzNXQCLXCyCJXIaVM+zcvK6bBwv94wVOdeFt +LgVz00ULio+fWsYjCigoCVb7ruPWnlZWOwvyYB2iQSlcEXZke4W14oXPlarmL8ma +ivJ6Tg/lbwFZJHqpBfeAYIVj5o8qnwfYb69nPTnsaPTzPMFwQteHqc5Ck3XV5Szi +FIVHTpziRWnnWH3aujjM4qyINed8M5sukUgiIk32LKuA3Z+xRjNDcSauUhpzwXAb +EHQ8R36Drs/GZTQLidDdrHTUSmek7e4avE0uaDyLLEvJivcM79lcFcsXrR2mwkds +wf7IlH0B8/t2qpRKzlE3cSFvIpUilPY3TN6uDPuXfEWHWwNlY3PNxf6V3FmOu9sw +g9lbFHofxTemC3s9U+hJUzfUJyLTuObx14SirixWE8nvyHF4gdEDHtariYRpWtYs +ASelUaaVsyArDNeh5CrqOAE1mEtOaqzJXvpjewYtyrCjGUD26Rt5TxHBQb0UJQBg +1A2ouUEpuXzlOtLFfKVqG+JfhMITuZiSvlHBsHRKy/f1OmEeYay7h3mJ13G5gbc5 +epsIUIIyFOe/BQmurVHIaW33bYfcBUOrXh24KZn1O1/OBLBQufAJnrncYgIim6TQ +MKwz8xt/vowzTYVre8CwL/d0Vcazehbkb/oQN9B2+Tq5KJUhDMbp5pCEB6dmtULQ +tL6XFjm/86ydZ5Rr/w+cIh4XWw4rRN5BJEjfDwsle0lnrddW5g/aS8v3RymMiGGR +1fwHg1PxKmmuPM0S2NgMGSRXHXTe5XImKD+mDvKCwVOXBCgieevqPfamUc6qkqbc +uXCwcQ6LlvfAgPgaLb/QrpMkMtviY6g0NRWI9oaMJW3OQOeZGxcX7FWv4mcziKF8 +uQ86X14XYOF302b2LsFJG5+S0nrY3x6OiUDq8MHrSKikZmDIrHGeG8dawByK2HeU +8XYf6yTYt/JGPohVX6cXWJDL7A0bSklY +-----END DSA PRIVATE KEY----- diff --git a/vectors/cryptography_vectors/asymmetric/PEM_Serialization/dsa_public_key.pem b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/dsa_public_key.pem new file mode 100644 index 00000000..3111fd1c --- /dev/null +++ b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/dsa_public_key.pem @@ -0,0 +1,20 @@ +-----BEGIN PUBLIC KEY----- +MIIDOjCCAi0GByqGSM44BAEwggIgAoIBAQCdup+OF+LpxHgQA7uLqHHssTpNNri+ +jF08raJImzJWAuQ4M/O0SoZuAoaHfeiGEVXvUm8+VLmOyp76S7e89oWOEAOeu7Ss +C+KAihw6fCIHqbkuLbw+lr+QHogUoXrw6lfqHx/ipzRSqdcXFgCpfFXG6kq1dD6u +xgROwEKhJwTdcxfzslHNuapcdYJkELt+On+Md7ugUk/pyoZMdCDJI0n96zspjFV3 +kuVlYFzqx8pxNZWQVfiTuVJ3P5d+u8EWbJ6MOvDPYnl2Ta2fKylKJMyTQdd0b5kn +fdaVFLlH99AOlBscxKJVVT+ip/ZpLoKQdguKjj8IATY9NroVjDi31hHPAhUA9Xiw +8nJriOJbS9yr8RaVob8lgEECggEAYU1COMEI9J6Cy8mt9ephOlo6zP/FwqP6g9QT +PksRwyfWS1PxciShQaItRp0YCW9px8iDGTHtSIKBBjIGwv4/WvsqpBUdIFfFYvH7 +TCyycLiqVXag4wV5CXPipZCQwcQNI22rtrONT7R2P35kOXTRKRtZNi2/Q9/S0rn1 +x8LcWsFawFc3cnJSu5HAHZv22yIxBX7yPzwAng33GoZ+9SIVgHT90t2IzERH13eA +WHiLmNlmF/zcTFYIUlyY3qdsQmH5RfItCqSE9/fnPQcx3jyZ3IJ/P794gRh5/z/b +fx1DYwRrxKu1ZjPTWbcijXzb5bMBqzd5URziYcTs4WqukqzTLAOCAQUAAoIBAB8G +85B5Z/xdBZhjCQJ9YyvfJRlhm6aIuir4vqD8xp9uQQtPzG8I1hDncBlgNm4TwaZE +lJZDMQusk2zDh3FqVxiuFElvKUwkG+9jW3VRtLRHKHMlYcBOgZVcoUwIpUQk/ZMM +L8NCId9/ofkRwV1N3oxksw7z7wB+0N6lCOxqoeMHG06kCPPb6drfus/Q81SjD8rP +mN1m8NrnV0A+AQbszLyl6n1C1XRbsdtSb8AcPMfsnki+8iJPnJNymI+3lnzG0eHj +3EK2euOA9R69pKsSWgZbobS3Emgj90KBjAIv8HcVauAQwe3m5s9E63R+2WjOGGKt +kp5HvqNS90ur/hL65K8= +-----END PUBLIC KEY----- diff --git a/vectors/cryptography_vectors/asymmetric/PEM_Serialization/dsaparam.pem b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/dsaparam.pem new file mode 100644 index 00000000..d256c86e --- /dev/null +++ b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/dsaparam.pem @@ -0,0 +1,14 @@ +-----BEGIN DSA PARAMETERS----- +MIICIAKCAQEAnbqfjhfi6cR4EAO7i6hx7LE6TTa4voxdPK2iSJsyVgLkODPztEqG +bgKGh33ohhFV71JvPlS5jsqe+ku3vPaFjhADnru0rAvigIocOnwiB6m5Li28Ppa/ +kB6IFKF68OpX6h8f4qc0UqnXFxYAqXxVxupKtXQ+rsYETsBCoScE3XMX87JRzbmq +XHWCZBC7fjp/jHe7oFJP6cqGTHQgySNJ/es7KYxVd5LlZWBc6sfKcTWVkFX4k7lS +dz+XfrvBFmyejDrwz2J5dk2tnyspSiTMk0HXdG+ZJ33WlRS5R/fQDpQbHMSiVVU/ +oqf2aS6CkHYLio4/CAE2PTa6FYw4t9YRzwIVAPV4sPJya4jiW0vcq/EWlaG/JYBB +AoIBAGFNQjjBCPSegsvJrfXqYTpaOsz/xcKj+oPUEz5LEcMn1ktT8XIkoUGiLUad +GAlvacfIgxkx7UiCgQYyBsL+P1r7KqQVHSBXxWLx+0wssnC4qlV2oOMFeQlz4qWQ +kMHEDSNtq7azjU+0dj9+ZDl00SkbWTYtv0Pf0tK59cfC3FrBWsBXN3JyUruRwB2b +9tsiMQV+8j88AJ4N9xqGfvUiFYB0/dLdiMxER9d3gFh4i5jZZhf83ExWCFJcmN6n +bEJh+UXyLQqkhPf35z0HMd48mdyCfz+/eIEYef8/238dQ2MEa8SrtWYz01m3Io18 +2+WzAas3eVEc4mHE7OFqrpKs0yw= +-----END DSA PARAMETERS----- diff --git a/vectors/cryptography_vectors/asymmetric/PEM_Serialization/rsa_private_key.pem b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/rsa_private_key.pem new file mode 100644 index 00000000..dbef6744 --- /dev/null +++ b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/rsa_private_key.pem @@ -0,0 +1,30 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: DES-EDE3-CBC,B4B3C8C536E57CBE + +B8Lq1K/wcOr4JMspWrX3zCX14WAp3xgHsKAB4XfuCuju/HQZoWXtok1xoi5e2Ovw +ENA99Jvb2yvBdDUfOlp1L1L+By3q+SwcdeNuEKjwGFG6MY2uZaVtLSiAFXf1N8PL +id7FMRGPIxpTtXKMhfAq4luRb0BgKh7+ZvM7LkxkRxF7M1XVQPGhrU0OfxX9VODe +YFH1q47os5JzHRcrRaFx6sn30e79ij2gRjzMVFuAX07n+yw3qeyNQNYdmDNP7iCZ +x//0iN0NboTI81coNlxx7TL4bYwgESt1c2i/TCfLITjKgEny7MKqU1/jTrOJWu85 +PiK/ojaD1EMx9xxVgBCioQJVG/Jm9y+XhtGFAJUShzzsabX7KuANKRn3fgUN+yZS +yp8hmD+R5gQHJk/8+zZ6/Imv8W/G+7fPZuSMgWeWtDReCkfzgnyIdjaIp3Pdp5yN +WLLWADI4tHmNUqIzY7T25gVfg0P2tgQNzn3WzHxq4SfZN9Aw57woi8eSRpLBEn+C +JjqwTxtFQ14ynG6GPsBaDcAduchmJPL7e9PuAfFyLJuM8sU8QyB2oir1M/qYFhTC +ClXw2yylYjAy8TFw1L3UZA4hfAflINjYUY8pgAtTAjxeD/9PhiKSoMEX8Q/8Npti +1Db5RpAClIEdB6nPywj6BzC+6El3dSGaCV0sTQ42LD+S3QH8VCwTB2AuKq7zyuD6 +wEQopcbIOGHSir875vYLmWLmqR9MCWZtKj/dWfTIQpBsPsI2ssZn/MptNqyEN9TW +GfnWoTuzoziCS5YmEq7Mh98fwP9Krb0abo3fFvu6CY3dhvvoxPaXahyAxBfpKArB +9nOf3gzHGReWNiFUtNZlvueYrC5CnblFzKaKB+81Imjw6RXM3QtuzbZ71zp+reL8 +JeiwE/mriwuGbxTJx5gwQX48zA5PJ342CCrl7jMeIos5KXmYkWoU5hEuGM3tK4Lx +VAoGqcd/a4cWHuLWub8fbhFkIDcxFaMF8yQi0r2LOmvMOsv3RVpyfgJ07z5b9X1B +w76CYkjGqgr0EdU40VTPtNhtHq7rrJSzGbapRsFUpvqgnkEwUSdbY6bRknLETmfo +H3dPf2XQwXXPDMZTW54QsmQ9WjundqOFI2YsH6dCX/kmZK0IJVBpikL8SuM/ZJLK +LcYJcrNGetENEKKl6hDwTTIsG1y3gx6y3wPzBkyJ2DtMx9dPoCqYhPHsIGc/td0/ +r4Ix9TWVLIl3MKq3z+/Hszd7jOnrkflfmKeA0DgJlqVJsuxP75pbdiKS/hCKRf8D +AFJLvt6JSGBnz9ZZCB4KrjpHK/k+X7p8Y65uc/aX5BLu8vyRqFduhg98GVXJmD7k +0ggXnqqFnies6SpnQ45cjfKSGDx/NjY0AwoGPH8n8CL6ZagU6K1utfHIMrqKkJME +F6KcPHWrQkECojLdMoDInnRirdRb/FcAadWBSPrf+6Nln4ilbBJIi8W/yzeM/WFj +UKKNjk4W26PGnNO6+TO5h1EpocDI4fx6UYIMmFjnyaLdLrSn1/SzuLL6I7pYZ0Um +8qI4aWjP9RiUvGYJirfAUjL5Vp9w4+osf1sGiioe0GH/1WVuHeQ93A== +-----END RSA PRIVATE KEY----- diff --git a/vectors/cryptography_vectors/asymmetric/PEM_Serialization/rsa_public_key.pem b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/rsa_public_key.pem new file mode 100644 index 00000000..6d06afe0 --- /dev/null +++ b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/rsa_public_key.pem @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnR4AZ+tgWYql+S3MaTQ6 +zeIO1fKzFIoau9Q0zGuv/1oCAewXwxeDSSxw+/Z3GL1NpuuS9CpbR5EQ3d71bD0v +0G+Sf+mShSl0oljG7YqnNSPzKl+EQ3/KE+eEButcwas6KGof2BA4bFNCw/fPbuhk +u/d8sIIEgdzBMiGRMdW33uci3rsdOenMZQA7uWsM/q/pu85YLAVOxq6wlUCzP4FM +Tw/RKzayrPkn3Jfbqcy1aM2HDlFVx24vaN+RRbPSnVoQbo5EQYkUMXE8WmadSyHl +pXGRnWsJSV9AdGyDrbU+6tcFwcIwnW22jb/OJy8swHdqKGkuR1kQ0XqokK1yGKFZ +8wIDAQAB +-----END PUBLIC KEY----- diff --git a/vectors/cryptography_vectors/asymmetric/PKCS8/enc-rsa-pkcs8.pem b/vectors/cryptography_vectors/asymmetric/PKCS8/enc-rsa-pkcs8.pem new file mode 100644 index 00000000..69417b85 --- /dev/null +++ b/vectors/cryptography_vectors/asymmetric/PKCS8/enc-rsa-pkcs8.pem @@ -0,0 +1,38 @@ + 0 674: SEQUENCE { + 4 28: SEQUENCE { + 6 10: OBJECT IDENTIFIER + : pbeWithSHAAnd3-KeyTripleDES-CBC (1 2 840 113549 1 12 1 3) + 18 14: SEQUENCE { + 20 8: OCTET STRING 72 B4 33 4F 90 B8 42 FD + 30 2: INTEGER 290 + : } + : } + 34 640: OCTET STRING + : D1 AB E2 91 63 ED 17 3F 4B 4E 97 00 53 CD 58 A2 + : 5D 25 E8 C8 D9 CA 01 92 AD E6 BE 4A FD F1 8D 9E + : DB F6 DA 0F F5 B3 F6 4D 09 EB 6B AA C2 43 0B 97 + : 8C 50 F3 DA 73 3D 3A 8C 5A BF 22 9B 1E A7 8F CE + : 82 34 3D 50 03 B3 5C DA D6 12 83 72 AC 79 D6 0E + : 8E EE B2 00 F7 09 6D 26 2B 2A 84 47 8F B0 1B 46 + : 5D 54 C6 ED DC DF 82 24 71 81 F3 98 F3 46 64 13 + : 7E 47 71 D6 B4 96 79 2C 7E 5F 2B 30 1E 7F 04 47 + : [ Another 512 bytes skipped ] + : } + +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIICojAcBgoqhkiG9w0BDAEDMA4ECHK0M0+QuEL9AgIBIgSCAoDRq+KRY+0XP0tO +lwBTzViiXSXoyNnKAZKt5r5K/fGNntv22g/1s/ZNCetrqsJDC5eMUPPacz06jFq/ +Ipsep4/OgjQ9UAOzXNrWEoNyrHnWDo7usgD3CW0mKyqER4+wG0ZdVMbt3N+CJHGB +85jzRmQTfkdx1rSWeSx+XyswHn8ER4+hQ+omKWMVm7AFkjjmP/KmhUnLT98J8rhU +ArQoFPHz/6HVkypFccNaPPNg6IA4aS2A+TU9vJYOaXSVfFB2yf99hfYYzC+ukmuU +5Lun0cysK5s/5uSwDueUmDQKspnaNyiaMGDxvw8hilJc7vg0fGObfnbIpizhxJwq +gKBfR7Zt0Hv8OYi1He4MehfMGdbHskztF+yQ40LplBGXQrvAqpU4zShga1BoQ98T +0ekbBmqj7hg47VFsppXR7DKhx7G7rpMmdKbFhAZVCjae7rRGpUtD52cpFdPhMyAX +huhMkoczwUW8B/rM4272lkHo6Br0yk/TQfTEGkvryflNVu6lniPTV151WV5U1M3o +3G3a44eDyt7Ln+WSOpWtbPQMTrpKhur6WXgJvrpa/m02oOGdvOlDsoOCgavgQMWg +7xKKL7620pHl7p7f/8tlE8q6vLXVvyNtAOgt/JAr2rgvrHaZSzDE0DwgCjBXEm+7 +cVMVNkHod7bLQefVanVtWqPzbmr8f7gKeuGwWSG9oew/lN2hxcLEPJHAQlnLgx3P +0GdGjK9NvwA0EP2gYIeE4+UtSder7xQ7bVh25VB20R4TTIIs4aXXCVOoQPagnzaT +6JLgl8FrvdfjHwIvmSOO1YMNmILBq000Q8WDqyErBDs4hsvtO6VQ4LeqJj6gClX3 +qeJNaJFu +-----END ENCRYPTED PRIVATE KEY----- diff --git a/vectors/cryptography_vectors/asymmetric/PKCS8/enc2-rsa-pkcs8.pem b/vectors/cryptography_vectors/asymmetric/PKCS8/enc2-rsa-pkcs8.pem new file mode 100644 index 00000000..4ec8ddc1 --- /dev/null +++ b/vectors/cryptography_vectors/asymmetric/PKCS8/enc2-rsa-pkcs8.pem @@ -0,0 +1,40 @@ + 0 674: SEQUENCE { + 4 28: SEQUENCE { + 6 10: OBJECT IDENTIFIER + : pbeWithSHAAnd40BitRC2-CBC (1 2 840 113549 1 12 1 6) + 18 14: SEQUENCE { + 20 8: OCTET STRING 1F 40 71 AC 00 42 69 77 + 30 2: INTEGER 484 + : } + : } + 34 640: OCTET STRING + : FB 8A B3 5D 5F 16 A4 51 52 F4 E6 2E FB CF 19 1C + : A1 14 97 4E 16 1F 33 05 A1 A7 6D 2F 88 78 3E 8C + : E9 FA B4 B4 01 F9 93 83 4A F1 AE 47 6D 62 0C 07 + : 0A DE 53 DB C5 80 6B 0F 3D E1 BE 00 1C 2C 93 E6 + : 6D 34 0F AA 67 2F 90 D5 ED 70 DD 9B F3 A3 4C 6A + : 53 A6 DB 84 89 CE 32 91 BF 5F FC 81 10 B8 C3 65 + : BD 05 8F 4E 39 A8 2E 81 3C EC 95 77 D7 34 47 F6 + : 79 3C 74 3A 24 D5 D0 DB A0 86 DE 23 E9 5B 78 A4 + : [ Another 512 bytes skipped ] + : } + +0 warnings, 0 errors. + +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIICojAcBgoqhkiG9w0BDAEGMA4ECB9AcawAQml3AgIB5ASCAoD7irNdXxakUVL0 +5i77zxkcoRSXThYfMwWhp20viHg+jOn6tLQB+ZODSvGuR21iDAcK3lPbxYBrDz3h +vgAcLJPmbTQPqmcvkNXtcN2b86NMalOm24SJzjKRv1/8gRC4w2W9BY9OOagugTzs +lXfXNEf2eTx0OiTV0Nught4j6Vt4pEA4ZvLBer6a3k4/BTjm9uvwq4oRGsfeixkn +VJ27dz5ZyUmwVyzfCQww1gAAMQIX/LAPQKfkAiBuYfHHP3H/tiOIGj7Xmt3Ktknu +j1uAoNUX6/IYQwrS87HQ1txTl19p6HMqnIBncalVRk1VfkckNCILw3c9P8xzxSB0 +sRep7f0sh/JAai2CF+nSLlLsfRoPNwBO0kvJZDeXRxKCOwmjK3DdwWuKHpar3ccF +4cgS7dVK0tYur6XoqR/AqfqG8PuP6bbwZWB+i+irmPI24v+177AOYVkrUngeYWOP +VKkX8Yupl9f3jTBVP1/YSlOaXZ3zXn6BV52mPjJHGY1GkTuWJ7ZCLzSruhBVsauG +mhoVAp8AaYoIHfJHGvcZHCZvMMjINVjkkpQBq4sl/OQ+K1E30Q4Amfc8s12T+yWJ +ypn8BhmxeAy4NbAYp4gc/u61rh22nSz8nswPNyR/mMpK60Wp61oFWr7QL9ABAoQJ +09jPzumO/B9WQ6CQvZ0fNNvBfVSg3/OzhY0quznHGalJqahORtP1lcV1m5mrCd1Z +8NWf7hIA/paMntlrkgRXAB36K/AqvS563TMDPWn71Jj7bErPw+8WlIeuEs6I8265 +sQpvNvpamuxunxRTnjeXyC1x4ZU+LDZT2ZG1y1G/mGYm9nRVPkvdgn0OHzQEgD9Q +R1QRZL+9 +-----END ENCRYPTED PRIVATE KEY----- diff --git a/vectors/cryptography_vectors/asymmetric/PKCS8/enc2pkcs8.pem b/vectors/cryptography_vectors/asymmetric/PKCS8/enc2pkcs8.pem deleted file mode 100644 index 4ec8ddc1..00000000 --- a/vectors/cryptography_vectors/asymmetric/PKCS8/enc2pkcs8.pem +++ /dev/null @@ -1,40 +0,0 @@ - 0 674: SEQUENCE { - 4 28: SEQUENCE { - 6 10: OBJECT IDENTIFIER - : pbeWithSHAAnd40BitRC2-CBC (1 2 840 113549 1 12 1 6) - 18 14: SEQUENCE { - 20 8: OCTET STRING 1F 40 71 AC 00 42 69 77 - 30 2: INTEGER 484 - : } - : } - 34 640: OCTET STRING - : FB 8A B3 5D 5F 16 A4 51 52 F4 E6 2E FB CF 19 1C - : A1 14 97 4E 16 1F 33 05 A1 A7 6D 2F 88 78 3E 8C - : E9 FA B4 B4 01 F9 93 83 4A F1 AE 47 6D 62 0C 07 - : 0A DE 53 DB C5 80 6B 0F 3D E1 BE 00 1C 2C 93 E6 - : 6D 34 0F AA 67 2F 90 D5 ED 70 DD 9B F3 A3 4C 6A - : 53 A6 DB 84 89 CE 32 91 BF 5F FC 81 10 B8 C3 65 - : BD 05 8F 4E 39 A8 2E 81 3C EC 95 77 D7 34 47 F6 - : 79 3C 74 3A 24 D5 D0 DB A0 86 DE 23 E9 5B 78 A4 - : [ Another 512 bytes skipped ] - : } - -0 warnings, 0 errors. - ------BEGIN ENCRYPTED PRIVATE KEY----- -MIICojAcBgoqhkiG9w0BDAEGMA4ECB9AcawAQml3AgIB5ASCAoD7irNdXxakUVL0 -5i77zxkcoRSXThYfMwWhp20viHg+jOn6tLQB+ZODSvGuR21iDAcK3lPbxYBrDz3h -vgAcLJPmbTQPqmcvkNXtcN2b86NMalOm24SJzjKRv1/8gRC4w2W9BY9OOagugTzs -lXfXNEf2eTx0OiTV0Nught4j6Vt4pEA4ZvLBer6a3k4/BTjm9uvwq4oRGsfeixkn -VJ27dz5ZyUmwVyzfCQww1gAAMQIX/LAPQKfkAiBuYfHHP3H/tiOIGj7Xmt3Ktknu -j1uAoNUX6/IYQwrS87HQ1txTl19p6HMqnIBncalVRk1VfkckNCILw3c9P8xzxSB0 -sRep7f0sh/JAai2CF+nSLlLsfRoPNwBO0kvJZDeXRxKCOwmjK3DdwWuKHpar3ccF -4cgS7dVK0tYur6XoqR/AqfqG8PuP6bbwZWB+i+irmPI24v+177AOYVkrUngeYWOP -VKkX8Yupl9f3jTBVP1/YSlOaXZ3zXn6BV52mPjJHGY1GkTuWJ7ZCLzSruhBVsauG -mhoVAp8AaYoIHfJHGvcZHCZvMMjINVjkkpQBq4sl/OQ+K1E30Q4Amfc8s12T+yWJ -ypn8BhmxeAy4NbAYp4gc/u61rh22nSz8nswPNyR/mMpK60Wp61oFWr7QL9ABAoQJ -09jPzumO/B9WQ6CQvZ0fNNvBfVSg3/OzhY0quznHGalJqahORtP1lcV1m5mrCd1Z -8NWf7hIA/paMntlrkgRXAB36K/AqvS563TMDPWn71Jj7bErPw+8WlIeuEs6I8265 -sQpvNvpamuxunxRTnjeXyC1x4ZU+LDZT2ZG1y1G/mGYm9nRVPkvdgn0OHzQEgD9Q -R1QRZL+9 ------END ENCRYPTED PRIVATE KEY----- diff --git a/vectors/cryptography_vectors/asymmetric/PKCS8/encpkcs8.pem b/vectors/cryptography_vectors/asymmetric/PKCS8/encpkcs8.pem deleted file mode 100644 index 69417b85..00000000 --- a/vectors/cryptography_vectors/asymmetric/PKCS8/encpkcs8.pem +++ /dev/null @@ -1,38 +0,0 @@ - 0 674: SEQUENCE { - 4 28: SEQUENCE { - 6 10: OBJECT IDENTIFIER - : pbeWithSHAAnd3-KeyTripleDES-CBC (1 2 840 113549 1 12 1 3) - 18 14: SEQUENCE { - 20 8: OCTET STRING 72 B4 33 4F 90 B8 42 FD - 30 2: INTEGER 290 - : } - : } - 34 640: OCTET STRING - : D1 AB E2 91 63 ED 17 3F 4B 4E 97 00 53 CD 58 A2 - : 5D 25 E8 C8 D9 CA 01 92 AD E6 BE 4A FD F1 8D 9E - : DB F6 DA 0F F5 B3 F6 4D 09 EB 6B AA C2 43 0B 97 - : 8C 50 F3 DA 73 3D 3A 8C 5A BF 22 9B 1E A7 8F CE - : 82 34 3D 50 03 B3 5C DA D6 12 83 72 AC 79 D6 0E - : 8E EE B2 00 F7 09 6D 26 2B 2A 84 47 8F B0 1B 46 - : 5D 54 C6 ED DC DF 82 24 71 81 F3 98 F3 46 64 13 - : 7E 47 71 D6 B4 96 79 2C 7E 5F 2B 30 1E 7F 04 47 - : [ Another 512 bytes skipped ] - : } - ------BEGIN ENCRYPTED PRIVATE KEY----- -MIICojAcBgoqhkiG9w0BDAEDMA4ECHK0M0+QuEL9AgIBIgSCAoDRq+KRY+0XP0tO -lwBTzViiXSXoyNnKAZKt5r5K/fGNntv22g/1s/ZNCetrqsJDC5eMUPPacz06jFq/ -Ipsep4/OgjQ9UAOzXNrWEoNyrHnWDo7usgD3CW0mKyqER4+wG0ZdVMbt3N+CJHGB -85jzRmQTfkdx1rSWeSx+XyswHn8ER4+hQ+omKWMVm7AFkjjmP/KmhUnLT98J8rhU -ArQoFPHz/6HVkypFccNaPPNg6IA4aS2A+TU9vJYOaXSVfFB2yf99hfYYzC+ukmuU -5Lun0cysK5s/5uSwDueUmDQKspnaNyiaMGDxvw8hilJc7vg0fGObfnbIpizhxJwq -gKBfR7Zt0Hv8OYi1He4MehfMGdbHskztF+yQ40LplBGXQrvAqpU4zShga1BoQ98T -0ekbBmqj7hg47VFsppXR7DKhx7G7rpMmdKbFhAZVCjae7rRGpUtD52cpFdPhMyAX -huhMkoczwUW8B/rM4272lkHo6Br0yk/TQfTEGkvryflNVu6lniPTV151WV5U1M3o -3G3a44eDyt7Ln+WSOpWtbPQMTrpKhur6WXgJvrpa/m02oOGdvOlDsoOCgavgQMWg -7xKKL7620pHl7p7f/8tlE8q6vLXVvyNtAOgt/JAr2rgvrHaZSzDE0DwgCjBXEm+7 -cVMVNkHod7bLQefVanVtWqPzbmr8f7gKeuGwWSG9oew/lN2hxcLEPJHAQlnLgx3P -0GdGjK9NvwA0EP2gYIeE4+UtSder7xQ7bVh25VB20R4TTIIs4aXXCVOoQPagnzaT -6JLgl8FrvdfjHwIvmSOO1YMNmILBq000Q8WDqyErBDs4hsvtO6VQ4LeqJj6gClX3 -qeJNaJFu ------END ENCRYPTED PRIVATE KEY----- diff --git a/vectors/cryptography_vectors/asymmetric/PKCS8/unenc-dsa-pkcs8.pub.pem b/vectors/cryptography_vectors/asymmetric/PKCS8/unenc-dsa-pkcs8.pub.pem new file mode 100644 index 00000000..26128de4 --- /dev/null +++ b/vectors/cryptography_vectors/asymmetric/PKCS8/unenc-dsa-pkcs8.pub.pem @@ -0,0 +1,12 @@ +-----BEGIN PUBLIC KEY----- +MIIBtzCCASwGByqGSM44BAEwggEfAoGBAKoJMMwUWCUiHK/6KKwolBlqJ4M95ewh +JweRaJQgd3Si57I4sNNvGySZosJYUIPrAUMpJEGNhn+qIS3RBx1NzrJ4J5StOTzA +ik1K2n9o1ug5pfzTS05ALYLLioy0D+wxkRv5vTYLA0yqy0xelHmSVzyekAmcGw8F +lAyr5dLeSaFnAhUArcDoabNvCsATpoH99NSJnWmCBFECgYEAjGtFia+lOk0QSL/D +RtHzhsp1UhzPct2qJRKGiA7hMgH/SIkLv8M9ebrK7HHnp3hQe9XxpmQi45QVvgPn +EUG6Mk9bkxMZKRgsiKn6QGKDYGbOvnS1xmkMfRARBsJAq369VOTjMB/Qhs5q2ski ++ycTorCIfLoTubxozlz/8kHNMkYDgYQAAoGAKyYOqX3GoSrpMsZA5989j/BKigWg +Mk+NXxsj8V+hcP8/QgYRJO/yWGyxG0moLc3BuQ/GqE+xAQnLZ9tdLalxrq8Xvl43 +KEVj5MZNnl/ISAJYsxnw3inVTYNQcNnih5FNd9+BSR9EI7YtqYTrP0XrKin86l2u +UlrGq2vM4Ev99bY= +-----END PUBLIC KEY----- diff --git a/vectors/cryptography_vectors/asymmetric/PKCS8/unenc-rsa-pkcs8.pem b/vectors/cryptography_vectors/asymmetric/PKCS8/unenc-rsa-pkcs8.pem new file mode 100644 index 00000000..794dfd7e --- /dev/null +++ b/vectors/cryptography_vectors/asymmetric/PKCS8/unenc-rsa-pkcs8.pem @@ -0,0 +1,79 @@ + 0 629: SEQUENCE { + 4 1: INTEGER 0 + 7 11: SEQUENCE { + 9 9: OBJECT IDENTIFIER rsaEncryption (1 2 840 113549 1 1 1) + : } + 20 609: OCTET STRING, encapsulates { + 24 605: SEQUENCE { + 28 1: INTEGER 0 + 31 129: INTEGER + : 00 BB 24 7A 09 7E 0E B2 37 32 CC 39 67 AD F1 9E + : 3D 6B 82 83 D1 D0 AC A4 C0 18 BE 8D 98 00 C0 7B + : FF 07 44 C9 CA 1C BA 36 E1 27 69 FF B1 E3 8D 8B + : EE 57 A9 3A AA 16 43 39 54 19 7C AE 69 24 14 F6 + : 64 FF BC 74 C6 67 6C 4C F1 02 49 69 C7 2B E1 E1 + : A1 A3 43 14 F4 77 8F C8 D0 85 5A 35 95 AC 62 A9 + : C1 21 00 77 A0 8B 97 30 B4 5A 2C B8 90 2F 48 A0 + : 05 28 4B F2 0F 8D EC 8B 4D 03 42 75 D6 AD 81 C0 + : [ Another 1 bytes skipped ] + 163 3: INTEGER 65537 + 168 128: INTEGER + : 00 FC B9 4A 26 07 89 51 2B 53 72 91 E0 18 3E A6 + : 5E 31 EF 9C 0C 16 24 42 D0 28 33 F9 FA D0 3C 54 + : 04 06 C0 15 F5 1B 9A B3 24 31 AB 3C 6B 47 43 B0 + : D2 A9 DC 05 E1 81 59 B6 04 E9 66 61 AA D7 0B 00 + : 8F 3D E5 BF A2 F8 5E 25 6C 1E 22 0F B4 FD 41 E2 + : 03 31 5F DA 20 C5 C0 F3 55 0E E1 C9 EC D7 3E 2A + : 0C 01 CA 7B 22 CB AC F4 2B 27 F0 78 5F B5 C2 F9 + : E8 14 5A 6E 7E 86 BD 6A 9B 20 0C BA CC 97 20 11 + 299 65: INTEGER + : 00 C9 59 9F 29 8A 5B 9F E3 2A D8 7E C2 40 9F A8 + : 45 E5 3E 11 8D 3C ED 6E AB CE D0 65 46 D8 C7 07 + : 63 B5 23 34 F4 9F 7E 1C C7 C7 F9 65 D1 F4 04 42 + : 38 BE 3A 0C 9D 08 25 FC A3 71 D9 AE 0C 39 61 F4 + : 89 + 366 65: INTEGER + : 00 ED EF AB A9 D5 39 9C EE 59 1B FF CF 48 44 1B + : B6 32 E7 46 24 F3 04 7F DE 95 08 6D 75 9E 67 17 + : BA 5C A4 D4 E2 E2 4D 77 CE EB 66 29 C5 96 E0 62 + : BB E5 AC DC 44 62 54 86 ED 64 0C CE D0 60 03 9D + : 49 + 433 64: INTEGER + : 54 D9 18 72 27 E4 BE 76 BB 1A 6A 28 2F 95 58 12 + : C4 2C A8 B6 CC E2 FD 0D 17 64 C8 18 D7 C6 DF 3D + : 4C 1A 9E F9 2A B0 B9 2E 12 FD EC C3 51 C1 ED A9 + : FD B7 76 93 41 D8 C8 22 94 1A 77 F6 9C C3 C3 89 + 499 65: INTEGER + : 00 8E F9 A7 08 AD B5 2A 04 DB 8D 04 A1 B5 06 20 + : 34 D2 CF C0 89 B1 72 31 B8 39 8B CF E2 8E A5 DA + : 4F 45 1E 53 42 66 C4 30 4B 29 8E C1 69 17 29 8C + : 8A E6 0F 82 68 A1 41 B3 B6 70 99 75 A9 27 18 E4 + : E9 + 566 65: INTEGER + : 00 89 EA 6E 6D 70 DF 25 5F 18 3F 48 DA 63 10 8B + : FE A8 0C 94 0F DE 97 56 53 89 94 E2 1E 2C 74 3C + : 91 81 34 0B A6 40 F8 CB 2A 60 8C E0 02 B7 89 93 + : CF 18 9F 49 54 FD 7D 3F 9A EF D4 A4 4F C1 45 99 + : 91 + : } + : } + : } + +0 warnings, 0 errors. + +-----BEGIN PRIVATE KEY----- +MIICdQIBADALBgkqhkiG9w0BAQEEggJhMIICXQIBAAKBgQC7JHoJfg6yNzLMOWet +8Z49a4KD0dCspMAYvo2YAMB7/wdEycocujbhJ2n/seONi+5XqTqqFkM5VBl8rmkk +FPZk/7x0xmdsTPECSWnHK+HhoaNDFPR3j8jQhVo1laxiqcEhAHegi5cwtFosuJAv +SKAFKEvyD43si00DQnXWrYHAEQIDAQABAoGAAPy5SiYHiVErU3KR4Bg+pl4x75wM +FiRC0Cgz+frQPFQEBsAV9RuasyQxqzxrR0Ow0qncBeGBWbYE6WZhqtcLAI895b+i ++F4lbB4iD7T9QeIDMV/aIMXA81UO4cns1z4qDAHKeyLLrPQrJ/B4X7XC+egUWm5+ +hr1qmyAMusyXIBECQQDJWZ8piluf4yrYfsJAn6hF5T4RjTztbqvO0GVG2McHY7Uj +NPSffhzHx/ll0fQEQji+OgydCCX8o3HZrgw5YfSJAkEA7e+rqdU5nO5ZG//PSEQb +tjLnRiTzBH/elQhtdZ5nF7pcpNTi4k13zutmKcWW4GK75azcRGJUhu1kDM7QYAOd +SQJAVNkYcifkvna7GmooL5VYEsQsqLbM4v0NF2TIGNfG3z1MGp75KrC5LhL97MNR +we2p/bd2k0HYyCKUGnf2nMPDiQJBAI75pwittSoE240EobUGIDTSz8CJsXIxuDmL +z+KOpdpPRR5TQmbEMEspjsFpFymMiuYPgmihQbO2cJl1qScY5OkCQQCJ6m5tcN8l +Xxg/SNpjEIv+qAyUD96XVlOJlOIeLHQ8kYE0C6ZA+MsqYIzgAreJk88Yn0lU/X0/ +mu/UpE/BRZmR +-----END PRIVATE KEY----- diff --git a/vectors/cryptography_vectors/asymmetric/PKCS8/unenc-rsa-pkcs8.pub.pem b/vectors/cryptography_vectors/asymmetric/PKCS8/unenc-rsa-pkcs8.pub.pem new file mode 100644 index 00000000..3de1a9e8 --- /dev/null +++ b/vectors/cryptography_vectors/asymmetric/PKCS8/unenc-rsa-pkcs8.pub.pem @@ -0,0 +1,6 @@ +-----BEGIN PUBLIC KEY----- +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7JHoJfg6yNzLMOWet8Z49a4KD +0dCspMAYvo2YAMB7/wdEycocujbhJ2n/seONi+5XqTqqFkM5VBl8rmkkFPZk/7x0 +xmdsTPECSWnHK+HhoaNDFPR3j8jQhVo1laxiqcEhAHegi5cwtFosuJAvSKAFKEvy +D43si00DQnXWrYHAEQIDAQAB +-----END PUBLIC KEY----- diff --git a/vectors/cryptography_vectors/asymmetric/PKCS8/unencpkcs8.pem b/vectors/cryptography_vectors/asymmetric/PKCS8/unencpkcs8.pem deleted file mode 100644 index 794dfd7e..00000000 --- a/vectors/cryptography_vectors/asymmetric/PKCS8/unencpkcs8.pem +++ /dev/null @@ -1,79 +0,0 @@ - 0 629: SEQUENCE { - 4 1: INTEGER 0 - 7 11: SEQUENCE { - 9 9: OBJECT IDENTIFIER rsaEncryption (1 2 840 113549 1 1 1) - : } - 20 609: OCTET STRING, encapsulates { - 24 605: SEQUENCE { - 28 1: INTEGER 0 - 31 129: INTEGER - : 00 BB 24 7A 09 7E 0E B2 37 32 CC 39 67 AD F1 9E - : 3D 6B 82 83 D1 D0 AC A4 C0 18 BE 8D 98 00 C0 7B - : FF 07 44 C9 CA 1C BA 36 E1 27 69 FF B1 E3 8D 8B - : EE 57 A9 3A AA 16 43 39 54 19 7C AE 69 24 14 F6 - : 64 FF BC 74 C6 67 6C 4C F1 02 49 69 C7 2B E1 E1 - : A1 A3 43 14 F4 77 8F C8 D0 85 5A 35 95 AC 62 A9 - : C1 21 00 77 A0 8B 97 30 B4 5A 2C B8 90 2F 48 A0 - : 05 28 4B F2 0F 8D EC 8B 4D 03 42 75 D6 AD 81 C0 - : [ Another 1 bytes skipped ] - 163 3: INTEGER 65537 - 168 128: INTEGER - : 00 FC B9 4A 26 07 89 51 2B 53 72 91 E0 18 3E A6 - : 5E 31 EF 9C 0C 16 24 42 D0 28 33 F9 FA D0 3C 54 - : 04 06 C0 15 F5 1B 9A B3 24 31 AB 3C 6B 47 43 B0 - : D2 A9 DC 05 E1 81 59 B6 04 E9 66 61 AA D7 0B 00 - : 8F 3D E5 BF A2 F8 5E 25 6C 1E 22 0F B4 FD 41 E2 - : 03 31 5F DA 20 C5 C0 F3 55 0E E1 C9 EC D7 3E 2A - : 0C 01 CA 7B 22 CB AC F4 2B 27 F0 78 5F B5 C2 F9 - : E8 14 5A 6E 7E 86 BD 6A 9B 20 0C BA CC 97 20 11 - 299 65: INTEGER - : 00 C9 59 9F 29 8A 5B 9F E3 2A D8 7E C2 40 9F A8 - : 45 E5 3E 11 8D 3C ED 6E AB CE D0 65 46 D8 C7 07 - : 63 B5 23 34 F4 9F 7E 1C C7 C7 F9 65 D1 F4 04 42 - : 38 BE 3A 0C 9D 08 25 FC A3 71 D9 AE 0C 39 61 F4 - : 89 - 366 65: INTEGER - : 00 ED EF AB A9 D5 39 9C EE 59 1B FF CF 48 44 1B - : B6 32 E7 46 24 F3 04 7F DE 95 08 6D 75 9E 67 17 - : BA 5C A4 D4 E2 E2 4D 77 CE EB 66 29 C5 96 E0 62 - : BB E5 AC DC 44 62 54 86 ED 64 0C CE D0 60 03 9D - : 49 - 433 64: INTEGER - : 54 D9 18 72 27 E4 BE 76 BB 1A 6A 28 2F 95 58 12 - : C4 2C A8 B6 CC E2 FD 0D 17 64 C8 18 D7 C6 DF 3D - : 4C 1A 9E F9 2A B0 B9 2E 12 FD EC C3 51 C1 ED A9 - : FD B7 76 93 41 D8 C8 22 94 1A 77 F6 9C C3 C3 89 - 499 65: INTEGER - : 00 8E F9 A7 08 AD B5 2A 04 DB 8D 04 A1 B5 06 20 - : 34 D2 CF C0 89 B1 72 31 B8 39 8B CF E2 8E A5 DA - : 4F 45 1E 53 42 66 C4 30 4B 29 8E C1 69 17 29 8C - : 8A E6 0F 82 68 A1 41 B3 B6 70 99 75 A9 27 18 E4 - : E9 - 566 65: INTEGER - : 00 89 EA 6E 6D 70 DF 25 5F 18 3F 48 DA 63 10 8B - : FE A8 0C 94 0F DE 97 56 53 89 94 E2 1E 2C 74 3C - : 91 81 34 0B A6 40 F8 CB 2A 60 8C E0 02 B7 89 93 - : CF 18 9F 49 54 FD 7D 3F 9A EF D4 A4 4F C1 45 99 - : 91 - : } - : } - : } - -0 warnings, 0 errors. - ------BEGIN PRIVATE KEY----- -MIICdQIBADALBgkqhkiG9w0BAQEEggJhMIICXQIBAAKBgQC7JHoJfg6yNzLMOWet -8Z49a4KD0dCspMAYvo2YAMB7/wdEycocujbhJ2n/seONi+5XqTqqFkM5VBl8rmkk -FPZk/7x0xmdsTPECSWnHK+HhoaNDFPR3j8jQhVo1laxiqcEhAHegi5cwtFosuJAv -SKAFKEvyD43si00DQnXWrYHAEQIDAQABAoGAAPy5SiYHiVErU3KR4Bg+pl4x75wM -FiRC0Cgz+frQPFQEBsAV9RuasyQxqzxrR0Ow0qncBeGBWbYE6WZhqtcLAI895b+i -+F4lbB4iD7T9QeIDMV/aIMXA81UO4cns1z4qDAHKeyLLrPQrJ/B4X7XC+egUWm5+ -hr1qmyAMusyXIBECQQDJWZ8piluf4yrYfsJAn6hF5T4RjTztbqvO0GVG2McHY7Uj -NPSffhzHx/ll0fQEQji+OgydCCX8o3HZrgw5YfSJAkEA7e+rqdU5nO5ZG//PSEQb -tjLnRiTzBH/elQhtdZ5nF7pcpNTi4k13zutmKcWW4GK75azcRGJUhu1kDM7QYAOd -SQJAVNkYcifkvna7GmooL5VYEsQsqLbM4v0NF2TIGNfG3z1MGp75KrC5LhL97MNR -we2p/bd2k0HYyCKUGnf2nMPDiQJBAI75pwittSoE240EobUGIDTSz8CJsXIxuDmL -z+KOpdpPRR5TQmbEMEspjsFpFymMiuYPgmihQbO2cJl1qScY5OkCQQCJ6m5tcN8l -Xxg/SNpjEIv+qAyUD96XVlOJlOIeLHQ8kYE0C6ZA+MsqYIzgAreJk88Yn0lU/X0/ -mu/UpE/BRZmR ------END PRIVATE KEY----- -- cgit v1.2.3 From 59f7219c8f37c26c7d7643951d9a9f614ff0de78 Mon Sep 17 00:00:00 2001 From: michael-hart Date: Wed, 24 Sep 2014 11:31:20 +0100 Subject: Update test-vectors.rst Updated the readme with custom vectors, although formatting errors seem to exist --- docs/development/test-vectors.rst | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/docs/development/test-vectors.rst b/docs/development/test-vectors.rst index 2682d37e..e9ab6123 100644 --- a/docs/development/test-vectors.rst +++ b/docs/development/test-vectors.rst @@ -29,7 +29,7 @@ Asymmetric ciphers * OpenSSL PEM DSA serialization vectors from the `GnuTLS example keys`_. * PKCS #8 PEM serialization vectors from - * GnuTLS: `encpkcs8.pem`_, `enc2pkcs8.pem`_, `unencpkcs8.pem`_, + * GnuTLS: `enc-rsa-pkcs8.pem`_, `enc2-rsa-pkcs8.pem`_, `unenc-rsa-pkcs8.pem`_, `pkcs12_s2k_pem.c`_. * `Botan's ECC private keys`_. @@ -99,7 +99,29 @@ Creating test vectors --------------------- When official vectors are unavailable ``cryptography`` may choose to build -its own using existing vectors as source material. Current custom vectors: +its own using existing vectors as source material. + +Current custom vectors +~~~~~~~~~~~~~~~~~~~~~~ + +* ec_private_key.pem - Contains an Elliptic Curve key generated by OpenSSL + from the curve secp256r1. +* ec_private_key_encrypted.pem - Contains the same Elliptic Curve key as + ec_private_key.pem, except that it is encrypted with AES-256 with the + password "123456". +* ec_public_key.pem - Contains the public key corresponding to + ec_private_key.pem, generated using OpenSSL. +* rsa_private_key.pem - Contains an RSA 2048 bit key generated using + OpenSSL, protected by the secret "123456" with DES3 encryption. +* rsa_public_key.pem - Contains an RSA 2048 bit public generated using + OpenSSL from rsa_private_key.pem. +* dsaparam.pem - Contains 2048-bit DSA parameters generated using OpenSSL; + contains no keys. +* dsa_private_key.pem - Contains a DSA 2048 bit key generated using + OpenSSL from the parameters in dsaparam.pem, protected by the secret + "123456" with DES3 encryption. +* dsa_public_key.pem - Contains a DSA 2048 bit key generated using OpenSSL + from dsa_private_key.pem. .. toctree:: :maxdepth: 1 @@ -135,9 +157,9 @@ header format (substituting the correct information): .. _`errata`: http://www.rfc-editor.org/errata_search.php?rfc=6238 .. _`OpenSSL example key`: http://git.openssl.org/gitweb/?p=openssl.git;a=blob;f=test/testrsa.pem;h=aad21067a8f7cb93a52a511eb9162fd83be39135;hb=66e8211c0b1347970096e04b18aa52567c325200 .. _`GnuTLS key parsing tests`: https://gitorious.org/gnutls/gnutls/commit/f16ef39ef0303b02d7fa590a37820440c466ce8d -.. _`encpkcs8.pem`: https://gitorious.org/gnutls/gnutls/source/f8d943b38bf74eaaa11d396112daf43cb8aa82ae:tests/pkcs8-decode/encpkcs8.pem -.. _`enc2pkcs8.pem`: https://gitorious.org/gnutls/gnutls/source/f8d943b38bf74eaaa11d396112daf43cb8aa82ae:tests/pkcs8-decode/enc2pkcs8.pem -.. _`unencpkcs8.pem`: https://gitorious.org/gnutls/gnutls/source/f8d943b38bf74eaaa11d396112daf43cb8aa82ae:tests/pkcs8-decode/unencpkcs8.pem +.. _`enc-rsa-pkcs8.pem`: https://gitorious.org/gnutls/gnutls/source/f8d943b38bf74eaaa11d396112daf43cb8aa82ae:tests/pkcs8-decode/encpkcs8.pem +.. _`enc2-rsa-pkcs8.pem`: https://gitorious.org/gnutls/gnutls/source/f8d943b38bf74eaaa11d396112daf43cb8aa82ae:tests/pkcs8-decode/enc2pkcs8.pem +.. _`unenc-rsa-pkcs8.pem`: https://gitorious.org/gnutls/gnutls/source/f8d943b38bf74eaaa11d396112daf43cb8aa82ae:tests/pkcs8-decode/unencpkcs8.pem .. _`pkcs12_s2k_pem.c`: https://gitorious.org/gnutls/gnutls/source/f8d943b38bf74eaaa11d396112daf43cb8aa82ae:tests/pkcs12_s2k_pem.c .. _`Botan's ECC private keys`: https://github.com/randombit/botan/tree/4917f26a2b154e841cd27c1bcecdd41d2bdeb6ce/src/tests/data/ecc .. _`GnuTLS example keys`: https://gitorious.org/gnutls/gnutls/commit/ad2061deafdd7db78fd405f9d143b0a7c579da7b -- cgit v1.2.3 From 83c67e172174c6f5135106e69c96b7f2c0e06e2b Mon Sep 17 00:00:00 2001 From: michael-hart Date: Wed, 24 Sep 2014 17:38:13 +0100 Subject: Update spelling_wordlist.txt Added some keywords for vector documentation --- docs/spelling_wordlist.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist.txt index b16026f6..121cebc0 100644 --- a/docs/spelling_wordlist.txt +++ b/docs/spelling_wordlist.txt @@ -20,6 +20,9 @@ decrypting deserialize deserialized Docstrings +dsa +dsaparam +ec fernet Fernet hazmat @@ -33,12 +36,15 @@ Lange metadata namespace namespaces +pem pickleable plaintext preprocessor preprocessors pseudorandom pyOpenSSL +secp +secp256r1 Schneier scrypt Solaris -- cgit v1.2.3 From 7289496d8534645c8bf00b0a90b485e6fcf30bbb Mon Sep 17 00:00:00 2001 From: michael-hart Date: Wed, 24 Sep 2014 23:42:21 +0100 Subject: Updated spelling_wordlist.txt Updated the spelling list to allow for RSA in the vectors README. --- docs/spelling_wordlist.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist.txt index 121cebc0..47be985f 100644 --- a/docs/spelling_wordlist.txt +++ b/docs/spelling_wordlist.txt @@ -43,6 +43,7 @@ preprocessor preprocessors pseudorandom pyOpenSSL +rsa secp secp256r1 Schneier -- cgit v1.2.3