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 <[email protected]>
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(