Hinzufügen .crt zu Spring Boot um SSL zu aktivieren
Ich habe das noch nie getan bevor, und die meisten tutorials wird nicht erwähnt, wie befassen sich mit .crt-Dateien.
Kaufte ich ein SSL-Zertifikat von GoDaddy, und ausgewählte Tomcat als Plattform, wenn Sie es herunterladen. Die zip-Datei enthält 3 Dateien:
dea08asdjakjawl.crt
gd_bundle-g1-g1.crt
gdig.crt.pem
Ich eine Spring-Boot-Anwendung (auf port 80 mit einem eingebetteten Tomcat) auf ein CentOS7-server. (Server läuft auf Digital Ocean, es hat eine zugewiesene Domäne, und arbeitet mit einfachen http)
Möchte ich es ausschalten https://something.com
All die tutorials empfehlen, die muss ich haben .jks oder eine .p12-Datei, aber ich war nicht in der Lage zu konvertieren .crt-Dateien auf. Neben ich bin mir nicht sicher, welche der 2 .crt-Datei ist die, die ich sollte zu konvertieren .jks/.p12.
Habe ich dieses auf meine Bewerbung.yaml, aber hat nicht geholfen:
server:
port: 443
ssl:
enabled: true
key-alias: server
key-store: "cert.crt"
key-store-password: "***"
Wie kann ich meinen Lauf-Spring-Boot-Projekt zu akzeptieren, HTTPS-Abfragen mit diesem Zertifikat?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie einen Schlüsselspeicher zu erstellen und eine trusstore(oder verwenden Sie die Standard-trusstore zur Verfügung gestellt von java). keystore enthält Ihren privaten Schlüssel und das Serverzertifikat. truststore enthalten wird Ihr ca-Zertifikat.
um einen p12-keystore-
geben Sie ein Passwort für den keystore. konfigurieren Sie diesen keystore in Ihrer Anwendung.yaml.
Trust-store-Eintrag, wenn in der java-Standard-Vertrauen-speichern, fügen Sie dann Ihre ca-Zertifikat auf ...jre/lib/security/cacerts
oder Sie erstellen trusstore dann konfigurieren Sie diese truststore in Ihrer Anwendung.yaml
alle keytool-Befehle, die Sie leicht finden können, auf dem internet zu konvertieren/erstellen/importieren/exportieren/Liste...
Zur Verfügung gestellt 3 Dateien, die Sie überprüfen können, welche welche ist-
1. sollten Sie Ihr Zertifikat
2. sollte der Zertifizierungsstellen-Zertifikatkette
Also die richtige Vorgehensweise war die folgende:
Musste ich neu erstellen die CSR von Grund auf, mit einer Java-Key-Store statt.
Dann eine neue CSR:
Hatte, zu ärgern, zu der cert-Anbieter, um einen neuen zu generieren .cer-Datei. So schickten Sie mich zurück zu den erwähnten 2 .cer-Dateien, die "bundle" war der Mittelstufe .cer, die ich brauchte, um hinzuzufügen, wie dieser:
Dann die eigentliche "langen Namen" .cer-Datei wie folgt:
Dann ist das etwas, was konvertiert werden kann p12-so:
Schließlich die Anwendung.Eigenschaften, die extra Linien und wurde so etwas wie dieses:
Und es wird schließlich arbeiten.
Wenn mit Java, man generiert den privaten key und den CSR mit der
keytool
- Befehl mit Hilfe der-keystore
parameter. Ich gebe zu, dass ich nicht weiß, ob und wie es möglich ist, Einlesen in einen Schlüsselspeicher (keytool
ermöglicht das importieren von Zertifikaten), aber es könnte ein Weg sein.In der worst-case-Szenario, re-generieren Sie die CSR mit Schlüssel, Werkzeug-und re-generieren Sie das SSL - /TLS-Zertifikate wieder - sollte es kommen keine extra Kosten.