sshj日志
Cannot find any provider supporting CAST5/CTR/NoPadding
Cannot find any provider supporting IDEA/CTR/NoPadding
Cannot find any provider supporting Serpent/CBC/NoPadding
Cannot find any provider supporting Serpent/CTR/NoPadding
Cannot find any provider supporting Twofish/CBC/NoPadding
Cannot find any provider supporting Twofish/CTR/NoPadding
Disabling high-strength ciphers: cipher strengths apparently limited by JCE polic
我有最新的jdk1.8.0_371 -我假设这个版本默认情况下有无限的加密?
- 在Java 8 u151及更高版本中,JCE框架默认使用无限制强度策略文件。*
它在一个虚拟机上工作,在另一个虚拟机上失败。
我试着在这两个上打印支持的算法。同样的产量
Set<String> algs = new TreeSet<>();
for (Provider provider : Security.getProviders()) {
provider.getServices().stream()
.filter(s -> "Cipher".equals(s.getType()))
.map(Provider.Service::getAlgorithm)
.forEach(algs::add);
}
algs.forEach(System.out::println);
这里是输出。我错过了什么?我钥匙有问题吗?
AES
AESWrap
AESWrap_128
AESWrap_192
AESWrap_256
AES_128/CBC/NoPadding
AES_128/CFB/NoPadding
AES_128/ECB/NoPadding
AES_128/GCM/NoPadding
AES_128/OFB/NoPadding
AES_192/CBC/NoPadding
AES_192/CFB/NoPadding
AES_192/ECB/NoPadding
AES_192/GCM/NoPadding
AES_192/OFB/NoPadding
AES_256/CBC/NoPadding
AES_256/CFB/NoPadding
AES_256/ECB/NoPadding
AES_256/GCM/NoPadding
AES_256/OFB/NoPadding
ARCFOUR
Blowfish
DES
DESede
DESedeWrap
PBEWithHmacSHA1AndAES_128
PBEWithHmacSHA1AndAES_256
PBEWithHmacSHA224AndAES_128
PBEWithHmacSHA224AndAES_256
PBEWithHmacSHA256AndAES_128
PBEWithHmacSHA256AndAES_256
PBEWithHmacSHA384AndAES_128
PBEWithHmacSHA384AndAES_256
PBEWithHmacSHA512AndAES_128
PBEWithHmacSHA512AndAES_256
PBEWithMD5AndDES
PBEWithMD5AndTripleDES
PBEWithSHA1AndDESede
PBEWithSHA1AndRC2_128
PBEWithSHA1AndRC2_40
PBEWithSHA1AndRC4_128
PBEWithSHA1AndRC4_40
RC2
RSA
2条答案
按热度按时间guicsvcw1#
新的JDK 8(jdk1.8.0_371)。它有无限的政策,但他们没有启用。如果你不复制无限的政策,以jre遗产的位置,
jdk1.8.0_371/jre/lib/security
然后默认其限制。
因此必须添加Security.setProperty(“crypto.policy”,“unlimited”);
我认为较新的sshj版本默认具有此功能
hkmswyz62#
不,这与您的(身份验证)密钥无关。
这些密码从未包含在“标准”Sun/Oracle/OpenJDK Java提供程序中,但它们在BouncyCastle中,BouncyCastle被声明为sshj的依赖项。sshj中的这个警告设计得很糟糕:即使在过去,受限策略也不是不能使用密码的唯一原因,你是对的,因为8 u151(或者最坏的8 u161)受限策略 * 从来不是问题--注意sshj没有抱怨aes 192和aes 256,它们是受受限策略影响的主要原因。
你几乎肯定不需要,甚至不能使用这些密码,这取决于你连接到什么-现在也可能不是arcfour/RC 4和blowfish,SunJCE * 确实 * 提供。你可以忽略(或不记录)警告,或使用指定的Bouncy,或使用显式配置来限制密码(可能还有其他功能),但这将是更多的工作。