gpt4 book ai didi

java - Java 8 121 中需要 BouncyCasSTLe 吗?

转载 作者:行者123 更新时间:2023-12-01 08:51:28 25 4
gpt4 key购买 nike

因此,我们最近将 Centos 服务器上的 Java 从 java-1.8.0- 更新为 java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/ openjdk-1.8.0.60-2.b27.el7_1.x86_64,我们遇到了通信和 TLS 加密等问题。我们发现这些问题的解决方案是 java.security 文件没有被新的覆盖(因为我们在文件中指定了 BouncyCaSTLeProvider)。一旦我们将 java.security.rmpnew 移至 java.security 位置,我们的通信问题就消失了。

但是,我们没有使用 BouncyCaSTLeProvider 更新新的 java.security 文件,但我们的应用程序中使用 BouncyCaSTLeProvider 进行了加密>,没有打破。我们甚至从jre/lib/ext目录中删除了bcprov-*.jar,重新启动了tomcat,重新启动了整个服务器,并且它仍然有效。我检查了发行说明,没有发现任何提及它的内容。我担心这些更改最终会被破坏,我们的加密将开始失败。然而,它可以在服务器上没有 BouncyCaSTLeProvider 的情况下工作。我检查了发行说明,但没有发现任何提及它的内容。我担心这些更改最终会被破坏,我们的加密将开始失败。然而,它无需服务器上的 BouncyCaSTLeProvider 即可工作。

TLDR;我的问题是 BouncyCaSTLe 现在包含在 Java8 中吗?我们已从 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>

代码:

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 不包含在 OpenJDK 8 或之前的版本中。

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

关于java - Java 8 121 中需要 BouncyCasSTLe 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42375315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com