Es gibt eine Menge Ressourcen zu diesem Thema, aber keine, die ich gefunden habe und die diesen etwas besonderen Fall abdeckt.
Ich habe 4 Dateien;
- privatekey.pem
- certificate.pem
- intermediate_rapidssl.pem
- ca_geotrust_global.pem
Und ich möchte sie in einen neuen Keystore importieren.
Einige Websites schlagen vor, das DER-Format zu verwenden und einzeln zu importieren. Dies ist jedoch fehlgeschlagen, da der Schlüssel nicht erkannt wird.
Eine andere Site schlug eine spezielle "ImportKey" -Klasse vor, die für den Import ausgeführt werden sollte. Dies funktionierte, bis ich sah, dass die Kette unterbrochen war. Dh die Kettenlänge auf dem Zertifikat ist 1, ohne Berücksichtigung der Zwischen- und Ca.
Einige Sites schlagen PKCS7 vor, aber ich kann nicht einmal eine Kette daraus ziehen. Andere schlagen das PKCS12-Format vor, aber was meine Tests angeht, ist dies auch fehlgeschlagen, um die gesamte Kette zu erhalten.
Alle Ratschläge oder Hinweise sind sehr willkommen.
quelle
alias <root> already exists
) Kannst du es mit einem neuen, leeren Keystore versuchen?Verketten Sie alle * .pem-Dateien wie all.pem zu einer pem-Datei. Erstellen Sie anschließend einen Keystore im p12-Format mit dem privaten Schlüssel + all.pem
Dann exportiere p12 in jks
quelle
keytool bietet keine Möglichkeit zum Importieren von Zertifikat + privatem Schlüssel aus einer einzelnen (kombinierten) Datei, wie oben vorgeschlagen. Es läuft einwandfrei, aber nur das Zertifikat wird importiert, während der private Schlüssel ignoriert wird. Sie können dies überprüfen, indem
keytool -list -v -keystore yourkeystore.jks
Sie als Eintragstyp für Ihre Domain TrustedCertEntry und nicht PrivateKeyEntry angeben.Um das anfängliche Problem zu lösen, sollte man zuerst einen PKCS # 12-Keystore mit openssl (oder einem ähnlichen Tool) erstellen und dann den Keystore mit importieren
keytool -importkeystore
.quelle