📝 BLOG.IK.AM

@making's memo
(🗃 Categories 🏷 Tags)

OpenSSLで作成したTLS証明書をSpring Bootアプリに設定

🗃 {Programming/Java/org/springframework/boot}

🏷 Netty 🏷 Spring Boot 🏷 Spring WebFlux 🏷 TLS

🗓 Updated at 2018-04-20T20:46:40+09:00 by Toshiaki Maki  🗓 Created at 2018-04-17T18:29:53+09:00 by Toshiaki Maki  {✒️️ Edit  ⏰ History}


⚠️ Caution: This content is a bit old. Please be careful to read.

この記事で作成した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で解決されます)。

image