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:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user