You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Thomas Wolf (Jira)" <ji...@apache.org> on 2021/08/21 07:29:00 UTC
[jira] [Closed] (SSHD-1210) Sha2 algorithm is not supported for
signature verification
[ https://issues.apache.org/jira/browse/SSHD-1210?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Wolf closed SSHD-1210.
-----------------------------
Resolution: Duplicate
> Sha2 algorithm is not supported for signature verification
> ----------------------------------------------------------
>
> Key: SSHD-1210
> URL: https://issues.apache.org/jira/browse/SSHD-1210
> Project: MINA SSHD
> Issue Type: Bug
> Affects Versions: 2.6.0, 2.5.1
> Reporter: poppinlong
> Priority: Major
>
> For signature verification, only SHA1 is supported,The following code,the key parameter is the signature algorithm resolved from the server stream,Only the RSA algorithm is supported,In fact, the server-side signature algorithm might be SHA2-256
> {code:java}
> //
> String keyAlg = KeyUtils.getKeyType(serverKey);
> ******
> Signature verif = ValidateUtils.checkNotNull(
> NamedFactory.create(session.getSignatureFactories(), keyAlg),
> "No verifier located for algorithm=%s", keyAlg);{code}
> {code:java}
> ///**
> * @param key a public or private key
> * @return the key type or {@code null} if cannot determine it
> */
> public static String getKeyType(Key key) {
> if (key == null) {
> return null;
> } else if (key instanceof DSAKey) {
> return KeyPairProvider.SSH_DSS;
> } else if (key instanceof RSAKey) {
> return KeyPairProvider.SSH_RSA;
> } else if (key instanceof ECKey) {
> ECKey ecKey = (ECKey) key;
> ECParameterSpec ecSpec = ecKey.getParams();
> ECCurves curve = ECCurves.fromCurveParameters(ecSpec);
> if (curve == null) {
> return null; // debug breakpoint
> } else {
> return curve.getKeyType();
> }
> } else if (SecurityUtils.EDDSA.equalsIgnoreCase(key.getAlgorithm())) {
> return KeyPairProvider.SSH_ED25519;
> } else if (key instanceof OpenSshCertificate) {
> return ((OpenSshCertificate) key).getKeyType();
> }
> return null;
> }{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@mina.apache.org
For additional commands, e-mail: dev-help@mina.apache.org