Rozumiem, że magazyn kluczy zwykle przechowuje klucze prywatne / publiczne, a magazyn zaufania przechowuje tylko klucze publiczne (i reprezentuje listę zaufanych stron, z którymi zamierzasz się komunikować). Cóż, to moje pierwsze założenie, więc jeśli to nie jest poprawne, prawdopodobnie nie zacząłem zbyt dobrze ...
Byłem zainteresowany zrozumieniem, jak / kiedy rozróżniasz sklepy podczas korzystania z keytool.
Do tej pory stworzyłem magazyn kluczy
keytool -import -alias bob -file bob.crt -keystore keystore.ks
który tworzy mój plik keystore.ks. Odpowiadam yes
na pytanie: czy ufam bobowi, ale nie jest dla mnie jasne, czy utworzyło to plik kluczy lub plik zaufanych certyfikatów? Mogę skonfigurować moją aplikację do używania tego pliku jako jednego z nich.
-Djavax.net.ssl.keyStore=keystore.ks -Djavax.net.ssl.keyStorePassword=x
-Djavax.net.ssl.trustStore=keystore.ks -Djavax.net.ssl.trustStorePassword=x
i z System.setProperty( "javax.net.debug", "ssl")
ustawieniu widzę certyfikat pod zaufanymi certyfikatami (ale nie pod sekcją magazynu kluczy). Konkretny certyfikat, który importuję, ma tylko klucz publiczny i zamierzam go użyć do wysyłania danych przez połączenie SSL do Boba (ale być może najlepiej zostawić to na inne pytanie!).
Wszelkie wskazówki lub wyjaśnienia byłyby bardzo mile widziane. Czy dane wyjściowe keytool są takie same, niezależnie od tego, co importujesz, i jest to zwyczajna konwencja, która mówi, że jeden to magazyn kluczy, a drugi sklep zaufania? Jaki jest związek podczas korzystania z SSL itp.?