Was ist der Unterschied zwischen den beiden, Cacerts und Keystore?
Wenn ich die Definition dieser Links verwende - cacerts und keystore , dann scheint es sich um eine Sammlung von Zertifikaten zu handeln, jedoch im Kontext eines (Java) verteilten Systems. Welches wird zur Authentifizierung während einer SSL-Verbindung verwendet? Beide oder nur einer von ihnen oder alternativ?
'cacerts' ist ein Truststore. AND truststore wird zur Authentifizierung von Peers verwendet. Ein Keystore dient zur Authentifizierung.
in cacerts werden in Java öffentliche Zertifikate von Stammzertifizierungsstellen gespeichert. Java verwendet Zertifikate, um die Server zu authentifizieren.
Im Keystore werden die privaten Schlüssel der Clients in Java gespeichert, sodass sie für den Server freigegeben werden können, wenn der Server die Clientauthentifizierung anfordert.
Überprüfen Sie Ihren Java_HOME-Pfad. Während das System nach einer Java.policy-Datei sucht, die sich in Java_HOME/jre/lib/security
befindet. Ihr Java_HOME sollte immer ../Java/JDK
sein.
Die Java Runtime Environment (JRE) wird mit einem Tool namens keytool
zum Erstellen von Zertifikaten und Bearbeiten von Schlüsselspeichern ausgeliefert.
Jedes JRE
hat ein eigenes keystore
, das alle vertrauenswürdigen Zertifizierungsstellen enthält. Dies wird auch als trust store
bezeichnet. Dieser trust store
wird als Datei mit dem Namen cacerts
unter Ihrem Java_JRE_HOME/lib/security/
gespeichert. Auf meinem Mac befindet sich dies unter /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre/lib/security
Das Standardkennwort für dieses keystore
lautet changeit
. Mit dem folgenden Befehl können Sie den JDK-Keystore anzeigen:
keytool -list -keystore cacerts -storepass changeit
Lesen Sie mehr hier
Cacerts sind Angaben zu vertrauenswürdigen Signaturstellen, die Zertifikate ausstellen können. Dies ist das, was die meisten Browser aufgrund der Zertifikate haben, die sich als authentisch erwiesen haben. Keystone verfügt über dienstbezogene Zertifikate zur Authentifizierung von Clients.