Was ist der Unterschied zwischen Cacerts und Keystore?

110

Was ist der Unterschied zwischen den beiden, Cacerts und Keystore?

Wenn ich die Definition in diesen Links, Cacerts und Keystore verwende , 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?

dimas
quelle
3
cacerts = Zertifikate der Zertifizierungsstelle ?
Peter Mortensen

Antworten:

137

'cacerts' ist ein Truststore. Ein Trust Store wird zur Authentifizierung von Peers verwendet. Ein Schlüsselspeicher dient zur Authentifizierung.

Marquis von Lorne
quelle
Hallo EJP, danke für die Antworten, das habe ich zitiert, bevor ich eine deiner Antworten gelesen habe;) Also nur eine Klarstellung, wenn ich deine Antworten in Francis und Pangaea zusammenfasse. Cacerts wird verwendet, um Clients zu authentifizieren, die Zugriff oder Verbindung anfordern, und für den Keystore verstehe ich nicht ganz, warum Sie sich authentifizieren möchten. :)
Dimas
19
Lesen Sie noch einmal, was ich geschrieben habe. (1) Ein Truststore wird zur Authentifizierung von Peers verwendet. Wenn Sie der Client sind, ist der Server der Peer. Wenn Sie der Server sind, umgekehrt. (2) Wenn Sie der Server sind oder wenn Sie der Client sind und der Server die Clientauthentifizierung anfordert, müssen Sie sich beim Peer authentifizieren , sodass Sie Ihr eigenes Zertifikat und Ihren privaten Schlüssel benötigen, die sich im Schlüsselspeicher befinden. (Verwirrenderweise wird für beide das gleiche Dateiformat verwendet und es wird als Keystore-Datei bezeichnet.)
Marquis of Lorne
OK, verstanden, aber nur eine Folgefrage. Meine Zertifikate enthalten alle im Keystore gespeicherten Zertifikate und mehr. Einige Zertifikate, einschließlich des privaten Zertifikats meiner Anwendung, haben zwar unterschiedliche Aliase, aber dieselben digitalen Signaturen. Idealerweise kann ich meine Cacerts verwenden, wenn ich eine Verbindung zum Server herstelle und eine Authentifizierung anfordere?
Dimas
Ich verstehe den Teil über "verschiedene Aliase" nicht. Anders als was? Ihre letzte Frage kann experimentell beantwortet werden.
Marquis von Lorne
3
@ Raja777m cacertsist, wem Sie vertrauen. Ich sehe keinen Grund dafür, zwischen Umgebungen zu wechseln, es sei denn, Sie begehen den Fehler, selbstsignierte Zertifikate für Testserver zu verwenden: Ein Fehler, weil Sie im Test und in der Produktion unterschiedliche Codepfade verwenden.
Marquis von Lorne
41

In cacerts speichert Java öffentliche Zertifikate von Stammzertifizierungsstellen. Java verwendet Cacerts, um die Server zu authentifizieren.

Im Keystore speichert Java die privaten Schlüssel der Clients, damit diese für den Server freigegeben werden können, wenn der Server die Clientauthentifizierung anfordert.

Aravind Yarram
quelle
@dimas Offensichtlich, aber was er wirklich meint, sind "Anfragen".
Marquis von Lorne
1
@ user207421 Ich glaube an diese Antwort, dass die Java-App die Rolle eines http-Clients spielt und die http-URL, die unsere Java-App aufruft, die Serveranwendung ist. Der KeyStore unserer Client-Java-App sollte also sowohl einen privaten Schlüssel als auch ein Zertifikat (signierter öffentlicher Schlüssel) haben und nur das Zertifikat an die Server-App senden, oder? Und wenn die Server-App auch eine Java-App ist, überprüft sie das von unserer Client-Java-App gesendete Zertifikat mithilfe einer eigenen Cacert-Datei, oder?
user104309
0

Cacerts sind Details von vertrauenswürdigen Signaturbehörden, die Zertifikate ausstellen können. Dies ist, was die meisten Browser aufgrund welcher Zertifikate als authentisch eingestuft haben. Keystone verfügt über Ihre servicebezogenen Zertifikate zur Authentifizierung von Clients.

Jawed
quelle
-2

Überprüfen Sie Ihren JAVA_HOME-Pfad. As Systems sucht nach einer java.policy-Datei, die sich in befindet JAVA_HOME/jre/lib/security. Ihr JAVA_HOME sollte immer sein ../JAVA/JDK.

Naveen Verma
quelle
3
Vielen Dank für die Mühe, aber Sie sollten die Antwort von EJP lesen und verstehen.
Dimas