summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/pki_crypto.c14
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;