diff options
Diffstat (limited to 'ssh-rsa.c')
-rw-r--r-- | ssh-rsa.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-rsa.c,v 1.39 2006/08/03 03:34:42 deraadt Exp $ */ | 1 | /* $OpenBSD: ssh-rsa.c,v 1.40 2010/02/26 20:29:54 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000, 2003 Markus Friedl <markus@openbsd.org> | 3 | * Copyright (c) 2000, 2003 Markus Friedl <markus@openbsd.org> |
4 | * | 4 | * |
@@ -46,7 +46,9 @@ ssh_rsa_sign(const Key *key, u_char **sigp, u_int *lenp, | |||
46 | int ok, nid; | 46 | int ok, nid; |
47 | Buffer b; | 47 | Buffer b; |
48 | 48 | ||
49 | if (key == NULL || key->type != KEY_RSA || key->rsa == NULL) { | 49 | if (key == NULL || |
50 | (key->type != KEY_RSA && key->type != KEY_RSA_CERT) || | ||
51 | key->rsa == NULL) { | ||
50 | error("ssh_rsa_sign: no RSA key"); | 52 | error("ssh_rsa_sign: no RSA key"); |
51 | return -1; | 53 | return -1; |
52 | } | 54 | } |
@@ -113,7 +115,9 @@ ssh_rsa_verify(const Key *key, const u_char *signature, u_int signaturelen, | |||
113 | u_int len, dlen, modlen; | 115 | u_int len, dlen, modlen; |
114 | int rlen, ret, nid; | 116 | int rlen, ret, nid; |
115 | 117 | ||
116 | if (key == NULL || key->type != KEY_RSA || key->rsa == NULL) { | 118 | if (key == NULL || |
119 | (key->type != KEY_RSA && key->type != KEY_RSA_CERT) || | ||
120 | key->rsa == NULL) { | ||
117 | error("ssh_rsa_verify: no RSA key"); | 121 | error("ssh_rsa_verify: no RSA key"); |
118 | return -1; | 122 | return -1; |
119 | } | 123 | } |