この記事で作成したTLS証明書をSpring Bootに設定します。
試した環境は
- Spring Boot 2.0.1.RELEASE
- Spring WebFlux (Reactor Netty)
です。
証明書は/tmp/
以下で作成した想定です。
証明書をpks12形式にExportしたのち、KeystoreにImportします。
次のコマンドを実行してください。changeme
は変えてください。
openssl pkcs12 -export \
-name hello-pks \
-in /tmp/127-0-0-1.sslip.io.crt \
-inkey /tmp/127-0-0-1.sslip.io.key \
-out /tmp/keystore.p12 \
-password pass:foobar
keytool -importkeystore \
-destkeystore /tmp/keystore.jks \
-srckeystore /tmp/keystore.p12 \
-deststoretype pkcs12 \
-srcstoretype pkcs12 \
-alias hello-pks \
-deststorepass changeme \
-destkeypass changeme \
-srcstorepass foobar \
-srckeypass foobar \
-noprompt
Spring Bootのapplication.properties
に次のように設定します。
server.port=8443
server.ssl.enabled=true
server.ssl.protocol=TLSv1.2
server.ssl.key-store=file:///tmp/keystore.jks
server.ssl.key-store-type=PKCS12
server.ssl.key-alias=hello-pks
server.ssl.key-password=changeme
server.ssl.key-store-password=changeme
これでTLS対応完了です。
https://hello.apps.127-0-0-1.sslip.io:8443にアクセスしてください(127.0.0.1
で解決されます)。