summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--authfd.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/authfd.c b/authfd.c
index ecdd869ab..62cbf8c19 100644
--- a/authfd.c
+++ b/authfd.c
@@ -327,10 +327,12 @@ ssh_free_identitylist(struct ssh_identitylist *idl)
327static u_int 327static u_int
328agent_encode_alg(const struct sshkey *key, const char *alg) 328agent_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;