Tôi đã thiết lập chứng chỉ tự ký để kiểm tra kết nối java ssl - tuy nhiên, nó từ chối xác định vị trí trustStore java. Tôi đã lưu các bản sao của nó trong/Java/jre6/lib/security ngoài thư mục mà các lớp được biên dịch thành (im sử dụng netbeans) và cũng vào/java/jre6/bin không có điều nào ở trên dường như hoạt động, bởi vì khi tôi chạy sau đây - trustStore = null.java - đường dẫn đến trustStore - thiết lập thuộc tính không hoạt động?
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ách đặt đường dẫn chính xác?
********** CẬP NHẬT ************ Sử dụng phương pháp getfile() và một số debug nhiều dữ liệu hơ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);
}
}
}
chạy: java.lang.NullPointerException classpath: C: \ Users \ Main \ Documents \ NetBeansProjects \ sslTest \ build \ classes; C: \ Users \ Main \ Documents \ NetBeansProjects \ sslTest \ src tại ssltest.Main.main (Main.java : 15) javax.net.ssl.trustStore không được xác định BUILD SUCCESSFUL (tổng thời gian: 0 giây)
xem câu trả lời cập nhật của tôi – Bozho
hoạt động! cảm ơn nhiều! – oneAday
Tốt để biết rằng tôi không phải là người duy nhất có tìm kiếm một giờ lỗi cho giờ ... vì một chút typo ... ;-) – Steffen