This is an automated email from the ASF dual-hosted git repository. lgoldstein pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mina-sshd.git
The following commit(s) were added to refs/heads/master by this push: new b9ddc14 [SSHD-1024] Allow other signatures to use rsa variants b9ddc14 is described below commit b9ddc148636a0c18a2dd16e4afd16c18d31594dd Author: FliegenKLATSCH <ch...@koras.de> AuthorDate: Thu Jul 2 19:38:37 2020 +0300 [SSHD-1024] Allow other signatures to use rsa variants --- .../java/org/apache/sshd/client/kex/DHGClient.java | 26 ++++++++++------------ 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGClient.java b/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGClient.java index aefedb4..b557a72 100644 --- a/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGClient.java +++ b/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGClient.java @@ -192,21 +192,19 @@ public class DHGClient extends AbstractDHClientKeyExchange { String keyAlg = KeyUtils.getKeyType(signatureKey); String keyId = openSshKey.getId(); - if (KeyPairProvider.SSH_RSA_CERT.equals(openSshKey.getKeyType())) { - // allow sha2 signatures for legacy reasons - String variant = openSshKey.getSignatureAlg(); - if ((!GenericUtils.isEmpty(variant)) - && KeyPairProvider.SSH_RSA.equals(KeyUtils.getCanonicalKeyType(variant))) { - if (log.isDebugEnabled()) { - log.debug("verifyCertificate({})[id={}] Allowing to use variant {} instead of {}", - session, keyId, variant, keyAlg); - } - keyAlg = variant; - } else { - throw new SshException( - SshConstants.SSH2_DISCONNECT_KEY_EXCHANGE_FAILED, - "Found invalid signature alg " + variant + " for key ID=" + keyId); + // allow sha2 signatures for legacy reasons + String variant = openSshKey.getSignatureAlg(); + if ((!GenericUtils.isEmpty(variant)) + && KeyPairProvider.SSH_RSA.equals(KeyUtils.getCanonicalKeyType(variant))) { + if (log.isDebugEnabled()) { + log.debug("verifyCertificate({})[id={}] Allowing to use variant {} instead of {}", + session, keyId, variant, keyAlg); } + keyAlg = variant; + } else { + throw new SshException( + SshConstants.SSH2_DISCONNECT_KEY_EXCHANGE_FAILED, + "Found invalid signature alg " + variant + " for key ID=" + keyId); } Signature verif = ValidateUtils.checkNotNull(