Improve testing of elliptic curve validation
authorJoseph Birr-Pixton <jpixton@gmail.com>
Thu, 2 Feb 2017 23:29:49 +0000 (00:29 +0100)
committerRichard Levitte <levitte@openssl.org>
Mon, 20 Mar 2017 05:40:16 +0000 (06:40 +0100)
commit6d0b5ee1d6163732b886bc0567dbce08aeade4c1
tree1b719ef1e38db0c4943dd178a123bb2c1ca5b853
parentbf6af21e133ac7bfa17a950e87ea952160514e3e
Improve testing of elliptic curve validation

This involves:

- A directory of valid and invalid PEM-encoded curves.
  This is non-exhaustive and can be added to.
- A minor patch to 'openssl ecparam' to make it exit non-zero
  when curve validation fails.

- A test recipe is added in a separate commit.

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2544)
134 files changed:
test/recipes/15-test_ecparam_data/invalid/c2pnb208w1-reducible.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/invalid/nistp256-nonprime.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/invalid/nistp256-offcurve.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/invalid/nistp256-wrongorder.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2pnb163v1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2pnb163v1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2pnb163v2-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2pnb163v2-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2pnb163v3-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2pnb163v3-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2pnb176v1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2pnb176v1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2pnb208w1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2pnb208w1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2pnb272w1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2pnb272w1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2pnb304w1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2pnb304w1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2pnb368w1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2pnb368w1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2tnb191v1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2tnb191v1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2tnb191v2-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2tnb191v2-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2tnb191v3-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2tnb191v3-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2tnb239v1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2tnb239v1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2tnb239v2-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2tnb239v2-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2tnb239v3-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2tnb239v3-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2tnb359v1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2tnb359v1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2tnb431r1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/c2tnb431r1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/prime192v1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/prime192v1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/prime192v2-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/prime192v2-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/prime192v3-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/prime192v3-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/prime239v1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/prime239v1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/prime239v2-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/prime239v2-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/prime239v3-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/prime239v3-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/prime256v1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/prime256v1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp112r1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp112r1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp112r2-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp112r2-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp128r1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp128r1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp128r2-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp128r2-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp160k1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp160k1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp160r1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp160r1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp160r2-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp160r2-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp192k1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp192k1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp224k1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp224k1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp224r1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp224r1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp256k1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp256k1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp384r1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp384r1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp521r1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/secp521r1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect113r1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect113r1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect113r2-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect113r2-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect131r1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect131r1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect131r2-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect131r2-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect163k1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect163k1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect163r1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect163r1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect163r2-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect163r2-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect193r1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect193r1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect193r2-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect193r2-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect233k1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect233k1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect233r1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect233r1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect239k1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect239k1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect283k1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect283k1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect283r1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect283r1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect409k1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect409k1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect409r1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect409r1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect571k1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect571k1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect571r1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/sect571r1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls1-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls1-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls10-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls10-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls11-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls11-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls12-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls12-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls3-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls3-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls4-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls4-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls5-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls5-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls6-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls6-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls7-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls7-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls8-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls8-named.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls9-explicit.pem [new file with mode: 0644]
test/recipes/15-test_ecparam_data/valid/wap-wsg-idm-ecid-wtls9-named.pem [new file with mode: 0644]