From 04e783f5610d3983bb3cbdf82720d17a97c779a7 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 11 Sep 2014 18:27:56 +0100 Subject: Implemented support for loading EC private keys Loads Elliptic Curve private keys from .PEM files, whether encrypted or unencrypted, given that the encryption method is supported. Also included changes to the test files and documentation for said method. --- .../cryptography_vectors/asymmetric/PEM_Serialization/README.txt | 7 +++++++ .../asymmetric/PEM_Serialization/ec_private_key.pem | 8 ++++++++ .../asymmetric/PEM_Serialization/ec_private_key_encrypted.pem | 8 ++++++++ 3 files changed, 23 insertions(+) create mode 100644 vectors/cryptography_vectors/asymmetric/PEM_Serialization/README.txt create mode 100644 vectors/cryptography_vectors/asymmetric/PEM_Serialization/ec_private_key.pem create mode 100644 vectors/cryptography_vectors/asymmetric/PEM_Serialization/ec_private_key_encrypted.pem (limited to 'vectors/cryptography_vectors') diff --git a/vectors/cryptography_vectors/asymmetric/PEM_Serialization/README.txt b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/README.txt new file mode 100644 index 00000000..f48833c7 --- /dev/null +++ b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/README.txt @@ -0,0 +1,7 @@ +Example test files for PEM Serialization Backend tests + +Contains + +1. ec_private_key.pem - Contains an Elliptic Curve key generated using OpenSSL, from the curve secp256k1. +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 diff --git a/vectors/cryptography_vectors/asymmetric/PEM_Serialization/ec_private_key.pem b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/ec_private_key.pem new file mode 100644 index 00000000..6544ab05 --- /dev/null +++ b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/ec_private_key.pem @@ -0,0 +1,8 @@ +-----BEGIN EC PARAMETERS----- +BgUrgQQACg== +-----END EC PARAMETERS----- +-----BEGIN EC PRIVATE KEY----- +MHQCAQEEID5KKJYoOFVI+B9/BAynBUSl+lXgGOLdxd2b+JprRaL7oAcGBSuBBAAK +oUQDQgAE44pVr9HTSgw9lPJiZ+yHW2vxdT7vvhMEKuCf+e1/Rvgl/IcPHPKD7GvU +NhlwDsAVf6//ji7c4VzFpRwfXoRQGg== +-----END EC PRIVATE KEY----- diff --git a/vectors/cryptography_vectors/asymmetric/PEM_Serialization/ec_private_key_encrypted.pem b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/ec_private_key_encrypted.pem new file mode 100644 index 00000000..a971f47a --- /dev/null +++ b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/ec_private_key_encrypted.pem @@ -0,0 +1,8 @@ +-----BEGIN EC PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: AES-256-CBC,49858E10DCF0F870F0D3AC4F3B6B09A7 + +aTLUOmFF8IJyy3hABHPVapdAmJXrG8YCyXZw48Es801ie/CsX/9YsPoUKNqkT0WK +PcyA60ZrCGi9y3eCgfEyBWFZAmDtHnSqk/q8/jvf+GAIvu+u4+j9Ium8cDhMZYwK +7tBYqBCyxItmEIeAZqkZv6/4QbQ5E9xVK0dd2GGxtAo= +-----END EC PRIVATE KEY----- -- cgit v1.2.3 From 909f8222a5ee23c558876a783741e38b3027f59d Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 12 Sep 2014 16:19:39 +0100 Subject: Changed EC curve type and add test markers Changed the Elliptic Curve curve type from secp256k1 to secp256r1, as this is supported, in an attempt to pass tests on CentOS 7; also added markers and methods to skip test functions for systems that do not support ECC. --- .../cryptography_vectors/asymmetric/PEM_Serialization/README.txt | 2 +- .../asymmetric/PEM_Serialization/ec_private_key.pem | 8 ++++---- .../asymmetric/PEM_Serialization/ec_private_key_encrypted.pem | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) (limited to 'vectors/cryptography_vectors') diff --git a/vectors/cryptography_vectors/asymmetric/PEM_Serialization/README.txt b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/README.txt index f48833c7..97879f5c 100644 --- a/vectors/cryptography_vectors/asymmetric/PEM_Serialization/README.txt +++ b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/README.txt @@ -2,6 +2,6 @@ Example test files for PEM Serialization Backend tests Contains -1. ec_private_key.pem - Contains an Elliptic Curve key generated using OpenSSL, from the curve secp256k1. +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 diff --git a/vectors/cryptography_vectors/asymmetric/PEM_Serialization/ec_private_key.pem b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/ec_private_key.pem index 6544ab05..4ea43082 100644 --- a/vectors/cryptography_vectors/asymmetric/PEM_Serialization/ec_private_key.pem +++ b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/ec_private_key.pem @@ -1,8 +1,8 @@ -----BEGIN EC PARAMETERS----- -BgUrgQQACg== +BggqhkjOPQMBBw== -----END EC PARAMETERS----- -----BEGIN EC PRIVATE KEY----- -MHQCAQEEID5KKJYoOFVI+B9/BAynBUSl+lXgGOLdxd2b+JprRaL7oAcGBSuBBAAK -oUQDQgAE44pVr9HTSgw9lPJiZ+yHW2vxdT7vvhMEKuCf+e1/Rvgl/IcPHPKD7GvU -NhlwDsAVf6//ji7c4VzFpRwfXoRQGg== +MHcCAQEEIGIq02UsfuTvGOrZRnJGulum7SYqHHa3aJX3LpEqExJPoAoGCCqGSM49 +AwEHoUQDQgAEJLzzbuz2tRnLFlOL+6bTX6giVavAsc6NDFFT0IMCd2ibTTNUDDkF +Gsgq0cH5JYPg/6xUlMBFKrWYe3yQ4has9w== -----END EC PRIVATE KEY----- diff --git a/vectors/cryptography_vectors/asymmetric/PEM_Serialization/ec_private_key_encrypted.pem b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/ec_private_key_encrypted.pem index a971f47a..d04cd665 100644 --- a/vectors/cryptography_vectors/asymmetric/PEM_Serialization/ec_private_key_encrypted.pem +++ b/vectors/cryptography_vectors/asymmetric/PEM_Serialization/ec_private_key_encrypted.pem @@ -1,8 +1,8 @@ -----BEGIN EC PRIVATE KEY----- Proc-Type: 4,ENCRYPTED -DEK-Info: AES-256-CBC,49858E10DCF0F870F0D3AC4F3B6B09A7 +DEK-Info: AES-256-CBC,DF9D9E8C48BDB6A878E63D99E12D4996 -aTLUOmFF8IJyy3hABHPVapdAmJXrG8YCyXZw48Es801ie/CsX/9YsPoUKNqkT0WK -PcyA60ZrCGi9y3eCgfEyBWFZAmDtHnSqk/q8/jvf+GAIvu+u4+j9Ium8cDhMZYwK -7tBYqBCyxItmEIeAZqkZv6/4QbQ5E9xVK0dd2GGxtAo= +wwTwrkAsOWBrk7LeiR3m3yWeqaBQIEmywfgLZjuOte/HKxH8QHs/Enw896zE03aw +xb6sFXpCM8Q1L0rIlT7xoaNxXxA8WmIyiXIyX+JkY+3zm1iEzoP5xbU2q/Y3c4wb +wNSmiY094Jf0+EO/i/G/9zLYUlJDRVQ5fkIGazDwPMc= -----END EC PRIVATE KEY----- -- cgit v1.2.3 From acda0445b1d22da120bbd46283e374887758c8b2 Mon Sep 17 00:00:00 2001 From: Michael Hart Date: Fri, 12 Sep 2014 23:21:32 +0100 Subject: Added PKCS8 encoded private keys to tests Generated two files with the same private key as PEM_Serialization's ec_private_key.pem, one unencrypted and one encrypted with "123456". Also changed existing PEMSerialization unit tests to take parameters so that tests can be extended easily. --- vectors/cryptography_vectors/asymmetric/PKCS8/ec_private_key.pem | 5 +++++ .../asymmetric/PKCS8/ec_private_key_encrypted.pem | 6 ++++++ 2 files changed, 11 insertions(+) create mode 100644 vectors/cryptography_vectors/asymmetric/PKCS8/ec_private_key.pem create mode 100644 vectors/cryptography_vectors/asymmetric/PKCS8/ec_private_key_encrypted.pem (limited to 'vectors/cryptography_vectors') diff --git a/vectors/cryptography_vectors/asymmetric/PKCS8/ec_private_key.pem b/vectors/cryptography_vectors/asymmetric/PKCS8/ec_private_key.pem new file mode 100644 index 00000000..3a625b6b --- /dev/null +++ b/vectors/cryptography_vectors/asymmetric/PKCS8/ec_private_key.pem @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgYirTZSx+5O8Y6tlG +cka6W6btJiocdrdolfcukSoTEk+hRANCAAQkvPNu7Pa1GcsWU4v7ptNfqCJVq8Cx +zo0MUVPQgwJ3aJtNM1QMOQUayCrRwfklg+D/rFSUwEUqtZh7fJDiFqz3 +-----END PRIVATE KEY----- diff --git a/vectors/cryptography_vectors/asymmetric/PKCS8/ec_private_key_encrypted.pem b/vectors/cryptography_vectors/asymmetric/PKCS8/ec_private_key_encrypted.pem new file mode 100644 index 00000000..7c35200f --- /dev/null +++ b/vectors/cryptography_vectors/asymmetric/PKCS8/ec_private_key_encrypted.pem @@ -0,0 +1,6 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIGwMBsGCSqGSIb3DQEFAzAOBAh618AJwpxyvQICCAAEgZBhr8rmqfqMHmPh/Gjo +S1VgD8sZUG3oILVzmuSb/k4uvynfctSG/ajwkacMF9UR6PvbTHjJUqX9RXHF6hug +r08T/tXDaHhdNkj0TzW+ZZD1Ky6+saBkMZr9C0XDdsHDEEtRkYAb9xtWj+Z1iars +C/xyREp46ZyeinO4Vy8BJXxCwMaSa/6HtogSb9eWWXKk0uA= +-----END ENCRYPTED PRIVATE KEY----- -- cgit v1.2.3