Pourquoi java utilise l'emplacement par défaut du fichier de clés/truststore de JAVA_HOME/lib/security/cacerts si j'ai fourni -Djavax.net.le protocole ssl.trustStore propriétés
Dans mon application java je suis en cours d'exécution avec fourni -Djavax.net.le protocole ssl.trustStore propriétés Système comme ci-dessous.
-Djavax.net.ssl.trustStore=/myapp/app.jks -Djavax.net.ssl.trustStorePassword=XXXXX -Djavax.net.ssl.trustStoreType=jks -Djavax.net.debug=ssl
C'est ma ligne de commande Complète :
$JAVA_HOME/bin/java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Xms512m -Xmx1024m -XX:MaxPermSize=192m -Djavax.net.ssl.trustStore=/myapp/app.jks -Djavax.net.ssl.keyStore=/myapp/app.jks -Djavax.net.ssl.trustStorePassword=XXXXX -Djavax.net.ssl.keyStorePassword=XXXXX -Dweblogic.security.SSL.ignoreHostnameVerification=true -Djavax.net.debug=ssl -Djavax.net.ssl.trustStoreType=jks -cp /Oracle/Middleware/Oracle_Home/wlserver/server/lib/wlfullclient.jar:/myapp/standalone/lib/asm-5.0.3.jar:/myapp/standalone/lib/castor-1.3.2-core.jar:/myapp/standalone/lib/myAPP_final.jar
Mais java n'est pas à l'aide de ce certificat de coutume de magasin de clés à partir du chemin d'accès personnalisé. Il est par défaut va $JAVA_HOME/lib/security/cacerts
avec qui je suis en dessous exception :
java.net.ConnectException: t3s://myapphost.com:7500: Destination 10.243.155.222, 7900 unreachable; nested exception is:
javax.net.ssl.SSLHandshakeException: General SSLEngine problem; No available router to destination
Quand je suis à l'importation et en ajoutant même certificat dans le $JAVA_HOME/lib/security/cacerts
il ne donnant aucune Exception.
J'ai consulter et ce post et essayer de configuré mêmes choses dans $JAVA_HOME/jre/lib/security/java.security
et ajouté à la suite de l'entrée:
javax.net.ssl.trustStore=/myapp/app.jks
javax.net.ssl.trustStorePassword=XXXXX
javax.net.ssl.trustStoreType=jks
Encore, je suis confronté à un même problème.
Ma Question et le problème, ici, c'est pourquoi java va toujours de java stockage par défaut de l'emplacement: $JAVA_HOME/lib/security/cacerts
si j'ai fourni et de la configuration de mon propre fichier de clés à l'aide de : -Djavax.net.ssl.trustStore=/myapp/app.jks -Djavax.net.ssl.trustStorePassword=XXXXX -Djavax.net.ssl.trustStoreType=jks -Djavax.net.debug=ssl
Et si je suis à l'importation de certificat en java par défaut du fichier de clés loation il fonctionne très bien pour moi.
où et sur tout ce que j'ai besoin de changer pour configurer les différents fichier de stockage des clés pour éviter à l'exception ci-dessus.
$JAVA_HOME/bin/java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Xms512m -Xmx1024m -XX:MaxPermSize=192m -Djavax.net.le protocole ssl.trustStore=/myapp/app.jks -Djavax.net.le protocole ssl.keyStore=/myapp/app.jks -Djavax.net.le protocole ssl.trustStorePassword=XXXXX -Djavax.net.le protocole ssl.keyStorePassword=XXXXX -Dweblogic.de sécurité.Le protocole SSL.ignoreHostnameVerification=true -Djavax.net.debug=ssl -Djavax.net.le protocole ssl.trustStoreType=jks -cp /Oracle/Middleware/Oracle_Home/wlserver/server/lib/wlfullclient.jar:/myapp/standalone/lib/asm-5.0.3.jar:/myapp/standalone/lib/castor-1.3.2-core.jar:/myapp/standalone/lib/myAPP_final.jar
ci-dessus est ma ligne de commande complète. Et je suis en utilisant : java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, en mode mixte)
J'ai remarqué que Si je ne suis pas s' /Oracle_Home/wlserver/server/lib/wlfullclient.jar dans le chemin de classe : je suis différent Exception: Comme ci-dessous : ExecuteThread: '5' pour la file d'attente: "par défaut", à la manipulation d'exception: java.net.SocketTimeoutException: Read timed out ExecuteThread: '5' pour la file d'attente: "par défaut", à la manipulation d'exception: java.net.SocketTimeoutException: Read timed out - 2015-11-20 04:54:02,645 [AT_230SMyApp:AutoLog] INFO Et j'ai essayé ci-dessous URL à l'égard de certificat personnalisé Système paramètre docs.oracle.com/middleware/1221/wls/SACLT/security.htm#SACLT221 j'ai eu la même erreur
Rien de tout cela suggère quelque chose à voir avec truststores. Tout semble être sur la connectivité réseau.
OriginalL'auteur Laxman G | 2015-11-20
Vous devez vous connecter pour publier un commentaire.
Après avoir vu ce Post j'ai configuré et livré propriétés système suivantes -D option il a résolu le problème pour moi. J'espère que ça aidera d'autres, je suis donc de le poster.
J'ai compris suite à des choses que j'ai gardées en Note: de
-Dweblogic.security.TrustKeyStore
paramètre.Note 1: -Dweblogic.de sécurité.TrustKeyStore aura des options suivantes et interne de l'interprétation
-Dweblogic.security.TrustKeyStore=JavaStandardTrust
(Nous devrions utiliser lorsque la confiance des autorités de concurrence dans le JDK est le fichier cacerts, spécifiez ce)-Dweblogic.security.TrustKeyStore=DemoTrust
(Nous devrions utiliser lorsque la confiance des autorités de certification dans DemoTrust.jks et dans le JDK est le fichier cacerts, spécifiez ce)-Dweblogic.security.TrustKeyStore=CustomTrust
(Nous devrions utiliser lorsque la confiance des CAs à partir d'un autre fichier de clés, de spécifier ce).Note 2:
Tout moment si vous avez ci-dessous Exception, cela signifie que votre application java n'est pas de trouver certificat dans la fiducie déterminée magasin.
Note 3:
Des choses importantes essayer de cogfigured
-Djavax.net.debug=ssl
pour voir plus de la vue de détail de journaux. Normalement sans ce paramètre, nous ne sera pas en mesure de voir plus de détails journal.OriginalL'auteur Laxman G