2017-02-21 2 views
0

Nous avons donc récemment mis à jour Java sur nos serveurs Centos à java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/ de java-1.8.0-openjdk-1.8.0.60-2.b27.el7_1.x86_64 et nous avons rencontré des problèmes avec les communications et le cryptage TLS, etc. Nous avons découvert la solution à ces problèmes étant le fichier java.security n'a pas été écrasé avec le nouveau (comme nous ont spécifié BouncyCastleProvider dans le fichier). Une fois que nous avons déplacé le java.security.rmpnew en tant que java.security, nos problèmes de communication ont disparu.BouncyCastle requis dans Java 8 121?

Nous n'avons pas mis à jour le nouveau fichier java.security avec le BouncyCastleProvider, cependant, le cryptage dans notre application, qui utilise le BouncyCastleProvider, n'a PAS rompu. Nous avons même supprimé le bcprov-*.jar du répertoire jre/lib/ext, redémarré tomcat, redémarré l'ensemble du serveur et STILL cela fonctionne. J'ai vérifié les notes de mise à jour et je n'ai rien trouvé qui le mentionne. Je crains que ces changements finissent par se casser et notre chiffrement commencera à échouer. Pourtant, il fonctionne SANS et BouncyCastleProvider sur le serveur.J'ai vérifié les notes de version et ne trouve rien de le mentionner. Je crains que ces changements finissent par se casser et notre chiffrement commencera à échouer. Pourtant, il fonctionne SANS et BouncyCastleProvider sur le serveur.

TLDR; Ma question est BouncyCastle est maintenant inclus dans Java8? Nous avons supprimé le fournisseur de java.security et le fichier bcprov.jar du répertoire/ext et il fonctionne toujours. Nous utilisons jasypt v1.9.2 pour le cryptage.

pom.xml

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

code:

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); 
} 

Répondre

1

n ° BouncyCastle ne figure pas dans OpenJDK 8 ou les versions antérieures. Il est très probable que la bibliothèque soit regroupée dans les applications Web ou soit présente dans l'une des bibliothèques d'extension de Tomcat.

+0

Nous vous remercions de votre aide. Il doit avoir été mis en cache quelque part, car après quelques semaines, nous avons commencé à avoir des échecs pour sa disparition. Je ne sais pas où il était caché pendant que j'ai nettoyé le répertoire de cache, ai tout redémarré, etc. mais il semble que nous en ayons toujours besoin. Ce qui est un soulagement car je me demandais comment nous cryptions sans cela. Merci encore – Niro