Java 8 121中需要BouncyCastle?

Java 8 121中需要BouncyCastle?

问题描述:

所以我们最近从java-1.8.0-openjdk-1.8.0.60-2.b27.el7_1.x86_64更新的Java我们的Centos的服务器上,以java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/,我们遇到了通信和TLS加密等方面的问题,我们发现了解决这些问题作为java.security文件没有被用新的覆盖(如我们在文件中指定了BouncyCastleProvider)。一旦我们将java.security.rmpnew移至java.security,我们的沟通问题就消失了。Java 8 121中需要BouncyCastle?

但是,我们没有用BouncyCastleProvider更新新的java.security文件,但是我们的应用程序中使用BouncyCastleProvider的加密没有中断。我们甚至从jre/lib/ext目录中删除了bcprov-*.jar,重新启动了tomcat,重新启动了整个服务器,然后仍然有效。我检查了发行说明,没有发现任何提及它的内容。我担心这些更改最终会中断,我们的加密将开始失败。但它在服务器上运行WITHOUT和BouncyCastleProvider。我检查了发行说明,没有发现任何提及它的内容。我担心这些更改最终会中断,我们的加密将开始失败。但它在服务器上运行WITHOUT和BouncyCastleProvider

TLDR;我的问题是现在包含在Java8中的BouncyCastle?我们已经从java.security中移除了提供者,并从/ ext目录中移除了bcprov.jar,它仍然在工作。我们使用jasypt v1.9.2进行加密。

pom.xml

<dependency> 
    <groupId>org.bouncycastle</groupId> 
    <artifactId>bcprov-jdk15on</artifactId> 
    <version>1.52</version> 
    <scope>provided</scope> 
</dependency> 

代码:不包括在OpenJDK的8,或以前的版本

StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor(); 
String algorithm = "PBEWITHSHA256AND256BITAES-CBC-BC"; 
String providerName = "BC"; 

encryptor.setAlgorithm(algorithm); 
encryptor.setProviderName(providerName); 

String encData = EMPTY_STRING; 

try{ 
    encryptor.setPassword("myPassword"); 
    encData = encryptor.encrypt(dataToEncrypt); 
} 

号BouncyCastle的。

很可能,该库捆绑在Web应用程序中或存在于Tomcat的扩展库之一中。

+0

谢谢你的帮助。它必须被缓存在某个地方,因为几个星期后,我们开始失败。我不知道它在哪里缓存,因为我清理了缓存目录,重启了所有内容等等,但似乎我们仍然需要它。当我想知道我们如何在没有它的情况下进行加密时,这是一种解脱。再次感谢 – Niro