diff options
author | Damien Miller <djm@mindrot.org> | 2013-12-29 17:47:50 +1100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2013-12-29 17:47:50 +1100 |
commit | 3e19295c3a253c8dc8660cf45baad7f45fccb969 (patch) | |
tree | e4c9f61c8391f3bce679cfa60f24c7c1c014cc02 /ssh-ecdsa.c | |
parent | 137977180be6254639e2c90245763e6965f8d815 (diff) |
- djm@cvs.openbsd.org 2013/12/27 22:30:17
[ssh-dss.c ssh-ecdsa.c ssh-rsa.c]
make the original RSA and DSA signing/verification code look more like
the ECDSA/Ed25519 ones: use key_type_plain() when checking the key type
rather than tediously listing all variants, use __func__ for debug/
error messages
Diffstat (limited to 'ssh-ecdsa.c')
-rw-r--r-- | ssh-ecdsa.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/ssh-ecdsa.c b/ssh-ecdsa.c index 766338941..52f9e74c0 100644 --- a/ssh-ecdsa.c +++ b/ssh-ecdsa.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-ecdsa.c,v 1.6 2013/05/17 00:13:14 djm Exp $ */ | 1 | /* $OpenBSD: ssh-ecdsa.c,v 1.7 2013/12/27 22:30:17 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. |
4 | * Copyright (c) 2010 Damien Miller. All rights reserved. | 4 | * Copyright (c) 2010 Damien Miller. All rights reserved. |
@@ -54,11 +54,12 @@ ssh_ecdsa_sign(const Key *key, u_char **sigp, u_int *lenp, | |||
54 | u_int len, dlen; | 54 | u_int len, dlen; |
55 | Buffer b, bb; | 55 | Buffer b, bb; |
56 | 56 | ||
57 | if (key == NULL || key->ecdsa == NULL || | 57 | if (key == NULL || key_type_plain(key->type) != KEY_ECDSA || |
58 | (key->type != KEY_ECDSA && key->type != KEY_ECDSA_CERT)) { | 58 | key->ecdsa == NULL) { |
59 | error("%s: no ECDSA key", __func__); | 59 | error("%s: no ECDSA key", __func__); |
60 | return -1; | 60 | return -1; |
61 | } | 61 | } |
62 | |||
62 | evp_md = key_ec_nid_to_evpmd(key->ecdsa_nid); | 63 | evp_md = key_ec_nid_to_evpmd(key->ecdsa_nid); |
63 | EVP_DigestInit(&md, evp_md); | 64 | EVP_DigestInit(&md, evp_md); |
64 | EVP_DigestUpdate(&md, data, datalen); | 65 | EVP_DigestUpdate(&md, data, datalen); |
@@ -105,11 +106,12 @@ ssh_ecdsa_verify(const Key *key, const u_char *signature, u_int signaturelen, | |||
105 | Buffer b, bb; | 106 | Buffer b, bb; |
106 | char *ktype; | 107 | char *ktype; |
107 | 108 | ||
108 | if (key == NULL || key->ecdsa == NULL || | 109 | if (key == NULL || key_type_plain(key->type) != KEY_ECDSA || |
109 | (key->type != KEY_ECDSA && key->type != KEY_ECDSA_CERT)) { | 110 | key->ecdsa == NULL) { |
110 | error("%s: no ECDSA key", __func__); | 111 | error("%s: no ECDSA key", __func__); |
111 | return -1; | 112 | return -1; |
112 | } | 113 | } |
114 | |||
113 | evp_md = key_ec_nid_to_evpmd(key->ecdsa_nid); | 115 | evp_md = key_ec_nid_to_evpmd(key->ecdsa_nid); |
114 | 116 | ||
115 | /* fetch signature */ | 117 | /* fetch signature */ |