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 .p12lub 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 ( keytoolnie 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 PKCS12bezpoś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 PKCS12był 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, JKSnie 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 PKCS12sklepach 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).
BKSprzy 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.