Fehler beim Importieren des öffentlichen Zertifikats in einen Keystore

8

Ich habe ein öffentliches Zertifikat von einer Zertifizierungsstelle. Ich möchte eine Java SSL-Verbindung mit diesem Zertifikat erstellen. Ich habe Wie kann ich verwenden verschiedene Zertifikate für bestimmte Verbindungen? und Java-SSL-Verbindung mit selbstsigniertem Zertifikat, ohne den vollständigen Keystore auf den Client zu kopieren . Von diesem verstehe ich, dass ich das Zertifikat in einen Schlüsselspeicher importieren muss. Ich habe jedoch keinen Keystore von der CA erhalten. Ich habe einen Keystore erstellt und versucht, das öffentliche Zertifikat dorthin zu importieren. Aber dann bekomme ich den folgenden Fehler:

keytool Fehler: java.lang.Exception: Öffentliche Schlüssel in Antwort und Schlüsselspeicher stimmen nicht überein

Brauche ich einen Keystore von der CA oder mache ich etwas falsch?

Befehl zum Erstellen des Schlüsselspeichers:

%Vor%

Befehl zum Importieren des Certs:

%Vor%     
DanMatlin 13.06.2013, 09:02
quelle

3 Antworten

5

Ich glaube, Sie verfolgen den Anmeldevorgang nicht ordnungsgemäß. Überprüfen Sie diese Diskussion Ссылка , um sie ordnungsgemäß zu implementieren, indem Sie die folgenden Schritte ausführen:

  1. Erstellen Sie einen Schlüsselspeicher %Code% (Dies erzeugt einen Schlüsselspeicher und einen Schlüssel (DC) mit Alias ​​von "mykey")

  2. Erstellen Sie eine Zertifikatsignierungsanforderung (Certificate Signing Request, CSR). %Code% (Dies generiert eine CSR-Textdatei)

  3. Wurde ein signiertes Zertifikat erstellt: Ссылка

  4. Importiertes signiertes Zertifikat (Achten Sie auf CRLFs, wenn Sie das Zertifikat aus Schritt 3 einfügen) %Code% (wichtig, dass es einen anderen Alias ​​als Schritt 1 hat (standardmäßig "mykey")?

  5. Exportieren Sie den öffentlichen Schlüssel für die Client-Nutzung keytool -genkey -keyalg RSA -keystore test.keystore -validity 360

Auf dem Server-System

  1. Erstellen Sie einen Truststore %Code% (Dies erzeugt einen Schlüsselspeicher und einen Schlüssel (DC) mit Alias ​​von "mykey")

  2. Öffentlicher Schlüssel importieren - zum Testen des SSL SOAP-Dienstes über den Client keytool -certreq -keyalg RSA -file test.csr -keystore test.keystore

Das Problem bestand darin, den Alias ​​in den Schritten 1 und 6 standardmäßig auf "mykey" setzen zu lassen. Als ich Schritt 6 änderte: keytool -import -alias newkey -file <signed cert file> -keystore test.keystore

Sie können mit Schritt 7 oben importieren (obwohl ich " keytool -export -alias mykey -file test.publickey -keystore test.keystore " in Schritt 7 hinzugefügt habe). Das hat für mich funktioniert.

    
PeggyP 13.06.2013 09:31
quelle
3

Sie können das Schlüsselprogramm keyStore explorer verwenden, um Keystore / Zertifikate zu generieren und Zertifikate in Keystore zu importieren / exportieren.

    
ManojP 19.03.2015 09:16
quelle
0

Ich hatte beim Importieren des SSL-Zertifikats in den Keystore dasselbe Problem. In meinem Fall fehlte das Zertifikat der Root CA in der Kette. Ich habe das Stammzertifikat in eine Datei exportiert und manuell in den Keystore importiert.

    
azhar buttar 08.02.2017 12:31
quelle