openssl genrsa -des3 -out localhost 2048
generiert einen privaten Schlüssel. Um einen Webserver mit HTTPS zu betreiben, benötigen Sie einen privaten Schlüssel und ein Zertifikat. Sie benötigen einen Schritt, um ein Zertifikat zu generieren.
Sie können HTTPS in Tomcat mit 2 fast völlig unterschiedlichen Ansätzen konfigurieren, je nachdem, ob Sie den APR-Anschluss verwenden oder nicht.
Wenn Sie die APR connector verwenden, ist es sinnvoll, OpenSSL zu verwenden, um die Schlüssel/das Zertifikat zu generieren, da es das erwartete Format ist. (Es gibt eine Reihe von Tutorials, um selbstsignierte Zertifikate mit OpenSSL zu generieren, wenn ein selbstsigniertes Zertifikat für Ihre Umgebung ausreicht.)
If you're not using APR, müssten Sie die mit OpenSSL generierten Schlüssel/Cert in einen Keystore konvertieren Format, das von Ihrer JRE unterstützt wird. Von OpenSSL kommend ist die Umwandlung Ihres privaten Schlüssels + in einen PKCS # 12-Speicher (.p12
) normalerweise am einfachsten: Dies wird direkt über Oracle/OpenJDK mit dem Keystore-Typ PKCS12
unterstützt. (Sie könnten Ihre PKCS # 12-Datei in einen JKS-Speicher konvertieren, aber das ist nicht notwendig.)
Wenn Sie jedoch noch keine Schlüssel/Zertifikate haben, ist die einfachste Möglichkeit, ein selbstsigniertes Zertifikat für Tomcat zu generieren Verwenden Sie keytool
direkt. Dies erzeugt einen JKS
Schlüsselspeicher, der der Standardtyp ist. keytool -genkey
generiert nicht nur einen Schlüssel/ein Paar und reicht aus, um eine CSR zu erstellen, sondern assoziiert ein selbstsigniertes Zertifikat (zumindest vorübergehend, bis Sie das von einer CA stammende Zertifikat ggf. importieren).
Das stimmt nicht. Erstens hängt es davon ab, ob Sie APR verwenden oder nicht. Zweitens ist der Standard-Keystore-Typ immer noch JKS. Grundsätzlich kann jeder Keystore-Typ verwendet werden, der von einem der Sicherheitsprovider unterstützt wird. Dies hängt von den Providern ab. Auf Oracle/OpenJDK (mit den Sun-Providern) können Sie JKS, PKCS # 12, PKCS # 11 und NSS verwenden. – Bruno