Zertifikat in Java-Keystore importieren

Wenn die DLE direkt ohne vorgeschalteten Webserver betrieben wird, muss das SSL Zertifikat im sogenannten Keystore hinterlegt werden, damit der integrierte Jetty-Server dieses auch verwenden kann.

Falls ein vorgeschalteter Proxy-Server verwendet wird, muss das Zertifikat dort installiert werden (Apache, nginx, ...) - Dazu verwenden Sie bitte die öffentliche Dokumentation des jeweiligen Herstellers.

  1. Exportieren Sie key, certificate und ca-certificate in eine PKCS12 Datei

    openssl pkcs12 -export -in my.crt -inkey my.key -chain -CAfile my-ca-file.crt -name "my-domain.com" -out my.p12 

    Alternativ kann man anstatt "-chain" mehrere crt Files in einem Dokument selbst zusammenfassen. (Die Reihenfolge muss da beachtet werden.)

    openssl pkcs12 -export -in myBundle.crt -inkey my.key  -name "my-domain.com" -out my.p12

     

     

  2.  Stellen Sie sicher, dass ein Passwort gesetzt worden ist. Das Passwort für die Datei muss gleich sein wie der vom keystore  (Wenn sie kein Passwort vergeben, werden Sie später beim Import eine Nullpointer Exception erhalten.)

  3. Wenn Sie den Fehler "Error unable to get issuer certificate getting chain." erhalten, muss man das "ca-cert" sowie das "eigene" zuerst zusammenführen.

    cat /etc/ssl/cert.pem my-ca-file.crt > ca-certs.pem

    Anschließend kann es mit dem Parameter -CAfile verwendet werden:

    openssl pkcs12 -export -in my.crt -inkey my.key -chain -CAfile ca-certs.pem -name "my-domain.com" -out my.p12 

  4. Import der PKCS12 Datei in den java keystore (oft hat das P12 Zertifikat auch die Endung .pfx)

    ## alter keystore wegsichern
    mv ./server/keystore ./server/keystore_alt

    ## neuer keystore wird angelegt "PASSWORT" muss dem vom Zertifikat entsprechen
    keytool -importkeystore -deststorepass PASSWORT -destkeystore ./server/keystore -srckeystore my.p12 -srcstoretype PKCS12
    #alternativ
    keytool -importkeystore -alias my-domain.com -destalias dle -deststorepass PASSWORT -destkeystore keystore -srckeystore my.p12 -srcstoretype PKCS12