Es gibt ein paar mehr Typen als in der Standardnamenliste aufgeführt, mit der Sie verknüpft sind. Weitere Informationen finden Sie in der Dokumentation zu kryptografischen Anbietern . Die häufigsten sind sicherlich JKS
(die Standardeinstellung) und PKCS12
(für PKCS # 12-Dateien, oft mit Erweiterung .p12
oder manchmal .pfx
).
JKS ist am häufigsten, wenn Sie in der Java-Welt bleiben. PKCS # 12 ist nicht Java-spezifisch. Es ist besonders praktisch, Zertifikate (mit privaten Schlüsseln) zu verwenden, die von einem Browser gesichert wurden oder von OpenSSL-basierten Tools stammen ( keytool
ein Schlüsselspeicher konnte nicht konvertiert und seine privaten Schlüssel vor Java 6 importiert werden) , also musste man andere Werkzeuge verwenden).
Wenn Sie bereits eine PKCS # 12-Datei haben, ist es oft einfacher, den PKCS12
Typ direkt zu verwenden. Es ist möglich, Formate zu konvertieren, aber es ist selten erforderlich, wenn Sie den Keystore-Typ direkt auswählen können.
In Java 7 PKCS12
war es hauptsächlich als Keystore nützlich, aber weniger als Truststore (siehe den Unterschied zwischen einem Keystore und einem Truststore ), da Sie Zertifikatseinträge ohne einen privaten Schlüssel nicht speichern konnten. Im Gegensatz dazu JKS
muss nicht jeder Eintrag ein privater Schlüsseleintrag sein, sodass Sie Einträge haben können, die nur Zertifikate enthalten. Dies ist nützlich für Trust Stores, in denen Sie die Liste der Zertifikate speichern, denen Sie vertrauen (aber Sie haben keine privater Schlüssel für sie).
Dies hat sich in Java 8 geändert, sodass Sie jetzt auch Einträge nur für Zertifikate in PKCS12
Geschäften haben können. (Weitere Details zu diesen Änderungen und weiteren Plänen finden Sie in JEP 229: Standardmäßig PKCS12-Keystores erstellen .)
Es gibt einige andere Keystore-Typen, die möglicherweise (je nach Kontext) weniger häufig verwendet werden. Dazu gehören:
PKCS11
Für PKCS # 11-Bibliotheken, normalerweise für den Zugriff auf kryptografische Hardware-Token. Die Sun-Provider-Implementierung unterstützt jedoch auch NSS-Stores (von Mozilla).
BKS
mit dem BouncyCastle-Anbieter (häufig für Android verwendet).
Windows-MY
/ Windows-ROOT
, wenn Sie direkt auf den Windows-Zertifikatspeicher zugreifen möchten.
KeychainStore
, wenn Sie den OSX-Schlüsselbund direkt verwenden möchten.