java - chemin trustStore - définir la propriété ne fonctionne pas?

J'ai configuré un certificat auto-signé pour tester un ssl java connexion - cependant, c'est refuser de localiser le java trustStore. J'en ai gardé des copies dans /Java/re6/lib/security en plus de le dossier où les classes sont compilées (im à l'aide de netbeans) et /java/re6/bin
rien de ce qui précède semble fonctionner, parce que quand je lance la suite - 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);
        }
    }
}

comment définir correctement le chemin d'accès?

**********Mise à JOUR************
À l'aide de la méthode getFile() et un peu plus de données de débogage:

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);
        }
    }
}

exécuter:

java.lang.NullPointerException
classpath: C:\Users\Main\Documents\NetBeansProjects\sslTest\build\classes;C:\Users\Main\Documents\NetBeansProjects\sslTest\src
au ssltest.Principal.principale(Main.java:15)
javax.net.le protocole ssl.trustStore n'est pas défini
Construction RÉUSSIE (temps total: 0 secondes)

  • voir ma réponse mis à jour
  • œuvres! merci beaucoup!
  • Bon à savoir que je ne suis pas le seul dont la recherche d'un bug de l'heure pour heure ... à cause d'une petite faute de frappe ... 😉
InformationsquelleAutor oneAday | 2010-01-26