public static final List<String> DEFAULT_SECURITY_PROVIDER_REGISTRARS = Collections.unmodifiableList(
Arrays.asList(
"org.apache.sshd.common.util.security.bouncycastle.BouncyCastleSecurityProviderRegistrar",
"org.apache.sshd.common.util.security.eddsa.EdDSASecurityProviderRegistrar"));
1条答案
按热度按时间ljo96ir51#
如何修复
要解决此问题,请添加依赖项net.i2p。crypto:eddsa. bouncy castle不提供eddsa的实现。例如,在maven中添加以下依赖项:
不固定的影响
如果不解决此问题,则无法验证主机密钥。我的测试没有受到影响,因为我还没有验证主机密钥。但是,一旦部署到生产环境中,我就会受到影响,因为必须验证主机密钥。
细节
在apacheminasshd源代码中,securityutils类揭示了这个问题。该类对eddsa的提供者进行硬编码
EdDSASecurityProviderRegistrar
:通过查看eddsasecurityproviderregistrator,您可以看到它期望类
net.i2p.crypto.eddsa.EdDSAKey
存在:一个快速的谷歌搜索,你就会看到
net.i2p.crypto.eddsa.EdDSAKey
由库net.i2p提供。crypto:eddsa.