it-swarm.com.de

Wie erstelle ich einen Keystore und einen Truststore mit einem selbstsignierten Zertifikat?

Wir haben Java Server und Client kommunizieren über ein Netzwerk mit SSL. Server und Client authentifizieren sich gegenseitig mithilfe von Zertifikaten. Der vom Server und Client verwendete Keystore-Typ ist JKS. Der Server und der Client werden geladen Ihre Keystore- und Truststore-Dateien. Die Keystore- und Truststore-Dateinamen lauten: server.keystore, server.truststore, client.keystore und client.truststore. Ich verwende selbstsignierte Zertifikate nur zum Testen.

Fragen :

Q1. Ich möchte in Schritt 6 wissen, warum ich Server- und Client-eigene Zertifikate zu ihren jeweiligen Truststores hinzufügen muss.

Q2. Kann ich die Anzahl der Schritte reduzieren, um dasselbe zu erreichen? Wenn ja, wie dann?

Schritte zum Erstellen eines RSA-Schlüssels, selbstsignierter Zertifikate, eines Keystores und eines Truststores für einen Server

  1. Generieren Sie einen privaten RSA-Schlüssel

    openssl genrsa -out diagserverCA.key 2048
    
  2. Erstellen Sie ein x509-Zertifikat

    openssl req -x509 -new -nodes -key diagserverCA.key \
                -sha256 -days 1024 -out diagserverCA.pem
    
  3. Erstellen Sie einen PKCS12-Keystore aus privatem Schlüssel und öffentlichem Zertifikat.

    openssl pkcs12 -export -name server-cert \
                   -in diagserverCA.pem -inkey diagserverCA.key \
                   -out serverkeystore.p12
    
  4. Konvertieren Sie den PKCS12-Keystore in einen JKS-Keystore

    keytool -importkeystore -destkeystore server.keystore \
            -srckeystore serverkeystore.p12 -srcstoretype pkcs12 
            -alias server-cert
    
  5. Importieren Sie das Zertifikat eines Clients in den Trust Store des Servers.

    keytool -import -alias client-cert \
            -file diagclientCA.pem -keystore server.truststore
    
  6. Importieren Sie das Zertifikat eines Servers in den Trust Store des Servers.

    keytool -import -alias server-cert \
            -file diagserverCA.pem -keystore server.truststore
    

Schritte zum Erstellen eines privaten RSA-Schlüssels, eines selbstsignierten Zertifikats, eines Keystores und eines Truststores für einen Client

  1. Generieren Sie einen privaten Schlüssel

    openssl genrsa -out diagclientCA.key 2048
    
  2. Erstellen Sie ein x509-Zertifikat

    openssl req -x509 -new -nodes -key diagclientCA.key \
                -sha256 -days 1024 -out diagclientCA.pem
    
  3. Erstellen Sie einen PKCS12-Keystore aus einem privaten Schlüssel und einem öffentlichen Zertifikat.

    openssl pkcs12 -export -name client-cert \
                   -in diagclientCA.pem -inkey diagclientCA.key \
                   -out clientkeystore.p12
    
  4. Konvertieren Sie einen PKCS12-Keystore in einen JKS-Keystore

    keytool -importkeystore -destkeystore client.keystore \
            -srckeystore clientkeystore.p12 -srcstoretype pkcs12 \
            -alias client-cert
    
  5. Importieren Sie das Zertifikat eines Servers in den Trust Store des Clients.

    keytool -import -alias server-cert -file diagserverCA.pem \
            -keystore client.truststore
    
  6. Importieren Sie das Zertifikat eines Clients in den Trust Store des Clients.

    keytool -import -alias client-cert -file diagclientCA.pem \
            -keystore client.truststore
    
18
vic99

Normales https erfordert nur 1 Befehl.

keytool -genkeypair

Wenn der Client keinem Zertifikat blind vertraut, müssen Sie das öffentliche Serverzertifikat auf den Client kopieren.

Warum benutzt du überhaupt openssl?

https://docs.Oracle.com/javase/10/tools/keytool.htm

3
user1133275