Istnieje kilka innych typów niż te, które są wymienione na standardowej liście nazw, z którą łączysz się. Więcej informacji można znaleźć w dokumentacji dostawców usług kryptograficznych . Najpopularniejsze z nich to z pewnością JKS
(domyślne) i PKCS12
(dla plików PKCS # 12, często z rozszerzeniem .p12
lub czasami .pfx
).
JKS jest najbardziej powszechny, jeśli pozostajesz w świecie Java. PKCS # 12 nie jest specyficzny dla Javy, szczególnie wygodne jest używanie certyfikatów (z kluczami prywatnymi) z kopii zapasowej z przeglądarki lub pochodzących z narzędzi opartych na OpenSSL ( keytool
nie był w stanie przekonwertować magazynu kluczy i zaimportować jego kluczy prywatnych przed Java 6 , więc musiałeś użyć innych narzędzi).
Jeśli masz już plik PKCS # 12, często łatwiej jest PKCS12
bezpośrednio użyć tego typu. Konwersja formatów jest możliwa, ale rzadko jest to konieczne, jeśli można bezpośrednio wybrać typ magazynu kluczy.
W Javie 7 PKCS12
był używany głównie jako magazyn kluczy, ale mniej w przypadku magazynu zaufanych certyfikatów (zobacz różnicę między magazynem kluczy a magazynem zaufanych certyfikatów ), ponieważ nie można przechowywać wpisów certyfikatów bez klucza prywatnego. W przeciwieństwie do tego, JKS
nie wymaga, aby każdy wpis był wpisem klucza prywatnego, więc możesz mieć wpisy zawierające tylko certyfikaty, co jest przydatne w przypadku magazynów zaufania, w których przechowujesz listę zaufanych certyfikatów (ale nie masz klucz prywatny dla nich).
Zmieniło się to w Javie 8, więc teraz w PKCS12
sklepach możesz mieć wpisy zawierające tylko certyfikaty . (Więcej szczegółów na temat tych zmian i dalszych planów można znaleźć w JEP 229: Domyślne tworzenie magazynów kluczy PKCS12 ).
Istnieje kilka innych typów magazynów kluczy, być może rzadziej używanych (w zależności od kontekstu). Są to:
PKCS11
, dla bibliotek PKCS # 11, zwykle do uzyskiwania dostępu do sprzętowych tokenów kryptograficznych, ale implementacja dostawcy Sun obsługuje również magazyny NSS (z Mozilli).
BKS
przy użyciu dostawcy BouncyCastle (powszechnie używanego w systemie Android).
Windows-MY
/ Windows-ROOT
, jeśli chcesz uzyskać bezpośredni dostęp do magazynu certyfikatów systemu Windows.
KeychainStore
, jeśli chcesz bezpośrednio użyć pęku kluczy OSX.