Ziel: Spring soll nur noch HTTPS Verbindungen zulassen.
Zuerst wird ein Zertifikat benötigt, falls keins vorhanden ist, kann eins mit folgenden Befehl erzeugt werden:
keytool -genkey -keyalg RSA -alias myselfsigned -storetype PKCS12 -keysize 2048 -keystore keystore.p12 -validity 360
Die Fragen, die das Tool stellt sind alle optional und können bei bedarf auch leer gelassen werden. Das Zertifikat ist 360 Tage gültig. Da es sich um ein selbst signiertes Zertifikat handelt, wird der Browser eine entsprechende Sicherheitswarnung ausgeben beim Aufruf.
Das erstellte Zertifikat keystore.p12 wird unter folgenden Pfad im Java-Projekt abgelegt:
/resources/ssl/keystore.p12
Nun muss noch die Spring properties-File angepasst werden:
server.port = 8443
server.ssl.key-store=src/main/resources/ssl/keystore.p12
server.ssl.key-store-password=MyS3cr3t-Passw0rd
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias=myselfsigned
Die Spring Anwendung ist nun ausschließlich als HTTPS Verbindung auf den Port 8443 erreichbar.
Hava a nice Day.