diff options
author | Jakub Jelen <jjelen@redhat.com> | 2018-11-22 10:43:18 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2018-11-30 16:21:18 +0100 |
commit | d2434c69c008aa1cd3bd488ca6bc524da0e4ca3a (patch) | |
tree | 9c7e75f20d783734a4644dcd81cf1766ea62adb6 /src/pki.c | |
parent | 7f83a1efae6a7da19e18268d6298fc11b4e68c57 (diff) | |
download | libssh-d2434c69c008aa1cd3bd488ca6bc524da0e4ca3a.tar.gz libssh-d2434c69c008aa1cd3bd488ca6bc524da0e4ca3a.tar.xz libssh-d2434c69c008aa1cd3bd488ca6bc524da0e4ca3a.zip |
pki: Separate signature extraction and verification
Initial solution proposed by Tilo Eckert <tilo.eckert@flam.de>
Signed-off-by: Jakub Jelen <jjelen@redhat.com>
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src/pki.c')
-rw-r--r-- | src/pki.c | 18 |
1 files changed, 5 insertions, 13 deletions
@@ -1919,20 +1919,14 @@ int ssh_pki_import_signature_blob(const ssh_string sig_blob, return SSH_OK; } -int ssh_pki_signature_verify_blob(ssh_session session, - ssh_string sig_blob, - const ssh_key key, - unsigned char *digest, - size_t dlen) +int ssh_pki_signature_verify(ssh_session session, + ssh_signature sig, + const ssh_key key, + unsigned char *digest, + size_t dlen) { - ssh_signature sig; int rc; - rc = ssh_pki_import_signature_blob(sig_blob, key, &sig); - if (rc < 0) { - return SSH_ERROR; - } - SSH_LOG(SSH_LOG_FUNCTIONS, "Going to verify a %s type signature", sig->type_c); @@ -2000,8 +1994,6 @@ int ssh_pki_signature_verify_blob(ssh_session session, hlen); } - ssh_signature_free(sig); - return rc; } |