From 848f59c37e6d922603ef19d6ece1ce02dcf8eaa6 Mon Sep 17 00:00:00 2001 From: Anderson Toshiyuki Sasaki Date: Wed, 10 Apr 2019 19:08:45 +0200 Subject: [PATCH] wrapper.h: Add SSH_DIGEST_SHA384 to ssh_digest_e enum Signed-off-by: Anderson Toshiyuki Sasaki Reviewed-by: Jakub Jelen Reviewed-by: Andreas Schneider --- include/libssh/wrapper.h | 3 ++- tests/unittests/torture_pki.c | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/include/libssh/wrapper.h b/include/libssh/wrapper.h index df415bb5..8857ec7c 100644 --- a/include/libssh/wrapper.h +++ b/include/libssh/wrapper.h @@ -33,7 +33,8 @@ enum ssh_digest_e { SSH_DIGEST_AUTO=0, SSH_DIGEST_SHA1=1, SSH_DIGEST_SHA256, - SSH_DIGEST_SHA512 + SSH_DIGEST_SHA384, + SSH_DIGEST_SHA512, }; enum ssh_kdf_digest { diff --git a/tests/unittests/torture_pki.c b/tests/unittests/torture_pki.c index 5df79e21..9e1757f7 100644 --- a/tests/unittests/torture_pki.c +++ b/tests/unittests/torture_pki.c @@ -147,6 +147,7 @@ const char *hash_signatures[] = { "", /* Not used here */ "ssh-rsa", "rsa-sha2-256", + "", /* Not used; there is no rsa-sha2-384 */ "rsa-sha2-512", }; @@ -155,6 +156,7 @@ int hash_lengths[] = { 0, /* Not used here */ 20, 32, + 48, /* Not used; there is no rsa-sha2-384 */ 64, }; @@ -195,6 +197,11 @@ static void torture_pki_verify_mismatch(void **state) hash_length = ((hash == SSH_DIGEST_AUTO) ? skey_attrs.sig_length : hash_lengths[hash]); + /* SHA384 is used only internaly for ECDSA. Skip it. */ + if (hash == SSH_DIGEST_SHA384) { + continue; + } + SSH_LOG(SSH_LOG_TRACE, "Creating signature %d with hash %d", sig_type, hash);