diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-05-30 12:53:40 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-07-17 17:08:01 +0200 |
commit | f9d196b026780a27ed295f3cbeb90b980ee518c5 (patch) | |
tree | e3107f0da2ccd25fff1ad15d8b20871be5edc00d | |
parent | 82cb4b7c8d939717a3695faf224564dc2919f5d3 (diff) | |
download | gnutls-f9d196b026780a27ed295f3cbeb90b980ee518c5.tar.gz |
tests: parse and interpret an EdDSA public key
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
-rw-r--r-- | tests/cert-tests/Makefile.am | 2 | ||||
-rwxr-xr-x | tests/cert-tests/certtool-eddsa | 17 | ||||
-rw-r--r-- | tests/cert-tests/data/pubkey-eddsa.pem | 18 |
3 files changed, 35 insertions, 2 deletions
diff --git a/tests/cert-tests/Makefile.am b/tests/cert-tests/Makefile.am index c5b270f06b..8c1b508827 100644 --- a/tests/cert-tests/Makefile.am +++ b/tests/cert-tests/Makefile.am @@ -74,7 +74,7 @@ EXTRA_DIST = data/ca-no-pathlen.pem data/no-ca-or-pathlen.pem data/aki-cert.pem data/mem-leak.p12 data/alt-chain-new-ca.pem data/alt-chain-old-ca.pem \ data/alt-chain.pem data/pkcs7-chain.pem data/pkcs7-chain-root.pem \ data/pkcs7-chain-endcert-key.pem data/cert-rsa-pss.pem data/openssl-invalid-time-format.pem \ - data/cert-eddsa.pem + data/cert-eddsa.pem data/pubkey-eddsa.pem dist_check_SCRIPTS = pathlen aki certtool invalid-sig email \ pkcs7 pkcs7-broken-sigs privkey-import name-constraints certtool-long-cn crl provable-privkey \ diff --git a/tests/cert-tests/certtool-eddsa b/tests/cert-tests/certtool-eddsa index 83326427f3..cd3c43ee5a 100755 --- a/tests/cert-tests/certtool-eddsa +++ b/tests/cert-tests/certtool-eddsa @@ -38,7 +38,7 @@ if test "${GNUTLS_FORCE_FIPS_MODE}" = 1;then exit 77 fi -# Test certificate in internet draft +# Test certificate in draft-ietf-curdle-pkix-04 ${VALGRIND} "${CERTTOOL}" -i --infile "${srcdir}/data/cert-eddsa.pem" --outfile "${TMPFILE}" rc=$? @@ -53,6 +53,20 @@ if test $? != 0;then exit 1 fi +# Test public key in draft-ietf-curdle-pkix-04 +${VALGRIND} "${CERTTOOL}" --pubkey-info --infile "${srcdir}/data/pubkey-eddsa.pem" --outfile "${TMPFILE}" +rc=$? +if test "${rc}" != "0"; then + echo "Could not read an EdDSA public key" + exit 1 +fi + +$DIFF ${TMPFILE} "${srcdir}/data/pubkey-eddsa.pem" +if test $? != 0;then + echo "Error in parsing EdDSA public key" + exit 1 +fi + # Create an RSA-PSS private key, restricted to the use with RSA-PSS ${VALGRIND} "${CERTTOOL}" --generate-privkey --pkcs8 --password '' \ @@ -71,6 +85,7 @@ if test "${rc}" != "0"; then exit 1 fi + # Create an EdDSA certificate from an EdDSA private key ${VALGRIND} "${CERTTOOL}" --generate-self-signed \ --pkcs8 --load-privkey "$KEYFILE" --password '' \ diff --git a/tests/cert-tests/data/pubkey-eddsa.pem b/tests/cert-tests/data/pubkey-eddsa.pem new file mode 100644 index 0000000000..dbcca224dc --- /dev/null +++ b/tests/cert-tests/data/pubkey-eddsa.pem @@ -0,0 +1,18 @@ +Public Key Information: + Public Key Algorithm: EdDSA (Ed25519) + Algorithm Security Level: High (256 bits) + Curve: Ed25519 + X: + 19:bf:44:09:69:84:cd:fe:85:41:ba:c1:67:dc:3b:96 + c8:50:86:aa:30:b6:b6:cb:0c:5c:38:ad:70:31:66:e1 + +Public Key ID: + sha1:3a04967761a552db7e9e18c6dba4bd4aae119908 + sha256:a1e9156054e04fac899ae9f275132cdc07a5dbc4ea2c2ad3a1ffc6e0d253681f +Public Key PIN: + pin-sha256:oekVYFTgT6yJmunydRMs3Ael28TqLCrTof/G4NJTaB8= + + +-----BEGIN PUBLIC KEY----- +MCowBQYDK2VwAyEAGb9ECWmEzf6FQbrBZ9w7lshQhqowtrbLDFw4rXAxZuE= +-----END PUBLIC KEY----- |