はじめに
IntelliJでJava SpringBootのWebページを作成で作成したWebアプリケーションをHTTPS化していきます。
手順
鍵ファイルの作成
以下のコマンドを実行して、local.keystoreという鍵ファイルを作成します。
$ keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore local.keystore -validity 3650
キーストアのパスワードを入力してください:
新規パスワードを再入力してください:
姓名は何ですか。
[Unknown]: localhost
組織単位名は何ですか。
[Unknown]:
組織名は何ですか。
[Unknown]: ykdevs
都市名または地域名は何ですか。
[Unknown]: Yokohama
都道府県名または州名は何ですか。
[Unknown]: Kanagawa
この単位に該当する2文字の国コードは何ですか。
[Unknown]: JP
CN=localhost, OU=Unknown, O=ykdevs, L=Yokohama, ST=Kanagawa, C=JPでよろしいですか。
[いいえ]: はい
application.ymlに鍵ファイルの設定を登録
main/resourcesの配下にapplication.ymlを作成します。
先程作成した鍵ファイルの名前とパスワードを設定します。
パスワードは環境変数から読めるようにしておきます。
application.yaml
server:
port: 8443
ssl:
key-store: local.keystore
key-store-password: "${KEY_STORE_PASSWORD}"
keyStoreType: PKCS12
keyAlias: tomcat
IntelliJの環境変数設定
KEY_STORE_PASSWORDはIntelliJのProjectのProfile設定から環境変数として足しておきます。
アプリケーションを起動
セルフサイン証明書のためエラーとして警告されてしまう。
証明書をダウンロードする。
ダウンロードした証明書をダブルクリックしてKeyChainへの追加を行う。
登録した証明書を常に信頼する。
ページが表示できるようになる。