在Apache MINA SSHD中,当使用SHA-1摘要算法的密钥大小不足以支持时,会抛出java.security.InvalidKeyException异常。为了解决这个问题,你可以考虑以下方法:
SshServer server = SshServer.setUpDefaultServer();
server.setKeyExchangeFactories(Arrays.asList(
new DHGEXSha256(),
new DHGEXSha256Old(),
new DHGEXSha1(),
new DHG1()
));
在这个示例中,我们将默认的密钥交换算法替换为支持SHA-256和SHA-1的算法。
SshServer server = SshServer.setUpDefaultServer();
server.setKeyExchangeFactories(Arrays.asList(
new DHG1()
));
在这个示例中,我们将密钥交换算法设置为仅支持SHA-1算法。
请注意,降低密钥大小可能会降低安全性,因此建议尽可能升级到更强的摘要算法。
希望以上信息对你有所帮助!