Cacerts vs. Keystore in Java
Dieses Tutorial vergleicht cacerts
und KeyStore
und zeigt die Unterschiede auf.
cacerts
vs KeyStore
in Java
Das cacerts
ist ein TrustStore
, der zur Authentifizierung von Peers verwendet wird, während ein KeyStore
verwendet wird, um sich selbst zu authentifizieren.
Sowohl Keystore
als auch TrustStore
werden hauptsächlich für Anwendungen verwendet, die über SSL/TLS
kommunizieren müssen. Diese Dateien sind passwortgeschützt.
Das Standardformat von Keystore
ist PKS12
von Java 9
. Ein anderes Standardformat, JKS
, wird jedoch bis Java 8
verwendet. Lassen Sie uns also im Folgenden einzeln auf KeyStore
und TrustStore
eingehen.
Schlüsselspeicher
in Java
Der KeyStore
ist die Speicherung von privaten Einträgen, öffentlichen Schlüsseln und Zertifikaten, die hauptsächlich für kryptografische Zwecke verwendet werden. Der KeyStore
wird von einem Programm verwendet, wenn das Programm als Server fungiert und bereit ist, HTTPS
zu verwenden.
Beim Handshaking per SSL
sucht ein Serverprogramm den privaten Schlüssel aus dem KeyStore
. Der KeyStore
wird auch in Client-Programmen verwendet.
Wenn ein Client-Programm versucht, sich mit einem Server zu verbinden, muss es sich selbst authentifizieren
. Bei der Authentifizierung sucht das Client-Programm auch nach den öffentlichen Schlüsseln und Zertifikaten aus dem KeyStore
.
Zusammenfassend können wir sagen, dass ein KeyStore
ein Ort ist, der alle notwendigen Sicherheitsdateien enthält.
TrustStore
in Java
Der TrustStore
liegt gegenüber dem KeyStore
. Der KeyStore
enthält die Datei, um uns zu identifizieren, während der TrustStore
die Dateien enthält, um andere zu identifizieren.
Java enthält einen gebündelten TrustStore
namens cacerts
und befindet sich in Ihrem Verzeichnis $JAVA_HOME/jre/lib/security
.
Demonstration des Keystore
und TrustStore
(cacerts
)
Nachfolgend finden Sie einen Beispielbefehl zu Keystore
und TrustStore
. Der Befehl sieht wie folgt aus:
keytool -list -keystore cacerts
Nachdem Sie den obigen Befehl ausgeführt haben, erhalten Sie die folgende Ausgabe:
Bitte beachten Sie, dass sich der oben geteilte Befehl hauptsächlich auf Java konzentriert.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn