diff options
author | michael-hart <michael.hart1994@gmail.com> | 2014-09-23 21:52:47 +0100 |
---|---|---|
committer | michael-hart <michael.hart1994@gmail.com> | 2014-09-23 21:52:47 +0100 |
commit | 2e1f738ea5ae21c0bb9c984523c2a592db1d9151 (patch) | |
tree | 52f2cb9e96e43a4d20ccd728422fa5f1ff0745f7 | |
parent | 7a5629a718c787c671e0ed9573d0b8805758f660 (diff) | |
download | cryptography-2e1f738ea5ae21c0bb9c984523c2a592db1d9151.tar.gz cryptography-2e1f738ea5ae21c0bb9c984523c2a592db1d9151.tar.bz2 cryptography-2e1f738ea5ae21c0bb9c984523c2a592db1d9151.zip |
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
12 files changed, 132 insertions, 10 deletions
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/encpkcs8.pem b/vectors/cryptography_vectors/asymmetric/PKCS8/enc-rsa-pkcs8.pem index 69417b85..69417b85 100644 --- a/vectors/cryptography_vectors/asymmetric/PKCS8/encpkcs8.pem +++ b/vectors/cryptography_vectors/asymmetric/PKCS8/enc-rsa-pkcs8.pem diff --git a/vectors/cryptography_vectors/asymmetric/PKCS8/enc2pkcs8.pem b/vectors/cryptography_vectors/asymmetric/PKCS8/enc2-rsa-pkcs8.pem index 4ec8ddc1..4ec8ddc1 100644 --- a/vectors/cryptography_vectors/asymmetric/PKCS8/enc2pkcs8.pem +++ b/vectors/cryptography_vectors/asymmetric/PKCS8/enc2-rsa-pkcs8.pem 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/unencpkcs8.pem b/vectors/cryptography_vectors/asymmetric/PKCS8/unenc-rsa-pkcs8.pem index 794dfd7e..794dfd7e 100644 --- a/vectors/cryptography_vectors/asymmetric/PKCS8/unencpkcs8.pem +++ b/vectors/cryptography_vectors/asymmetric/PKCS8/unenc-rsa-pkcs8.pem 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----- |