2010-04-15 4 views
18

Tengo una sola instalación de Java en un sistema que ejecuta 2 o 3 aplicaciones.¿Hay alguna forma de cargar un calendario diferente al especificado en la carpeta java_home/jre/lib/security?

Todas las aplicaciones utilizan el mismo tiempo de ejecución.

Hay una manera de especificar un keystores diferente para los certificados de CA que el de java_home/jre/lib/security. Es decir, ¿hay una opción para especificar un almacén de claves "adicional" que se carga y se agrega a los certificados cargados desde la página inicial de inicio_java/jre/lib/security/cacerts?

Lo que quiero evitar es tener que volver a importar nuestra ca local cada vez que actualizo el jdk en la caja.

+1

El archivo 'cacerts' es un almacén de confianza, no un almacén de claves. No contiene ninguna clave privada. – EJP

Respuesta

44

creo que desea especificar el almacén de confianza:

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

O si está utilizando CERT a través JSSE (probablemente lo estás), puede copiar el almacén de confianza a jssecacerts en el directorio $JAVA_HOME/jre/lib/security/ (a pesar de que había todavía tiene que hacer eso cada vez que se instala/reinstala un JDK). JSSE de Sun busca $JAVA_HOME/jre/lib/security/jssecacerts antes de $JAVA_HOME/jre/lib/security/cacerts.

Ver http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#X509TrustManager

-2

De acuerdo con esto:

Java SSE Referece Guide - Customization

Se puede usar la propiedad del sistema:

javax.net.ssl.keyStore 

igual:

java -Djavax.net.ssl.keyStore=youkeystore YourProgram 

Pero !! Nunca lo he intentado. Avísame si funciona, ¿verdad?

+4

No creo que esta sea la respuesta correcta, aunque está cerca. Las propiedades javax.net.ssl.keyStore y trustStore son sutilmente diferentes, y lo que el OP necesita es personalización de TrustStore. –

+0

@GregS probablemente tengas razón. Feniix, ¿nos dejarías saber tus resultados? y/o ¿cuál fue la solución que usaste? – OscarRyz

+1

Esta respuesta es incorrecta. Por favor, mira la siguiente respuesta. – Opher

3

Estas dos opciones de JVM se utilizan para localizar almacén de confianza a medida y su contraseña.

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

Con el fin de asegurarse de que lo trustStore está siendo cargado por la aplicación, añadir siguiente argumento así,

-Djavax.net.debug=ssl:handshake 
Cuestiones relacionadas