diff options
Diffstat (limited to 'authfd.c')
-rw-r--r-- | authfd.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -327,10 +327,12 @@ ssh_free_identitylist(struct ssh_identitylist *idl) | |||
327 | static u_int | 327 | static u_int |
328 | agent_encode_alg(const struct sshkey *key, const char *alg) | 328 | agent_encode_alg(const struct sshkey *key, const char *alg) |
329 | { | 329 | { |
330 | if (alg != NULL && key->type == KEY_RSA) { | 330 | if (alg != NULL && sshkey_type_plain(key->type) == KEY_RSA) { |
331 | if (strcmp(alg, "rsa-sha2-256") == 0) | 331 | if (strcmp(alg, "rsa-sha2-256") == 0 || |
332 | strcmp(alg, "rsa-sha2-256-cert-v01@openssh.com") == 0) | ||
332 | return SSH_AGENT_RSA_SHA2_256; | 333 | return SSH_AGENT_RSA_SHA2_256; |
333 | else if (strcmp(alg, "rsa-sha2-512") == 0) | 334 | if (strcmp(alg, "rsa-sha2-512") == 0 || |
335 | strcmp(alg, "rsa-sha2-512-cert-v01@openssh.com") == 0) | ||
334 | return SSH_AGENT_RSA_SHA2_512; | 336 | return SSH_AGENT_RSA_SHA2_512; |
335 | } | 337 | } |
336 | return 0; | 338 | return 0; |