error de herramienta de claves java io filenotfoundexception
¿Hay alguna forma de cargar cacerts diferentes a los especificados en la carpeta java_home/jre/lib/security? (4)
Creo que quieres especificar el almacén de confianza:
java -Djavax.net.ssl.trustStore=/home/gene/mycacerts ...
O si está utilizando certs a través de JSSE (probablemente lo esté), puede copiar su almacén de confianza a jssecacerts
en el jssecacerts
$JAVA_HOME/jre/lib/security/
(aunque todavía tendrá que hacerlo cada vez que se instale un JDK / reinstalado). El JSSE de Sun busca $JAVA_HOME/jre/lib/security/jssecacerts
antes de $JAVA_HOME/jre/lib/security/cacerts
.
Consulte http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#X509TrustManager
Tengo una instalación única de Java en un sistema que ejecuta 2 o 3 aplicaciones.
Todas las aplicaciones utilizan el mismo tiempo de ejecución.
¿Hay una manera de especificar un almacén de claves diferente para los certificados que el de java_home / jre / lib / security? Es decir, ¿existe una opción para especificar un almacén de claves "extra" que se carga y agrega a los certificados cargados desde java_home / jre / lib / security / cacerts?
Lo que quiero evitar es tener que volver a importar nuestra ca local cada vez que actualizo el jdk en el cuadro.
De acuerdo a esto:
Guía de referencia de SSE de Java - Personalización
Podrías usar la propiedad del sistema:
javax.net.ssl.keyStore
Me gusta:
java -Djavax.net.ssl.keyStore=youkeystore YourProgram
¡¡Pero!! Nunca lo he intentado. Déjame saber si funciona ¿lo harías?
Estas dos opciones de jvm se utilizan para ubicar el almacén de confianza personalizado y su contraseña.
java -Djavax.net.ssl.trustStore=custompath/cacerts -Djavax.net.ssl.trustStorePassword=changeit
Para asegurarse de que la aplicación está cargando el almacén de confianza, agregue también el siguiente argumento:
-Djavax.net.debug=ssl:handshake
Si su JVM contiene más de una aplicación, por defecto, todas las aplicaciones usarán la tienda de cacerts predeterminada que se encuentra en $ JAVA_HOME / jre / lib / security / location. Pero si desea que las aplicaciones utilicen un almacén de certificados diferente, debe definir el almacén de certificados personalizado y señalarlo. De esta forma puedes crear tu propia tienda de certificados. System.setProperty ("javax.net.ssl.trustStore", "C: / certStore / cusomtcacerts"); - Use esta línea antes de crear la sesión http / https. Puede importar los certificados a los cusomtcacerts usando keytool también.