diff options
author | djm@openbsd.org <djm@openbsd.org> | 2023-03-08 01:05:58 +0100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2023-03-08 01:06:57 +0100 |
commit | 147ae57d4dfa0508109f93b78a7d8b92819e1f83 (patch) | |
tree | 16383b115c624df0bd76496b36062513341ccba1 /ssh-add.c | |
parent | upstream: use RSA/SHA256 when testing usability of private key; (diff) | |
download | openssh-147ae57d4dfa0508109f93b78a7d8b92819e1f83.tar.xz openssh-147ae57d4dfa0508109f93b78a7d8b92819e1f83.zip |
upstream: use RSA/SHA256 when testing usability of private key in
agent; with/ok dtucker
OpenBSD-Commit-ID: fe1382e2fdf23fcae631308e72342bad56066a56
Diffstat (limited to 'ssh-add.c')
-rw-r--r-- | ssh-add.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-add.c,v 1.166 2022/06/18 02:17:16 dtucker Exp $ */ +/* $OpenBSD: ssh-add.c,v 1.167 2023/03/08 00:05:58 djm Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -477,6 +477,7 @@ test_key(int agent_fd, const char *filename) { struct sshkey *key = NULL; u_char *sig = NULL; + const char *alg = NULL; size_t slen = 0; int r, ret = -1; char data[1024]; @@ -485,14 +486,16 @@ test_key(int agent_fd, const char *filename) error_r(r, "Couldn't read public key %s", filename); return -1; } + if (sshkey_type_plain(key->type) == KEY_RSA) + alg = "rsa-sha2-256"; arc4random_buf(data, sizeof(data)); if ((r = ssh_agent_sign(agent_fd, key, &sig, &slen, data, sizeof(data), - NULL, 0)) != 0) { + alg, 0)) != 0) { error_r(r, "Agent signature failed for %s", filename); goto done; } if ((r = sshkey_verify(key, sig, slen, data, sizeof(data), - NULL, 0, NULL)) != 0) { + alg, 0, NULL)) != 0) { error_r(r, "Signature verification failed for %s", filename); goto done; } |