java - trustore - que son los keystore
java-path to trustStore-¿La propiedad set no funciona? (3)
Ambos
-Djavax.net.ssl.trustStore=path/to/trustStore.jks
y
System.setProperty("javax.net.ssl.trustStore", "cacerts.jks");
haga lo mismo y no tenga ninguna diferencia trabajando sabiamente. En tu caso, solo tienes un error tipográfico. Ha escrito mal trustStore
en javax.net.ssl.trustStore.
He configurado un certificado autofirmado para probar una conexión ssl java; sin embargo, se niega a ubicar el java trustStore. He guardado copias de / Java / jre6 / lib / security además de la carpeta donde están compiladas las clases (im usando netbeans) y también a / java / jre6 / bin, ninguna de las anteriores parece funcionar, porque cuando ejecuto lo siguiente - trustStore = null.
public class ShowTrustStore {
public static void main(String[] args) {
System.setProperty("javax.net.ssl.keyStore", "keystore.jks");
System.setProperty("javax.net.ssl.trustStrore", "cacerts.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "changeit");
String trustStore = System.getProperty("javax.net.ssl.trustStore");
if (trustStore == null) {
System.out.println("javax.net.ssl.trustStore is not defined");
} else {
System.out.println("javax.net.ssl.trustStore = " + trustStore);
}
}
}
cómo establecer la ruta correctamente?
********** ACTUALIZACIÓN ************ Usando el método getFile () y algunos más datos de depuración:
package ssltest;
public class Main {
public static void main(String[] args) {
// System.setProperty("javax.net.ssl.keyStore", "/keystore.jks");
// System.setProperty("javax.net.ssl.trustStrore", "/java.home/cacerts.jks");
// System.setProperty("javax.net.ssl.keyStorePassword", "changeit");
// System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
try {
Main.class.getResource("trustStore.jks").getFile();
} catch (Exception e) {
e.printStackTrace();
}
String trustStore = System.getProperty("javax.net.ssl.trustStore");
if (trustStore == null) {
String storeLoc;
storeLoc = System.getProperty("java.class.path");
System.out.println("classpath: " + storeLoc);
}
trustStore = System.getProperty("javax.net.ssl.trustStore");
if (trustStore == null) {
System.out.println("javax.net.ssl.trustStore is not defined");
} else {
System.out.println("javax.net.ssl.trustStore = " + trustStore);
}
}
}
run: java.lang.NullPointerException classpath: C: / Users / Main / Documents / NetBeansProjects / sslTest / build / classes; C: / Users / Main / Documents / NetBeansProjects / sslTest / src at ssltest.Main.main (Main.java : 15) javax.net.ssl.trustStore no está definido CONSTRUIR CON ÉXITO (tiempo total: 0 segundos)
Parece que tienes un error tipográfico: "trustStrore" debería ser "trustStore", es decir,
System.setProperty("javax.net.ssl.trustStrore", "cacerts.jks");
debiera ser:
System.setProperty("javax.net.ssl.trustStore", "cacerts.jks");
Usted tiene un error tipográfico - es trustStore
.
Además de establecer las variables con System.setProperty(..)
, también puede usar
-Djavax.net.ssl.keyStore=path/to/keystore.jks