From 370457f405c8d1e2e740d7e424ff5d8f9c0285d3 Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Wed, 12 Jan 2022 12:47:15 +0100 Subject: [PATCH] add PEM tests Signed-off-by: Steffen Jaeckel --- .../long_pri_pkcs8_pbe_md5_des.pem | 11 ++++ .../long_pri_pkcs8_pbe_md5_rc2_64.pem | 11 ++++ .../long_pri_pkcs8_pbe_sha1_des.pem | 11 ++++ .../long_pri_pkcs8_pbe_sha1_rc2_64.pem | 11 ++++ .../long_pri_pkcs8_pbkdf2_des_cbc.pem | 12 ++++ .../long_pri_pkcs8_pbkdf2_des_ede3_cbc.pem | 12 ++++ .../long_pri_pkcs8_pbkdf2_rc2_cbc.pem | 12 ++++ ...g_pri_pkcs8_pbkdf2_sha224_des_ede3_cbc.pem | 12 ++++ ...g_pri_pkcs8_pbkdf2_sha256_des_ede3_cbc.pem | 12 ++++ ...g_pri_pkcs8_pbkdf2_sha384_des_ede3_cbc.pem | 12 ++++ ...g_pri_pkcs8_pbkdf2_sha512_des_ede3_cbc.pem | 12 ++++ tests/pem/ecc-encrypted.pem | 13 +++++ tests/pem/ecc-encrypted.pk8 | 12 ++++ tests/pem/ecc.pem | 10 ++++ tests/pem/ecc.pk8 | 10 ++++ tests/pem/ed25519.pem | 3 + tests/pem/ed25519_attrs.pem | 5 ++ tests/pem/rsa-encrypted-aes128.pem | 18 ++++++ tests/pem/rsa-encrypted-aes192.pem | 18 ++++++ tests/pem/rsa-encrypted-aes256.pem | 18 ++++++ tests/pem/rsa-encrypted-camellia128.pem | 18 ++++++ tests/pem/rsa-encrypted-camellia192.pem | 18 ++++++ tests/pem/rsa-encrypted-camellia256.pem | 18 ++++++ tests/pem/rsa-encrypted-des.pem | 18 ++++++ tests/pem/rsa-encrypted-des3.pem | 18 ++++++ tests/pem/rsa-encrypted.pem | 18 ++++++ tests/pem/rsa-encrypted.pk8 | 18 ++++++ tests/pem/rsa.pem | 15 +++++ tests/pem/rsa.pk8 | 16 ++++++ tests/pem/x25519-encrypted.pk8 | 6 ++ tests/pem_test.c | 55 +++++++++++++++++++ tests/test.c | 1 + tests/tomcrypt_test.h | 1 + 33 files changed, 455 insertions(+) create mode 100644 tests/pem-ecc-pkcs8/long_pri_pkcs8_pbe_md5_des.pem create mode 100644 tests/pem-ecc-pkcs8/long_pri_pkcs8_pbe_md5_rc2_64.pem create mode 100644 tests/pem-ecc-pkcs8/long_pri_pkcs8_pbe_sha1_des.pem create mode 100644 tests/pem-ecc-pkcs8/long_pri_pkcs8_pbe_sha1_rc2_64.pem create mode 100644 tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_des_cbc.pem create mode 100644 tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_des_ede3_cbc.pem create mode 100644 tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_rc2_cbc.pem create mode 100644 tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_sha224_des_ede3_cbc.pem create mode 100644 tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_sha256_des_ede3_cbc.pem create mode 100644 tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_sha384_des_ede3_cbc.pem create mode 100644 tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_sha512_des_ede3_cbc.pem create mode 100644 tests/pem/ecc-encrypted.pem create mode 100644 tests/pem/ecc-encrypted.pk8 create mode 100644 tests/pem/ecc.pem create mode 100644 tests/pem/ecc.pk8 create mode 100644 tests/pem/ed25519.pem create mode 100644 tests/pem/ed25519_attrs.pem create mode 100644 tests/pem/rsa-encrypted-aes128.pem create mode 100644 tests/pem/rsa-encrypted-aes192.pem create mode 100644 tests/pem/rsa-encrypted-aes256.pem create mode 100644 tests/pem/rsa-encrypted-camellia128.pem create mode 100644 tests/pem/rsa-encrypted-camellia192.pem create mode 100644 tests/pem/rsa-encrypted-camellia256.pem create mode 100644 tests/pem/rsa-encrypted-des.pem create mode 100644 tests/pem/rsa-encrypted-des3.pem create mode 100644 tests/pem/rsa-encrypted.pem create mode 100644 tests/pem/rsa-encrypted.pk8 create mode 100644 tests/pem/rsa.pem create mode 100644 tests/pem/rsa.pk8 create mode 100644 tests/pem/x25519-encrypted.pk8 create mode 100644 tests/pem_test.c diff --git a/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbe_md5_des.pem b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbe_md5_des.pem new file mode 100644 index 00000000..ae7ec312 --- /dev/null +++ b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbe_md5_des.pem @@ -0,0 +1,11 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIBiTAbBgkqhkiG9w0BBQMwDgQIzN684k11RQMCAggABIIBaL9W5ZvbQUeDz4Zb +jISViw6ehWft1lmvZpqzA8Fik3zFIhxSZ9qr03mRdh9fU6VOfLX15NyMdFxwcYnR +c4a/CWz/tu7XTlY4sA0lvI0tJLrTOQNcZdNUlUTbnrQ1N1VaAVWbmP4m+r+NUivz +7ml0q3wcClRZmADg9NcTx1KnZQrbboGjIfG9mSNcpuN9OYa8muat9ytCRlBj43Fa +YKe6xYgKwWUzBdjArIufsdeCwDnfj5qFJ/7DUOgFaGS1mzCP/zJaZHWRd5ArchP/ +NVYwIonzPgmH7UP/VHJaFiKc7qmaHP7WHuGWMci8pMH1fnpCFDshQfwBHmCwCdar +lUy3Kwu4DUarhyde3jbDFyMwM/ffu9VJor+KZXokTYNjXPzuuM5ZBx7ZKYnFTuMJ +NpaH+chSxK3Peif03mWQMJZuiBNh3tAGfkFb+gMAdhxzgWpDhhtE1c8Zbnwyc+Sk +MMNju1uX2plDFluAxQ== +-----END ENCRYPTED PRIVATE KEY----- diff --git a/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbe_md5_rc2_64.pem b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbe_md5_rc2_64.pem new file mode 100644 index 00000000..0de45802 --- /dev/null +++ b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbe_md5_rc2_64.pem @@ -0,0 +1,11 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIBiTAbBgkqhkiG9w0BBQYwDgQIUliSQEiAS8wCAggABIIBaMP+c+hNliY66qDg +33YhJJfuzxVkmW95vpDNw5UqF4jWBW+3xoJHpPJk2zON5nkENQkFU2B/7HY23tLT +lPuWoA5GDotPEMadDMLvxzuynRL9ywZjLVouKNngcLSgxZC5+LS5BqwBlfvcCqk6 +3d0XXB616f4CocTA9s6FHM24vgVEJujjj7K7V4otW7kYfLUTx8ZQ+YUNCCXI/2jB +c0UzHlCWFQ4oZuqINzc/W04HIOerjfGhK1SN/cUboN/PJ090wFzqEPE2MWf8/2ug +N5V2vMkrwwN5uIUumFGY7+vXWOdbs7TAplZQDGlS6I5hnJXqJMXysnweAmw/TOKl +UM25+LQSf6V5FeRh1q7cUzRtzahXX/YKICBYHgOChVj8B5QI31RNFRUpOYOFpjeo +fCMvNI6Qp3U9sW462xq4hvemBUUSOuM5P8M+mZxpAXxB56W5bfVTD8nWTzdMH38o +sfWwu/7anoMxI6YN8w== +-----END ENCRYPTED PRIVATE KEY----- diff --git a/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbe_sha1_des.pem b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbe_sha1_des.pem new file mode 100644 index 00000000..19826ead --- /dev/null +++ b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbe_sha1_des.pem @@ -0,0 +1,11 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIBiTAbBgkqhkiG9w0BBQowDgQIT35B+lfH22gCAggABIIBaNDnpB3HZ1IxSmgD +9icYYXhKwHT9lpyAzlX8h43ccwROt/WR4N9+Q0Xcfdktv/5pVKkzkGsXD1u0x6OM +Oevtj/O7DbfzpW3pOUAB5aaA21QOksVAvjtjuwZ8eRGa4h6aXaMUQYOo5AQAHH8/ +Ev0MqqJucgEzONByZTp9B6FwWwbioEhap9h8qX6oQ09SXQnKCNi3KxD2IDAwMDMm +Ss+wMmq6xiGR2UUHg/+tiMHCmLTcCkvhTg6l7rsH6LEO4W3G0teholWSrke73yeO +NhU3O0AZjUCMXqli1WxeJByermRVAIY2lnMlG6+8sDQMEVePutd7x9Y7D223VwZR +ou59pwdJt+OHNKMCMiPIFNht5iir3zpJ+yP5wP5CDigb+RS5e03LGmT9An+8j/Kb +PZURQSa0aqQasn2QTAF7zRlLTOPpBlSPgmWuZolZbHqkDbX0xPJYO9BlfY5nX8hS +/18lPQ0wUIBYG19yuQ== +-----END ENCRYPTED PRIVATE KEY----- diff --git a/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbe_sha1_rc2_64.pem b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbe_sha1_rc2_64.pem new file mode 100644 index 00000000..62b66dd9 --- /dev/null +++ b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbe_sha1_rc2_64.pem @@ -0,0 +1,11 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIBiTAbBgkqhkiG9w0BBQswDgQIh4GKHk4SmIcCAggABIIBaFWSw80nmDwiKdqt +u/t4WtFeyVbdtDZqX9pK1Um5lWVpdYNHBZFGtc+mQA4QTUGg7jCbOHC4YiO5FQtw +FVay9nMGd/MAfITULLUCNr7DERM9OgP3Iy8fvnloFV7DLafDeFGlreTrGVaEzb6+ +vHkys/Q107k3UpNNZl7LUSZ+u1olENDIkm/VhInmDS8fWgOt8KfKdmQB9hpnW3Q0 +WOiUBC/SEau/o0tLc9jqwXbkUxG4tYfFlQgA6ll1N7OPmX0XOleGsVJkeyakkkZm +78QQDDsEeDuS3Jk+L6VUbJimxUOFNzy27YhFYKFwvEoxVmAsKgBP+ycOQqIOM0Bu +NwtfNQm4gIySqfkMGnGIrOFpXT9nk2ouIoTnT1prGBHP7IosgJATlTytChhfXCj+ +pm119VBAHho+Rx0K7WPfWh6F7gBf8v+dtlPgYdtg9KgxsESkHqLQNAOxTgyw6Wv/ +f2Ma7GbDLKr98YTwEw== +-----END ENCRYPTED PRIVATE KEY----- diff --git a/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_des_cbc.pem b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_des_cbc.pem new file mode 100644 index 00000000..3a64eb1c --- /dev/null +++ b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_des_cbc.pem @@ -0,0 +1,12 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIBuTBLBgkqhkiG9w0BBQ0wPjApBgkqhkiG9w0BBQwwHAQISIYM8rI/jPMCAggA +MAwGCCqGSIb3DQIJBQAwEQYFKw4DAgcECDtoK11BLZ8yBIIBaBWpKqU/zd8dK45s +iC3X+IdPeXmg/tlJZyKJdlLgyZMzq2hwmqpNW6OqcVUf6vRJXrmUvLXdzbc8LmHi +hBUwtXAenYJHOt/dY2bQmHsh3UE6Rjo98CNUQkPY254kscMDCYIH2kYk5m7Axx9s +r/GSteJ73i1snCMlguBnAw4Hfn63aWJ+quu91lTupoZ5GzP2JmByNaobOzPbLj+o +RkQEdqjOCnRhnVKh6b7jJlJZjKC+pSrMovuVfrjfGk74MTnWDrYBBbM2whY2/1gV +JHjfI+2UUg2AJXqrZL6aNXgRAypWqEWm74quPzw1oED1xeBv3n3qTT8ibYHNXXcl +GGe8nduOm2sv+FZNx6LaKhutbSiCGW+TT14Rf7iYjDxDz2Zo+ngh9USb04VFhvN2 +rcdv3x2tetKqbQ6THhM9LfyArYpDF4tC2GRNCdmMcQClIMQIEwvabg14XORdYWBl +ETQPMiGjep69gcsCLg== +-----END ENCRYPTED PRIVATE KEY----- diff --git a/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_des_ede3_cbc.pem b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_des_ede3_cbc.pem new file mode 100644 index 00000000..2124806f --- /dev/null +++ b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_des_ede3_cbc.pem @@ -0,0 +1,12 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIBvDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIuVWjGRuwrEYCAggA +MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECPNKy7KzuZplBIIBaMCytdZYGgmG +HnRqZZefHmq6QoFtPFy0UcUx/k4QyPX98gftQZsOMQUjK3SYb0E1stwvJyuOxMk2 +QAAkSvQgdB4/O9Bn+YcAr2yN1kQ3ZGs4GhKeFdCVzha6DFXPnfumxB7nqH1A7hvq +6e/DkOPnfcwfq7yy8ydmfubZ5ycdQmCn/s6UuxmipSG3viAWXOWxxj0ujOuwcti0 +UtVNDYfiat77khdEmkbTjWek/ClaQhbs8c0ihQ3VTjjzNumCjK95SDWzNfyXr1Cz +BOz940PYzy/CWJ9kcPHtAzF9ZKBCE0iDx6dlAqUpMr8+cUDGHtoxeMG0SEhuneEx ++2PyO8eHACl+UZ7gvMRvU0HikmIXLIDuE4W/5bFwLlwe+W0vWx+/RrxSUhotY2f3 +tIUMchZH0V9e2bjcZEpoOgAbJFwpv4BhSzPFGUtCvaW02GprDFbkvpdeVEAOeJCo +AERV4FOHuiQN5xICywgs8w== +-----END ENCRYPTED PRIVATE KEY----- diff --git a/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_rc2_cbc.pem b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_rc2_cbc.pem new file mode 100644 index 00000000..add39d14 --- /dev/null +++ b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_rc2_cbc.pem @@ -0,0 +1,12 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIBxDBWBgkqhkiG9w0BBQ0wSTAsBgkqhkiG9w0BBQwwHwQID289hiP8sNACAggA +AgEQMAwGCCqGSIb3DQIJBQAwGQYIKoZIhvcNAwIwDQIBOgQIS6rg/BDDyx0EggFo ++EP7A0v/HXDb7sIKUaSRo31UgIvfB3ReCYvjl99OhGohyPKU5d0SG1P+a5qACAtM +9NOPIB8UdjjrKxz8i3hjpWEOCMQAdaXhkIiYaDbPvAVQwlfEA8LUlUoJce1JbyUy +O/BJx2FvSuQYMpzYdjj+PXifngb3qKAC7W+72D3d/npwCFMAfo/Bp9rCk/0MWakp +KpUspNT9b69YI0yGKxRpJNaX5B4FuaLe1O31Tveq0ImyiWEcSC6bsFfi8xWXmNMR +pw72Pv6FEgSc1aaSiViQVvkDaes1M4Po4K2geld07bnXn9e1JzInYquBnhFUe9Rs +HyGTqJp0S1Yyqdt46e13NIfM8knvapl9/0fZ/QJ9UIPbINpFRGeFBJY5pR1xEvNK +EST6HZIw84U0iMfGl2e9oyC4r+1hZfkELHSK3d/s/SRiRhw1yTOGU1dFMwUz8yif +CCNNR0cFDfSKHYQOu78bUZ+Nmt7ydzn5 +-----END ENCRYPTED PRIVATE KEY----- diff --git a/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_sha224_des_ede3_cbc.pem b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_sha224_des_ede3_cbc.pem new file mode 100644 index 00000000..d7714841 --- /dev/null +++ b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_sha224_des_ede3_cbc.pem @@ -0,0 +1,12 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIBvDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIF1hZIYPOrdkCAggA +MAwGCCqGSIb3DQIIBQAwFAYIKoZIhvcNAwcECO1sfQDcxpkyBIIBaHKe707yztqL +ZqMI2BkJdLhNUeysatW7IP9WLN4+kM9IGx8d3jVthFK28kmQv2yHjFqbuTYnJJz+ +7sskqfbv+xO+LmSlppeD2XaolcoCCu0ic/JmE++CORaR/cswkjZD6dDaB3saZO/T +gKleto54fMnMNUAF43aIKZGr1xOv6utMqWXULCIMkk1RtqRv5l/bTavFnnoHfuUW ++eNH+z4yopTuJYMSvYcxcTFaTx+SpoR+Cyp9HJAGmNk4LS3abxIu/QtB3Is1QZpS +tBmizAv+5pmIshWIAsIXbgK3a6VboxzJI1Twt74pPYEv+OJbOtvmDNrM8Anqc6pk +gc+0W9/CZ+gL9Zo0MZFnehnuK2EwpPmzHrRoyCM762wcImyz+5EVVpJrixUGpq8F +wjtw1xOMhyQ3K5j/kQWdLgoR47s9fbkkgSxIggY9JrWA8VY6uqm/AWJKrITFM6hx +75lOxEX6Cw/B4y0V+xZ1rw== +-----END ENCRYPTED PRIVATE KEY----- diff --git a/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_sha256_des_ede3_cbc.pem b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_sha256_des_ede3_cbc.pem new file mode 100644 index 00000000..00ef0416 --- /dev/null +++ b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_sha256_des_ede3_cbc.pem @@ -0,0 +1,12 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIBvDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIqmXjSIb59wUCAggA +MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECAhqA2qQFwcrBIIBaACt+al/ytm9 +NKroYGO1rExbTYC87yT9N4Q3im7IHTrUXrWxm12t8PHJCpr+2OIrCaTC6bcAMcRI +cJEgsp6MISxZQXkFFt8zauC6cegsBnIngi3lPzpo+66v+jq3F26XXE1E6jWexcev +osngyT8Ng1lddwSeUZ6qmIoajOdliaZKt9zEnNre9uGi1tqjXyAjtMzRNPOdj8qK +6LS8U8bZlhNk/5LQiYdq/s93oA4XvIZaiVmNDnirfqYLWXhpPuk6pinZZIf45bNj +WpHR6nlS6zrfMbu7OsOVMk1dYMS0wyWf4V7c33EUGq3V+UpCwf7lHiXpKHf3VUql +ATJLCH0rVpVtSLQKzu+AtQ5hXWM5L95eDgJH4cHMvUZyH5fXBD0XVwGwF6jl5Bgu +qpiQrk0N4SINtOTUz6cpkCg2i1rT/y1OFtfzlcaU2O73MlEcRSo9X1FFQuKSY978 +XJWKmss54p2ZDZXjI9hKIQ== +-----END ENCRYPTED PRIVATE KEY----- diff --git a/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_sha384_des_ede3_cbc.pem b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_sha384_des_ede3_cbc.pem new file mode 100644 index 00000000..5687c728 --- /dev/null +++ b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_sha384_des_ede3_cbc.pem @@ -0,0 +1,12 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIBvDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIsCQVVRoBSP0CAggA +MAwGCCqGSIb3DQIKBQAwFAYIKoZIhvcNAwcECO8+o1eRBcmTBIIBaDM+16hmyXFa +Nh02rGpKlggDDWc/bcpLnmi0vEyHIG5wpwS8RYiKY7AlJv/soNuGh/62kFJzvJyl +gwhAdqE4Q8u1ECKvIz9VUJkY7etvSP3Pu2lNeE2wVPk6k36RjSib7cwefrawJrTQ +50J9gdxw2vl/vep7nZRPVerqod9Us2x1/M0DMYtcm9iWgNGXKnF1bXE/TzDaWmUG +4Isx49V4CaUSNbdP/Y9wfj1LARi/qZ8sIMQmi7rWFZJOutJ2HBJcvkiAOUWtxGrV +PTPkWsCk8MQ6gzi0RTcotqC3Z8cJm7TQ0kVpytNAGNavuK+VklApSEPwK1RiLL5a +04KuIyO0qf/Yh+e7i1miX9aNcA8U7XrgrgUguccFm+25JPhwvKerEvgbthQtd4DL +09z8ClPcOqarLRzbpswcVppBmfI27TbQC5HS+UjPGa4CSTgOjwFmoFoV8P06E7/J +DB2MLT7THaLfYdv+dewaLA== +-----END ENCRYPTED PRIVATE KEY----- diff --git a/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_sha512_des_ede3_cbc.pem b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_sha512_des_ede3_cbc.pem new file mode 100644 index 00000000..e1769fb7 --- /dev/null +++ b/tests/pem-ecc-pkcs8/long_pri_pkcs8_pbkdf2_sha512_des_ede3_cbc.pem @@ -0,0 +1,12 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIBvDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIuyUx21YswXgCAggA +MAwGCCqGSIb3DQILBQAwFAYIKoZIhvcNAwcECHopIpIBxzQyBIIBaKCdLeYJSoYs +0tuuykMqh5YwG3yzsI5RoDHZVkuissmreb6AgFkwoH1PpvvbwY4NkAEZ3CADeeAr +R+CPBI2GZP83/VoJKgk4WZ3518FZPUks4obIE5/AVNjYTJXhfwPCXdf21h6DoAUr +OeSi4U72rsKTmNM/ARa44JJjkgC+77+Ith4+ayeq2h+v4ylRx533AkL8kbzBDVey +pyLENNSnwwZHUpAhV0ZlurXLHc0eNHyn6LzIXig1RawC0uuYKb+CxZrkbtX9R/HO +mTUf7EZrVvJb/G5H9Buhs8gi8Ul/C2LFnCdy2VbBkubnbK70mIyQ4HLY04NGpw+b +6TXHODwrSEwCHNdIyVEuIFW4TkQtWmKAqT2/wupJ8PWo83/mxlTb6NQlhSFFY/Tu +FiPRHi2q4rI3+283NJ/W624esG44u3+OBqHNZe1F7IXbEzM+iGo4osI7CXvvQrfo +PJAUlYc9TtaTQAqdJcVjdA== +-----END ENCRYPTED PRIVATE KEY----- diff --git a/tests/pem/ecc-encrypted.pem b/tests/pem/ecc-encrypted.pem new file mode 100644 index 00000000..9b6d1175 --- /dev/null +++ b/tests/pem/ecc-encrypted.pem @@ -0,0 +1,13 @@ +-----BEGIN EC PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: AES-256-CBC,AB9C64372F927A0D0C27AFF8808FA408 + +7vsYSX4TxsNKVJ9rdDQ0KJV5fIjv8cmtm0hCfY3dXPaoBy7dnQmtoS1cB2L7/5lg +Qr/COJFKg0PY7y+aB+wK96rFZUvmHSwxjOUbz1/+e4PHbDaSJJCEJpqzS5Clo+nO +q/FKjfXmQ9yANLO0o4QcSRwSjxIuIK5KWG2EXWm9gCsR1tPW9UmSCSFOn02puF6e +HJZnrq7SHvTvuZ3Tbzzyhp7Z7LofSLPaHaCdWrGlY/AlsnUdOywHD3ATCvvjTVqJ +GelaUv12BEJK+B945LmgMkj+BRhKcLXmK5Q2am3ZdvwyZW7E9JcDLPjX08VEfxY3 +aOBv1mysIroniX3UEZmNR/gUnQTSGa9m+ZsQvZYoZsqK0dn9THf70fW6scmBvfR/ +wRnS1fe3WYsjkXAvAq/a/5Ev6go6G0xgKHI+TJMeFxC2v1r2aTlDKw8AcGwUzsll +HIbyabEaVwQviNuH6NHNpw== +-----END EC PRIVATE KEY----- diff --git a/tests/pem/ecc-encrypted.pk8 b/tests/pem/ecc-encrypted.pk8 new file mode 100644 index 00000000..f8c8d2fe --- /dev/null +++ b/tests/pem/ecc-encrypted.pk8 @@ -0,0 +1,12 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIBzTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQIDvEXvzqHE1ICAggA +MAwGCCqGSIb3DQILBQAwHQYJYIZIAWUDBAEqBBCj/pJclOyl8T9QLQ5hST9UBIIB +cAhS99K8b/rp2TaTvSSuwTS1qFcJ0O33zSSIprhVriNdArgQC0sX3XZKe5tyzWSD ++ZJZXJhcnQKRauDGhiF7dJWSgM0MbL90ZgwFyQvwzl1kxfKheaS8Hv/xGDvx+eAU +XwOAddifqcSediLUwtf5SRUmPy12gxcMFN0gY7fvjA0Wb/fDn6UuG0iu+y/msiu/ +S+dW+PbOZBDiQb1u/U+wKTdvQxowlu6zkapxRFRWC1i2S7vBtdK7aLTERUJwdEf/ +RdAMLXQdr5zhKHTjx7nQiPCksbNrpdTQHw/nsrNtE0pPvde3MCNIfvaDgHXyCV8F +Fo/fn97YhaKH8zCfvWhduuY2Bj3M1jBLRxGQZ2cs4hb6Ua3R2GiTD0h5zp9uNXRH +SrECToksdY5jNz1qMV6TA7gAOZ477sZCkJ0WU68B0jUVJKlEYCPzyTVcoy3a1hiF +Lx2H5WbsXSsZGaX+wyUUicYm8J+YnGtVd+FgS5e8Lh4w +-----END ENCRYPTED PRIVATE KEY----- diff --git a/tests/pem/ecc.pem b/tests/pem/ecc.pem new file mode 100644 index 00000000..2cfd6c0d --- /dev/null +++ b/tests/pem/ecc.pem @@ -0,0 +1,10 @@ +-----BEGIN EC PRIVATE KEY----- +MIIBUQIBAQQgDPGtLwP3kRu6A88jN8jy9zbOZfGELX2fX54h2V5JvSOggeMwgeAC +AQEwLAYHKoZIzj0BAQIhAP////////////////////////////////////7///wv +MEQEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAABwRBBHm+Zn753LusVaBilc6HCwcCm/zbLc4o +2VnygVsW+BeYSDradyajxGVdpPv8DhEIqP0XtEimhVQZnEfQj/sQ1LgCIQD///// +///////////////+uq7c5q9IoDu/0l6M0DZBQQIBAaFEA0IABCr5C9q+cWae0c8S +0CSvurZ/+5YnPi+9HtX5jWxzncUWkb2yuRtAEFq3bG4yW/djYpQkJNvsP4vlbktk +NzEkeU0= +-----END EC PRIVATE KEY----- diff --git a/tests/pem/ecc.pk8 b/tests/pem/ecc.pk8 new file mode 100644 index 00000000..bb72e1b8 --- /dev/null +++ b/tests/pem/ecc.pk8 @@ -0,0 +1,10 @@ +-----BEGIN PRIVATE KEY----- +MIIBYQIBADCB7AYHKoZIzj0CATCB4AIBATAsBgcqhkjOPQEBAiEA//////////// +/////////////////////////v///C8wRAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBEEE +eb5mfvncu6xVoGKVzocLBwKb/NstzijZWfKBWxb4F5hIOtp3JqPEZV2k+/wOEQio +/Re0SKaFVBmcR9CP+xDUuAIhAP////////////////////66rtzmr0igO7/SXozQ +NkFBAgEBBG0wawIBAQQgDPGtLwP3kRu6A88jN8jy9zbOZfGELX2fX54h2V5JvSOh +RANCAAQq+QvavnFmntHPEtAkr7q2f/uWJz4vvR7V+Y1sc53FFpG9srkbQBBat2xu +Mlv3Y2KUJCTb7D+L5W5LZDcxJHlN +-----END PRIVATE KEY----- diff --git a/tests/pem/ed25519.pem b/tests/pem/ed25519.pem new file mode 100644 index 00000000..e447080a --- /dev/null +++ b/tests/pem/ed25519.pem @@ -0,0 +1,3 @@ +-----BEGIN PRIVATE KEY----- +MC4CAQAwBQYDK2VwBCIEINTuctv5E1hK1bbY8fdp+K06/nwoy/HU++CXqI9EdVhC +-----END PRIVATE KEY----- diff --git a/tests/pem/ed25519_attrs.pem b/tests/pem/ed25519_attrs.pem new file mode 100644 index 00000000..84961082 --- /dev/null +++ b/tests/pem/ed25519_attrs.pem @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MHICAQEwBQYDK2VwBCIEINTuctv5E1hK1bbY8fdp+K06/nwoy/HU++CXqI9EdVhC +oB8wHQYKKoZIhvcNAQkJFDEPDA1DdXJkbGUgQ2hhaXJzgSEAGb9ECWmEzf6FQbrB +Z9w7lshQhqowtrbLDFw4rXAxZuE= +-----END PRIVATE KEY----- diff --git a/tests/pem/rsa-encrypted-aes128.pem b/tests/pem/rsa-encrypted-aes128.pem new file mode 100644 index 00000000..9fe278b8 --- /dev/null +++ b/tests/pem/rsa-encrypted-aes128.pem @@ -0,0 +1,18 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: AES-128-CBC,E34B30358A82741CC19E7D3B39F262F9 + +gBfy6bd92405991TDo1pT58ZimYUlsz6rXQkaM22TsMzKq56Bw0qz9h4JOJ6huKh +BQlHJ1Wn8m75J2dFPAX/Y1qTNzTufNIZ7iGsJnlagYV1P/ICN2kdDp5Qozz67n+v +N/S8S+42snqrL6Z3PsX31Mz0+bp+AX+IONEDJ+63ggOiMx5/eOh5fGVP/xovCAP8 +E4NYev1mDY/DQpsMhaiSedAU2rwbGZTLdyZbT5Nj8bWOiU8Co9B0MLrnwfjqS9w0 +gpeW2N8bW9WrXySePS5qJIVWs4FwC0OnU0oZ5h2oi1p0j9vJfOBTHOnLXgC/m8oR +tdDxHHUHrhBmLvMHnb5ZxMSGqYAB5CHt8TvGSYe+wUNdEV0bwWsgwDQp1DR9UKij +HKpMbemWzwueOeXvgwmziHOzxureE4vAEEv+rakxhbagkWpizyM1IxjxPa3A0ohY +THF/dq9PmDtyTtAKYcttRlqhPTOUIWHUu6rxqYpuXY8edqzALoC1dUI/WVJuMesf +JVcX4gL0FxtN/Cyd2j01AfrC5rBQuEwq2l5IEfdGKv1rsWH3lGpI+yv+l6yLrYT9 +Hfooeb1ZKx7kf3J4Yy7LObaMuCjPaYFGeAAwVP5OL/cSRwJsAgvpTmwM9k23+AAP +WS616Cl6FpKTFbJSDNrqfEAo4ghsbbrmuG/EzhqFNzYhCsX2GKRqp5Om5TBV+pSe +svP6HF2sh1bypDlFv6V+grUIU6FHHS8v+/XeO502VDMdMonuV3G9kiFvL7pXGZ3Z +iNFkdAUegliKvbkFg5DyHMYnAmYrj90BYaLQBPCVjFR8waxHLr/eFFaKTlvKT/T+ +-----END RSA PRIVATE KEY----- diff --git a/tests/pem/rsa-encrypted-aes192.pem b/tests/pem/rsa-encrypted-aes192.pem new file mode 100644 index 00000000..5c157b68 --- /dev/null +++ b/tests/pem/rsa-encrypted-aes192.pem @@ -0,0 +1,18 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: AES-192-CBC,84225A437AB98BED8FB41AA30CEEF69C + +phaXiTpHZdPh9nB147D+IBIuWRLYueXgy1eqX1hFC/xskCRGQxwmhWhppGp6Evcu +PA9DywqHHrYPl5fZsSXjOpj3H1JU/4oP/q48Yz6832YxRZHblAZgVEvK+OqPFq1y +FVnL8JMXLZ7GNAvl9JNBfmL4kYJY1CwcLeplPXDfrAdrDt/974/jNB85qsyqVsQu +QNdLj3BRLJYWWv2MUIlfP2+Wef5pA4w+Aurv5evxcRZYSsqUhHwrBjfrXMumzjAi +7VHh71TyFJBbN/qiiBqaCLyG301HqUBdcpstlZ6GUU+dIg/QR+QrY2T5rRwmbp1T +RA96OSsXypEDz/35XMrcnFV7PyO1q+GueXTxnNH/a5SNKohaElxyn7suJ5nuoh/W +euUNeNFk6caq2wkCS7Ew5vvNqYbh6npKdrz1JzfsyjpwYkPdE0VXxEe5/Pcqhjpc +tKZ5Ej+nNYSCIDrmGd8PteoUWby3oeyS/K+8OofKu0nKexdJ69iY7bcMCu+WuM/K +flXCgQU1d2ClY6x7zFRjPjgI6NCiBlZ7ndx5NT5BLJfWA3VZRwMZsSYx04kUH+wJ +vkaBKUGpBQIvR5cNvPberc5Ckl4CdiFCGSGhREF6M+8sB9KzdVebrBX3ht/lE05v +m+4ekGz3O8tFFKEEnVHwdQw5aXGFc9TgS0gj6CVMl21lWHPKXAoaY0g0TRjc/rgE +c4US5mRzyE87juEX0dOhx2CcJ6q1/CWXIUV2CKFS/9ugOy9eaA0KdaC1r2Jec1bA +yxbM0eNXyckHhh062i+8sHLkWkRN34MPGp4p3Y8YT/iqPatKrcLOODm8NeJD69M8 +-----END RSA PRIVATE KEY----- diff --git a/tests/pem/rsa-encrypted-aes256.pem b/tests/pem/rsa-encrypted-aes256.pem new file mode 100644 index 00000000..6a7cd289 --- /dev/null +++ b/tests/pem/rsa-encrypted-aes256.pem @@ -0,0 +1,18 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: AES-256-CBC,D3DD9599A74A0A204325A4FC0104274E + +Cl//jk2w+X7KMvEoqvXlyz2n3DHqx1UKSHmK8ab+Gx5CRlbTeOkYseN75wx2Y3/B +WiJTFuKBFSjK9o0ts8Li3xQUnCP1huXq6pY8CIcEo7V7ZKe/7rWPwPtLflaPsSoz +4paXwqeUB61gS3qw6bxof3WFKN59lU+Xk0HsDOp/SK55ceA0j7vtOFm+pq+cqEwl +wy3ZGUJUDCZgYOuTNTfvDqoRK2OuH77fbQu27ck3eKUC5LZiDCQ+Aqm9k12gcCdF +tqqLZdZyQWJK/rpqY2rHZkLTkhou//Cs/15l3GLDO5P670aVEJb6vVNVJd5msu6b +JGWDb31McTwj7m3NsK2OSPVfhGuA+Hx24/ul7o615Bei4AsN3yAcm1bQeRKHyQoA +9LBZgyznt3NhEQ5RoXCR37HjwQheOoDcwgVh8uSJnKaD1dUMlIJYjW32kMbj6fxF +kAMm6JT4FU52jnpsar0+ADqrLst33IkXfiPWzHoUsh9hnTzDwqOR1oEbxAnBABkz +zkZPH818ENHsg6c/S2z9ZXyLxjqd+kh53cL36NiTZkCSJOfwuKWC9gnXsXgmpcV5 +BaOozzYLtW6OMsPWrledD5uV5EGBitLiNKBB4h22/AR5Br9Eo0csEJHkEfjd4hAh +J2iXj26j0QmsLJV2KNgi1q/b99r6vqQVuFEUVhBprrt+vMVRlTAs1gkPMhZHwC5Y +CP3w+d174aIURUeOqmTmlefP3ek74kKz+eUw5/KBq0yD2gWguuW7BzTF+GcP87Gs +nBoeIbAF+diy95F7y1zXLlYr6U+xMaizpDtYChDehUXd7Hd85AqjRNHDD3a09m8t +-----END RSA PRIVATE KEY----- diff --git a/tests/pem/rsa-encrypted-camellia128.pem b/tests/pem/rsa-encrypted-camellia128.pem new file mode 100644 index 00000000..f3ecd047 --- /dev/null +++ b/tests/pem/rsa-encrypted-camellia128.pem @@ -0,0 +1,18 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: CAMELLIA-128-CBC,0303625F03B4D00BCF0CF7C823F1E665 + +UGZaiZfZe69svZrpTL4oIuPgd6erA5Gmz7Yo8JJAcrmIRyLVaNeL4/FNQsstGyxv +nax0h5X4jLDZrFrbF305wbENCEoDffNzII8Ju/w1lVxpOdkQTJtKUtp2iOdFAMfq +BvmAVgjy2M0W++SluLXmop3fo6S4fxsOkLywKPLHFUZ8JwSg3I5LAMeCepbx2bG6 +NfozsjwVSVc3grs/FKHQlBhuXyUDJNJwXXA4hpBqoLPjBdOrYqjV0MA6D1csIRTu +G/gsmobtp9luWQD+dEtufLXvfxOlLnJCdWWS/lhwxY3Zym6juc917wNQoxgyQq2L ++53kX2VFFLM7g6ES0VTMF6oAbglqKLABJOZk0aSzLh/h6RKzh3WaT0yux9w1JmaL +0faIJDG2ZNroraOtAIDmc3Q4sfk2EcBxOFTRjKT/ypPcwOY2PWMRDAXpfHtAJrRx +H6GQsM+X04wahpQ/aHCtUu1EO6n8zEdej8XUu+Tcz8stO7h2zs7IOi+7NbqqvHYk +V09kX6FgSnUmzsV8DGcemEM2XkSbK6p+/b5EXHbvwkH65zjDNtfjloWgWd9B2nqv +unB3i9h1Kd145a8TsiNE7Z9QI5bIBXN7x/70SoO5/OJjjPczNSHkgsBEkIseyjkU +MuEQ6s9GFAOlw885ieUEJuEwyhVcA9ksCp5SuxVNEScMh3vZ2zK7reYsg8GC1Vx6 +2tw1HUzarDDgp5SWxjIFq14NWySZF3PTrlcmcaZkiepSprFGm3QZ29mXMpoCIpJW +344/5dM2kkRgWoZhJP0d52dX/D9lqYG3nD9vlQbOFKR4DyHW1yeTGFlheqOdwiU+ +-----END RSA PRIVATE KEY----- diff --git a/tests/pem/rsa-encrypted-camellia192.pem b/tests/pem/rsa-encrypted-camellia192.pem new file mode 100644 index 00000000..3f10b344 --- /dev/null +++ b/tests/pem/rsa-encrypted-camellia192.pem @@ -0,0 +1,18 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: CAMELLIA-192-CBC,FB1DE964D0983449CAC8D7608D0CFBEC + +bsqay1xsCDMwqFR6vThpD4mDycgkc6pB1W9nMbe81bmYWe04c9jDk44FlhyMEFq/ +fetzGn16A9YFJoX7M+myk2rRv2xhj+UA7+CS/CDHSuh74ZP/Ebj6nKgyzNJUpHqG +4QlUBwWGedkkkRCEV4w5cRMazXsclymENeAbee9s0PKAfso/w7Thvm2ET5Nuu6rq +aOQsk5pVjMtNQN4FFiFa+Qi4u+cmWACvLj2zETg4oL9tzbgwe1BGF6Js+6oqDQx9 +gwk3Gem+902PblqblH/4k7Z8VfuoDj/2vWC5azf4ndEef3sTfDR8X3DGbauUHyYI +gSiI7voaOESlRsWuuSVCH1SrgoNJZFY32wjVGOd7iDYkoybacJNQGRwu9oewd3IG +gAUY5OiEKUHDgc2rsR2ASN1UmAppnUZZbnQ3xNlnoE2N8OEkhykYJTeTC/k4scKx +hcw880ZfgYm1btw+W0UH2NPdNCIttahxUdTWqGBeTznuVDuVCYXX5HgPX1Ufp3D1 +eyJlUhzudJ2xl5z/qBf7ePzc9CgHqpq0nRGfEpS1fgHi2xRBF1JrYJXXAC61712Z +Z6hwjg/22YturTNAOQ719aXZ77Tx8n22A0wrUP3g1nHEICob9zyBum+ncjCRVR0w +ciu1iou7VYfr9B3nS9ECUZY5UmecWG0d+7ELXItZV5bP/wW3tKW54Vh5a22WDeO6 +B1R5MAEXPQ7qBrcNmwr1MEFG2WoucLBEJfHzrkJFIlhwvE8c2AXWZnk0jmPxOlUY +QfxHwWJ4/ufI/FRTwFlYwUohItBAq5j6ve7+StoM3P6qT+bnQcy01xOw3l6o0U6Y +-----END RSA PRIVATE KEY----- diff --git a/tests/pem/rsa-encrypted-camellia256.pem b/tests/pem/rsa-encrypted-camellia256.pem new file mode 100644 index 00000000..c96caca8 --- /dev/null +++ b/tests/pem/rsa-encrypted-camellia256.pem @@ -0,0 +1,18 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: CAMELLIA-256-CBC,7F40CB6CF02BCE145875EA4A15132B93 + +GyycmUiMdO5AyYLtDy8eoSlcMBrk4vF+VfbPXLa8jz/qqglW25A+dMUw+B8DHox4 +x9t/IWs4Pq2MfNflct07wv6dnszTwVTpyhEOubRd//Q/HPjau5TAmQM7n0as4QHw +dfbCd4laS8siug/KHRPYUqdaiifBOlzpxREQnjYYfXG60KlZYyxIFTp72W9BurIn +BoHznYxQ16ZuID9R0eRgKQZok4If0cLt14z6n3fUw0LZeDEU8RFE5+2GfSgdghR6 +NPlZN7MlaZaVRx8ctFRROt9WXtCfvMSPBz7ua3qymuct76VrjzlYaxhr7nqf0RY9 +Tt2HXZLYzPvnKUA1hwJhbDXw9i0ahJ8lNDDQVEEy8UdiSqtWqjpAbOFuy1HXv86V +mCH4viGdxNqOIe7IMst6jwvnUSDDTFms0fRV9tv+JouKgQ5A/H+VrxKiHm8ZpZRK +yXrMusUMXFQ98u/u0vw1f/dn/dYocNBT0Dgxp3K8mmAuSX3XOupTtDfHJXM4I2Ur +tJfstBPD0Ne54k0aBQnOjeUUrtXvu3xgY4h/c80GvXLHsQv1lTQF3o5AEStUrl9B +KKAqb/E7AMr2a55RYl2rqV4QfL0rvhnTR7Os4ytjwerYmjaC4XvGP3omLWHhNqQJ +jmPnUzyYDKeN1w7nZvNjfrKZvDWW1WT/SJqXqh7tjWdOM/2LRAj3b4W6E5EJBTR5 +8W4REs3K1Hgaw5alVOLRr+tXTF67WTRxbMgmnF+JBmTccLG+Htql78HEPj9Gugf4 +qaOOCrJlSm/Dd2bgFo+FUwY8Plytp/Eh6vHPGrPEyNTfTSd5MKjEHDfhmNmODH42 +-----END RSA PRIVATE KEY----- diff --git a/tests/pem/rsa-encrypted-des.pem b/tests/pem/rsa-encrypted-des.pem new file mode 100644 index 00000000..64817d85 --- /dev/null +++ b/tests/pem/rsa-encrypted-des.pem @@ -0,0 +1,18 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: DES-CBC,FF92A06E353260B5 + +hmY/YaeOr8rrGrakUk0/pk5R4aBsrl2EKP+i58ziIKzRI7yVGmTgGIr14ys3oWb3 +9ba6A3hOcQvKfIjI4JxbWQxawOm++Cfcyp+PR7nmIMK1BhKeLynrbuTm7BvPRlHc +APJxWA2OcwbSgnHRqcD4lZxVjX0JrM6w7axrs1/+K0A4NEhWDnWkHd2NHTgtlp9v +Imu8n/atzm5olxb5DFGdyEVR8neASxQ/8gN6jFVG1lcB2DbR+LsS6s3aqrKNMbVU +TKZteJh3Y/WWB1Qxo2Wi7QzjUx6GkFKPLQvLwtJldB218slNfRnlaE3+s/U8WOAL +NRhrLqUij/T0DwJDEywl6DX8uu0Nb1Ge6DD36dp/AZ/M8k5M22Sx8nk1IEEG48cU +TPF5r/WOKy2iSqBx33s9J/H8k65es/YRLv2fASW5mLySApbsKWrX7qgX0yeYa8qC +e2ORyMQNmcgMu+vkyhsRSROCpo03CwZXTugN2h04UdIYhwXgUpcUX4WT+P4L9fAW +pMIan8KRpIv2K4soz20rSCfhspk4tV4oSf165chzBHiw+5bELa3WkfyxowpN6FpD +l6w35mj5y2I4XJoG5OUn5F8P6Z7qw7bB7pevvFch7X1LR/5rjeeXFL2hHPOK0Z3h +kgXez7WcRlv26m8JPM+GfXrbx0qwcF7ApuGa20S3Y6MdMlvEpYzgG7eCNvNdgQqd +MqzVQNLyhVwf41ttAzFbWKJSLffC6Y7kzBRyTnGu3os2joLPWt4i5cc74PEB+Yxt +FY6XZFUeoK4BVVAQ0QRnDxqq9hciGIodiiJZpOiDS3tjxfEgk2wqgg== +-----END RSA PRIVATE KEY----- diff --git a/tests/pem/rsa-encrypted-des3.pem b/tests/pem/rsa-encrypted-des3.pem new file mode 100644 index 00000000..a48b94b6 --- /dev/null +++ b/tests/pem/rsa-encrypted-des3.pem @@ -0,0 +1,18 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: DES-EDE3-CBC,107EB1F9974CA9E2 + +CKBun5ni3tE7KoHUhY85NnFsxoJqIonLtiDEQRPCNOzFlmxYNqI+hfsnjyQiMB+O +deqihKPEcU4lOFG/pXeMOjgsnqrRSLtpPce/1T0kQBuxjkSGwRDj7Kiyj4UInJTO +8z50k0cclcVveTuta+hsq0CTItu6RCl6kaimjixrYsfNd55ahcR7WjU5DL23DHDe +dJvPxXNcU6Kne0dIGm41uYTloleoe+f5Dvf27421sRlgltfA8M8KfaB5AKUOp/gA +DeQ9lcCwSpCfPavIWdpyW67v3NBoICPlmKUgg2EsxB6+nceHP1OcAAK4Sm083UBB +1uLcF08Yz2lMe7rHMieI8khZyjXI1A42M7wL3Yyl9m2/DvSuE5Xu6qyuEDDqNFbz +GHQ9YECQ6ykf/MQd3CeKUeDlCZ313Nmb6uqehbbpm9Yayr/M9rwpgVilJwyQhELO +gta3RozpQIqx3a8UXgUSXx1xckRdcbYitBGFgh3JpU4iaYyE2jFHkCrzUFt9Q3To +pe2MTutj1K7l1wxUVy47nfK1/3JLI4wiP0QbflZMDBGiCyMPmZpJWEVkCtH3f1QY +tFM+2TGkroQWOU1YaK9liqYtXQ8h5cjqSC273aMU21SK/FOEufpOUeWa8XCdOsNa +MQKfI/fDgmAmQFacy4RE5ICWx0s68qnQotvmdyaLDClVFha5jlAKufnee8T1L5BA +TV7HJci7h0wy8hTqZOiGpmDIG0UJXcD7sK+PeBKvte+wfaMVyM0Kq+j7DWCJRgw8 +xw8HpPDCVevr8tI94JszjiJhhRNuaHw0xiN8MRxf62MDEpw/NM0HFA== +-----END RSA PRIVATE KEY----- diff --git a/tests/pem/rsa-encrypted.pem b/tests/pem/rsa-encrypted.pem new file mode 100644 index 00000000..888618c1 --- /dev/null +++ b/tests/pem/rsa-encrypted.pem @@ -0,0 +1,18 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: AES-256-CBC,79A277F758B09D047847C9C5F099B5D0 + +cbGjYcmMEdYJC76SMAi5cbiJ17tcR+swnKBKJ6Wz8TEUiG2WjhkzPcAiobJQMwNT +r47uhzyOD9SkhuXkMwB+EXaB8JSBOhqeLE5zmxQOedba5HHWUBGBHNa7FafgV+/H +RpLjaAsDkXTnmBTBbLpQmMP3zJRG2e8+G7/WFakzd0QcQcy4zWNH3WtBc207Oeup +WN8P2XA7KQkHnCdojfLD4JNJTosa+o9HphSRdRtTrzCCR6WMH3iUovnQCmSARUcm +7JmujGzOx/wuKDiC4HSZWYhOul0OSXrt25G42RJJu4v8bHgsKFeHp2/U2Zpkkd/b +96TtQ7Mo2lsuZzUEmb4kWO+2vVKy+0sPn8G7uOID3FZ8jmQZV4v1ASLGz6Mj2zJe +u0b0+UpSRB8eVwM3BL1oZxe3MSNynFgbPs53Q52zJGX8CFTxDNEPGYYRGFb1B5B8 +Hd6QTilegEbFStWLH2tv1IX/YeLNytd94+wMaqRmDv9huo9lushQ7pT4tMkntzte +vMkboFD/p83T2uHXMVfRthNKBWfLYgpAbwQ5UbfLjTIxZ6Jhr5hakMb2R28IaXj5 +5Ss85suLiY+RWnNCh/313ghuWvFC3Ixx1YVpVKdTIGRK/gLkSzXV8oA00yJm7RoW +WilXcXppWLIODkOn3VFsrQ9lerVWRX4emndP4drW5SnVCnkrlPDmE7joh2Mumjwl +vO0QMq1o8CZoWbxZ20qnqveoEH0Kw8qhsLScxs55LGgqGnf5G0AmVDh4mK6CyY1m +cXoqkJ2IpBmnMGNPKEKeuLGl1kRW7eyP0+xlGG8JtMpA/xRiSn3lRydAlCkxAZRq +-----END RSA PRIVATE KEY----- diff --git a/tests/pem/rsa-encrypted.pk8 b/tests/pem/rsa-encrypted.pk8 new file mode 100644 index 00000000..c773664f --- /dev/null +++ b/tests/pem/rsa-encrypted.pk8 @@ -0,0 +1,18 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIC3TBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQIzkqhs+PNHcUCAggA +MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAEqBBBjfvDZNKdgUMcoi06nycWNBIIC +gCh5mBr0KtjS8A0X8pXZ3A2fFo33RNLmkASq3l4o+OyZx8o/LHqLV0EqYI3ovV/r +A6Z4Y6aPJwAmyRULc8us4E8pZLc5I8rSu9rlGnmSz1JDlFKy8xdo5+0oVE1uRmWe +NBhWjCUp1wu/tOavM59rVSXXV/HOe4K350ANkZgJTqUsuud4YabhlIwu6umi3Fam ++jjZtGu5K2t8HHKLTYANDHYiW5a+YnZ66sFw+Ny9K3oEBCMTc/flxZnraihg5NwP +bmqgH4y2FCpRIsTknmPnOXwTHgdjbNT3si5Ja38ztU5QnmITPk8RDApeihbMyfln +UhWvOTXOGF85msA5uAa5QHrtokFpIpyOzDZh/OTznAz2Pe7w6D0AbJU19ozGyHwR +IKg4qyG1dzLz8YhBtscei8yoWjhIFsRpjd87mEEs6dEomFGndkDse7IZvyjFG5Yy +iVejSKXv9n2aJy8GhWrIO2ucyQ0wRZ93WwCTO3p4//nqXB/BlImZBE3moUxKdT/2 +UYT9uhk5ZUOlWur77Q3wO6IM9KcEcgxSkFwTuh7cpawM4qG5HTzob/3OAr0gYx/2 +0UbhcTtRgavYXNaEVrgNc+fXc3iAt1w80E6oblUPSkg9fyorrbQb6IbEesLLjIi9 +7Tnvv25p8Rdq2i5dmCUtUmiYLYm9E3lO/HKOpMtvRT3srv7+L6GiyuzQ4j4oSLr/ +9ktc+vLJ7eSZ8i3KUJDPwNhU+HRsTVmAIs2dOQiHGBfpEoHgUMxT448LrmV2OYMr +NPYCZKHDIocBYgR4K6WXi48Ta3D7P+Y+qB2oiRyyEC0AZKfUHVKM6xF1SehV7HWV +VUpdx4blblYjMEmdY3BRG+Y= +-----END ENCRYPTED PRIVATE KEY----- diff --git a/tests/pem/rsa.pem b/tests/pem/rsa.pem new file mode 100644 index 00000000..e4996c35 --- /dev/null +++ b/tests/pem/rsa.pem @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDPmt5kitrIMyCp14MxGVSymoWnobd1M7aprIQks97bfYUtlmXl +P3KVJJ8oaMpP20QcPmASit0mpev/C17UiDhJKm5bvxI3R70Fa7zb8+7kEY5BaHxh +E9dCyIC+No/cCItPrKTidgzJY2xJWJPtzKrcJTsKYD+LVDrDTTHnlKRE/QIDAQAB +AoGBAMhiuereRFMdVpfZl54azzAeCohFhikwo02fYWVz4NaHj7bzBqOC3Hys/pso +mq79+/4vDtiXBOO7H9HsDbqjSX9HrIpEBH6GtzlCP60etw6lUfRAYx79veqfQZ+o +kB1vClqVExENgK9fZJiKLHhoZbAri6JTh8rxZASr8nvbg8iBAkEA975eI8MyP7+L +jjru/PzL5ffxC7xCgq7Vej7K99VpP2Qloh+3dXUFkkLruPHzCgXjlNFVeDWgNqCb +fJKEbN3cTQJBANaGDoVCCwQIhCFg8A4NiP0eNhBlTx5TtAhygFw/WWYX5pjy6Wx6 +Bkysdj3tjKHOrRu9tH0ovOMOOI2Z2AW1o3ECQG3rwy0u8F6kiDEFKQCK0ZUpm4PP +ddsx43on3jp0MAx2TNRQKkAtOdmZY6ldgK5TypQ/BSMe+AUE4bg18hezoIkCQQCr +kIj6YAgpUJpDi6BQzNha/pdkY3F0IqMgAlrP68YWlVTRy6uNGsYA+giSnHHVUlI1 +lnFLi5IM0Om/rWMLpemxAkEA3MwnyOTcYkjVm6/1q2D2If1T4rddCckaoQSp/GEs +XQRYOlo58UohVmf9zCCjj3gYWnk9Lo5+hgrmqDPBBBdKnw== +-----END RSA PRIVATE KEY----- diff --git a/tests/pem/rsa.pk8 b/tests/pem/rsa.pk8 new file mode 100644 index 00000000..20747bd9 --- /dev/null +++ b/tests/pem/rsa.pk8 @@ -0,0 +1,16 @@ +-----BEGIN PRIVATE KEY----- +MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAM+a3mSK2sgzIKnX +gzEZVLKahaeht3UztqmshCSz3tt9hS2WZeU/cpUknyhoyk/bRBw+YBKK3Sal6/8L +XtSIOEkqblu/EjdHvQVrvNvz7uQRjkFofGET10LIgL42j9wIi0+spOJ2DMljbElY +k+3MqtwlOwpgP4tUOsNNMeeUpET9AgMBAAECgYEAyGK56t5EUx1Wl9mXnhrPMB4K +iEWGKTCjTZ9hZXPg1oePtvMGo4LcfKz+myiarv37/i8O2JcE47sf0ewNuqNJf0es +ikQEfoa3OUI/rR63DqVR9EBjHv296p9Bn6iQHW8KWpUTEQ2Ar19kmIoseGhlsCuL +olOHyvFkBKvye9uDyIECQQD3vl4jwzI/v4uOOu78/Mvl9/ELvEKCrtV6Psr31Wk/ +ZCWiH7d1dQWSQuu48fMKBeOU0VV4NaA2oJt8koRs3dxNAkEA1oYOhUILBAiEIWDw +Dg2I/R42EGVPHlO0CHKAXD9ZZhfmmPLpbHoGTKx2Pe2Moc6tG720fSi84w44jZnY +BbWjcQJAbevDLS7wXqSIMQUpAIrRlSmbg8912zHjeifeOnQwDHZM1FAqQC052Zlj +qV2ArlPKlD8FIx74BQThuDXyF7OgiQJBAKuQiPpgCClQmkOLoFDM2Fr+l2RjcXQi +oyACWs/rxhaVVNHLq40axgD6CJKccdVSUjWWcUuLkgzQ6b+tYwul6bECQQDczCfI +5NxiSNWbr/WrYPYh/VPit10JyRqhBKn8YSxdBFg6WjnxSiFWZ/3MIKOPeBhaeT0u +jn6GCuaoM8EEF0qf +-----END PRIVATE KEY----- diff --git a/tests/pem/x25519-encrypted.pk8 b/tests/pem/x25519-encrypted.pk8 new file mode 100644 index 00000000..29ea91d0 --- /dev/null +++ b/tests/pem/x25519-encrypted.pk8 @@ -0,0 +1,6 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIGbMFcGCSqGSIb3DQEFDTBKMCkGCSqGSIb3DQEFDDAcBAjemFQzTzUb/QICCAAw +DAYIKoZIhvcNAgkFADAdBglghkgBZQMEAQIEEPhFOISMQdpDb6MkjW9pEkQEQP4C +Du/QGJw0fzI07h36dP6wSFeWj4Po0LD0AIcYpD8gsggm9H7huFuVv4MsXLFJWfZX +D4yrLu8Y1KC2Dc8kkZ4= +-----END ENCRYPTED PRIVATE KEY----- diff --git a/tests/pem_test.c b/tests/pem_test.c new file mode 100644 index 00000000..3c783714 --- /dev/null +++ b/tests/pem_test.c @@ -0,0 +1,55 @@ +/* LibTomCrypt, modular cryptographic library -- Tom St Denis */ +/* SPDX-License-Identifier: Unlicense */ +#include + +#if defined(LTC_PEM) && defined(LTC_TEST_READDIR) && !defined(LTC_EASY) + +static int password_get(void **p, unsigned long *l, void *u) +{ + LTC_UNUSED_PARAM(u); + *p = strdup("secret"); + *l = 6; + return 0; +} + +static int s_pem_decode_filehandle(const void *in, unsigned long inlen, void *key) +{ + password_ctx pw_ctx; + pw_ctx.callback = password_get; + return pem_decode(in, inlen, key, &pw_ctx); +} + +static void s_pem_free_key(ltc_pka_key *key) +{ + switch (key->id) { + case LTC_PKA_RSA: + rsa_free(&key->u.rsa); + break; + case LTC_PKA_EC: + ecc_free(&key->u.ecc); + break; + default: + break; + } +} + +int pem_test(void) +{ + ltc_pka_key key; + + if (ltc_mp.name == NULL) return CRYPT_NOP; + + DO(test_process_dir("tests/pem", &key, s_pem_decode_filehandle, (dir_cleanup_cb)s_pem_free_key, "pem_test")); + DO(test_process_dir("tests/pem-ecc-pkcs8", &key, s_pem_decode_filehandle, (dir_cleanup_cb)s_pem_free_key, "pem_test+ecc")); + + return 0; +} + +#else + +int pem_test(void) +{ + return CRYPT_NOP; +} + +#endif diff --git a/tests/test.c b/tests/test.c index ccd6051b..3db5c8a2 100644 --- a/tests/test.c +++ b/tests/test.c @@ -36,6 +36,7 @@ static const test_function test_functions[] = LTC_TEST_FN(x25519_test), LTC_TEST_FN(file_test), LTC_TEST_FN(multi_test), + LTC_TEST_FN(pem_test), /* keep the prng_test always at the end as * it has to be handled specially when * testing with LTC_PTHREAD enabled diff --git a/tests/tomcrypt_test.h b/tests/tomcrypt_test.h index 263c4e62..8d9b8471 100644 --- a/tests/tomcrypt_test.h +++ b/tests/tomcrypt_test.h @@ -35,6 +35,7 @@ int base32_test(void); int base16_test(void); int file_test(void); int multi_test(void); +int pem_test(void); int prng_test(void); int mpi_test(void); int padding_test(void);