diff options
-rw-r--r-- | src/pki_crypto.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/pki_crypto.c b/src/pki_crypto.c index 3480a9e..4030d47 100644 --- a/src/pki_crypto.c +++ b/src/pki_crypto.c @@ -1233,6 +1233,20 @@ int pki_signature_verify(ssh_session session, } break; case SSH_KEYTYPE_ECDSA: +#ifdef HAVE_OPENSSL_ECC + rc = ECDSA_do_verify(hash, + hlen, + sig->ecdsa_sig, + key->ecdsa); + if (rc <= 0) { + ssh_set_error(session, + SSH_FATAL, + "ECDSA error: %s", + ERR_error_string(ERR_get_error(), NULL)); + return SSH_ERROR; + } + break; +#endif case SSH_KEYTYPE_UNKNOWN: ssh_set_error(session, SSH_FATAL, "Unknown public key type"); return SSH_ERROR; |