[Security] ladowanie pliku za pomoca KeyStore.load()

0

Witam

W jaki sposob, musze utworzyc plik .keystore abym mogl go uzywac w javie?

Mam taki kod:

 
            SSLContext context = SSLContext.getInstance("SSL");
            KeyManagerFactory keyFactory = KeyManagerFactory.getInstance("SunX509");
            KeyStore ks = KeyStore.getInstance("JKS");
            char[] password = "ab987c".toCharArray( );
            ks.load(new FileInputStream("src/javanetworking/securesockets/key.keystore"), password);
            keyFactory.init(ks, password);

Plik key.keystore utworzylem za pomoca komendy:

 
keytool -genkey -alias prv1 -keypass kpi135 -keystore D:\ 
      -storepass ab987c -validity 180

Przenioslem ten plik do odpowiedniego katalogu.
Kiedy uruchamiam program pojawia sie wyjatek:

 2010-11-27 19:42:28 javanetworking.securesockets.SecureServerSocket main
SEVERE: null
java.security.UnrecoverableKeyException: Cannot recover key
0

A co to jest -keystore D:\ ?
Po -keystore ma być cała ścieżka do pliku, który chcesz potem otwierać.

0

Zle to napisalem, oczywiscie powinno byc tak:

 keytool -genkey -alias prv1 -keypass kpi135 -keystore D:\key.keystore
      -storepass ab987c -validity 180

Tak czy inaczej, nadal wywala ten wyjatek.

0

No ale tworzysz plik d:\key.keystore, a w load chcesz odczytać src/javanetworking/securesockets/key.keystore. Ciężko, żeby to się udało.

0

Tak, ale przenosze ten plik przeciez do poprawnego katalogu. Napisalem to w pierwszym poscie.
Problem w tym, ze sa jakies problemy z pobraniem klucza. Dlatego pytam co robie nie tak :/

0

Pierwszy link w google daje odpowiedź, że problem jest z tego, że masz różne hasła dla klucza i magazynu. Najpierw ustaw na oba takie samo hasło i sprawdź czy działa. Jak będzie oki, to wtedy trzeba będzie pomyśleć co z tym fantem zrobić. Ale najpierw sprawdź.

0

Dziala, dzieki za pomoc :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1