Need to check the TLS protocol spec., but it seems that rejecting shorter hash algo for ECC may be wrong.
The point in question is:
diff --git a/src/pkglue.c b/src/pkglue.c index af8cf92..44de028 100644 --- a/src/pkglue.c +++ b/src/pkglue.c @@ -152,8 +152,10 @@ _ntbtls_pk_verify (x509_cert_t chain, pk_algo_t pk_alg, md_algo_t md_alg, { debug_msg (1, "a %u bit hash is not valid for a %u bit ECC key", (unsigned int)hashlen*8, qbits); +#if 0 err = gpg_error (GPG_ERR_DIGEST_ALGO); goto leave; +#endif } if (hashlen > qbits/8)
I ran the command ntbtls-cli --debug 999 dev.gnupg.org which has ECDSA key with NIST P-384, and it fails without the change above.