--- title: OpenSSLで作成したTLS証明書をSpring Bootアプリに設定 tags: ["Spring Boot", "TLS", "Spring WebFlux", "Netty"] categories: ["Programming", "Java", "org", "springframework", "boot"] date: 2018-04-17T09:29:53Z updated: 2018-04-20T11:46:40Z --- [この記事](https://blog.ik.am/entries/449)で作成した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`に次のように設定します。 ``` proprties 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](https://hello.apps.127-0-0-1.sslip.io:8443)にアクセスしてください(`127.0.0.1`で解決されます)。 ![image](https://user-images.githubusercontent.com/106908/38861321-408bbc60-426d-11e8-8a96-a25a8ca84c5c.png)