プログラミング

Macでオレオレ証明書を作ってSpring BootでHTTPSを使ってみる

-プログラミング

はじめに

仕事でSSL対応(いまさら)が必要になったので、
久しぶりに自己署名証明書(いわゆるオレオレ証明書)を作って検証用にローカル環境でHHTPS接続環境を作成
備忘録がてら手順をメモ
※Spring Bootの説明は省きます。

今回はJavaに付属している「keytool」を使用し証明書を作成します。

証明書の作成は、こちらのサイトを参考にさせていただきました。
go-journey.club

keytoolについては、以下のサイトを参考にしてください。
docs.oracle.com

1.オレオレ証明書の作成

Java version:open-jdk11.0.1
f:id:sya_mu-neco:20190513233952p:plain

keytool を使用してキーストアを作成
・alias:任意の名前
・keystore:任意のディレクト

$keytool -genkey -alias mykey -keyalg RSA -keystore /Users/xxx/Documents/prpgram/SSL/mykey.jks

コマンドを実行するといくつか質問されるので入力していきます。
今回は
パスワード:passwd
としました。
それ以外は、ブランクでOKです
最後に「y」で証明書を作成します。

例:
f:id:sya_mu-neco:20190513235404p:plain

 

出力先にファイルが作成されます。
f:id:sya_mu-neco:20190513235503p:plain

2.Springの設定

作成した証明書をプロジェクト直下へ配置します。
f:id:sya_mu-neco:20190514000226p:plain

application.propertiesの修正
以下はコマンドそのままで作成をした場合の例です。
port:任意
server.ssl.key-store:証明書ファイル名
server.ssl.key-store-password:登録したパスワード
server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: コマンドで指定したエイリアスの名前

server.port: 8443
server.ssl.key-store: mykey.jks
server.ssl.key-store-password:passwd
server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: mykey

例:
f:id:sya_mu-neco:20190514000711p:plain

3.SSL接続確認

プロジェクトを実行(サーバを稼働)してlocahostへHTTPS接続

https://localhost:8443/

Chromeの場合、警告ページが表示されます。
詳細設定からサイトへアクセスします。
f:id:sya_mu-neco:20190514001139p:plain:w500

HTTPSでサイトにアクセスできれば完了です。
私の場合、すでにサンプルアプリを作っているので以下のようになりました。

f:id:sya_mu-neco:20190514001237p:plain

まとめ

オレオレ証明書の作成からHTTPS接続は思った以上に簡単にできます。
ローカルでとりあえず試したいときは便利です。

-プログラミング