1
0
mirror of https://git.libssh.org/projects/libssh.git synced 2025-11-30 13:01:23 +03:00

pki: Add ecdsa support to do_sign.

This commit is contained in:
Andreas Schneider
2011-12-30 11:11:10 +01:00
parent 33b0cfc199
commit 79383cf8ee

View File

@@ -1291,6 +1291,20 @@ ssh_signature pki_do_sign(const ssh_key privkey,
sig->dsa_sig = NULL; sig->dsa_sig = NULL;
break; break;
case SSH_KEYTYPE_ECDSA: case SSH_KEYTYPE_ECDSA:
#ifdef HAVE_OPENSSL_ECC
sig->ecdsa_sig = ECDSA_do_sign(hash, hlen, privkey->ecdsa);
if (sig->ecdsa_sig == NULL) {
ssh_signature_free(sig);
return NULL;
}
# ifdef DEBUG_CRYPTO
ssh_print_bignum("r", sig->ecdsa_sig->r);
ssh_print_bignum("s", sig->ecdsa_sig->s);
# endif /* DEBUG_CRYPTO */
break;
#endif /* HAVE_OPENSSL_ECC */
case SSH_KEYTYPE_UNKNOWN: case SSH_KEYTYPE_UNKNOWN:
ssh_signature_free(sig); ssh_signature_free(sig);
return NULL; return NULL;