以下异常,提示加密算法不知足密钥尺寸。 java
从外网找到缘由以下,可能会是下面的。jdk两端版本不一致可能会报此类错误。但实际上我是用本地同样的jdk都是1.8-u191版本,仔细看一下,报错的线程栈打印的是DSA的加密算法,随后改了下服务端使用RSA并指定密钥长度为2048,以后就能够了。算法
The error message means, that the key likely has 1024 bits strength, because it had been generated with any JDK version before JDK 8u151 - while at least 2048 bits key-strength are being expected: The security strength of SHA-1 digest algorithm is not sufficient for this key size. The reason behind this is, that the default key-size had changed from 1024 to 2048 bits with JDK 8u151. This change can also be found in the JRE/JDK crypto roadmap at datecode 2017-10-17: Upgraded the jarsigner and keytool ‑sigalg default to SHA256withDSA and the ‑keysize default to 2048 for DSA keys. The "Reverting Instructions" would be (which do not really apply for signage with Android Studio): To use a different algorithm and/or smaller key size use the ‑sigalg and ‑keysize options of keytool and jarsigner to override the current defaults. Before this change the default values were SHA1withDSA and 1024 bits.
[org.apache.sshd.server.session.ServerSession] : Exception caught java.security.InvalidKeyException: The security strength of SHA-1 digest algorithm is not sufficient for this key size at sun.security.provider.DSA.checkKey(DSA.java:111) at sun.security.provider.DSA.engineInitSign(DSA.java:143) at java.security.Signature$Delegate.engineInitSign(Signature.java:1177) at java.security.Signature.initSign(Signature.java:530) at org.apache.sshd.common.signature.AbstractSignature.init(AbstractSignature.java:47) at org.apache.sshd.server.kex.AbstractDHGServer.next(AbstractDHGServer.java:93) at org.apache.sshd.server.session.ServerSession.handleMessage(ServerSession.java:177) at org.apache.sshd.common.session.AbstractSession.decode(AbstractSession.java:587) at org.apache.sshd.common.session.AbstractSession.messageReceived(AbstractSession.java:253) at org.apache.sshd.common.AbstractSessionIoHandler.messageReceived(AbstractSessionIoHandler.java:54) at org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:231) at org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:217) at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126) at sun.nio.ch.Invoker$2.run(Invoker.java:218) at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)