web-dev-qa-db-fra.com

Existe-t-il un moyen de charger un autre compte que celui spécifié dans le dossier rép_base_Java/jre/lib/security?

J'ai une seule installation de Java dans un système qui exécute 2 ou 3 applications. 

Toutes les applications utilisent le même runtime.

Existe-t-il un moyen de spécifier pour les certificats de certification un fichier de clés différent de celui de Java_home/jre/lib/security. Autrement dit, existe-t-il une option permettant de spécifier un fichier de clés "supplémentaire" chargé et ajouté aux certs chargés à partir de Java_home/jre/lib/security/cacerts?

Ce que je veux éviter, c'est d'avoir à réimporter nos contacts locaux chaque fois que je mets à jour le jdk dans la boîte.

26
feniix

Je pense que vous voulez spécifier le magasin de clés de confiance:

Java -Djavax.net.ssl.trustStore=/home/gene/mycacerts ...

Ou, si vous utilisez des certs via JSSE (vous l’êtes probablement), vous pouvez copier votre fichier de clés certifiées dans jssecacerts dans le répertoire $Java_HOME/jre/lib/security/ (bien que vous ayez toujours à le faire chaque fois qu’un JDK est installé/réinstallé). La JSSE de Sun recherche $Java_HOME/jre/lib/security/jssecacerts avant $Java_HOME/jre/lib/security/cacerts.

Voir http://Java.Sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#X509TrustManager

53
CoverosGene

Ces deux options jvm sont utilisées pour localiser le fichier de clés certifiées et leur mot de passe.

Java -Djavax.net.ssl.trustStore=custompath/cacerts -Djavax.net.ssl.trustStorePassword=changeit

Afin de vous assurer que trustStore est chargé par l'application, ajoutez également l'argument suivant,

-Djavax.net.debug=ssl:handshake
6
Muhammad Aslam

Si votre machine virtuelle Java contient plusieurs applications, elles utiliseront par défaut le magasin cacerts par défaut qui se trouve dans $ Java_HOME/jre/lib/security/location . Mais si vous souhaitez que les applications utilisent un cert store différent, vous Vous devez définir le magasin de certificats personnalisé et pointer vers celui-ci . De cette manière, vous pouvez créer votre propre magasin de certificats. System.setProperty ("javax.net.ssl.trustStore", "C:/certStore/cusomtcacerts"); - Utilisez cette ligne avant de créer la session http/https . Vous pouvez importer les certificats dans le cusomtcacerts en utilisant keytool également.

0
JitenS