LoginSignup
0
0

自己証明書を発行しSpringBootで使用する

Last updated at Posted at 2024-03-16

概要

いわずと知れた、いわゆるオレオレ証明書の発行手順を
数年周期でなにかしらで必要になるけれども、どうやって作るかを毎回忘れてしまうので備忘録として残しておきます
また証明書の使い方としてSpringBoot設定を例として記載しておきます

実行環境

Windows11

自己証明書発行

方針としてはKeyToolから証明書を発行し、SpringBootで使用する

KeyToolの準備

Java SDKに同胞されているkeyToolを使用したいため
インストールされてなければ下記とかからjdkをダウンロードしインストールする
https://www.oracle.com/java/technologies/downloads/#jdk21-windows

SSL証明書の発行

上記でインストールしたJavaJDKフォルダのkeytoolのあるディレクトリに移動
※コマンドプロンプトは管理者で開く

>cd C:\Program Files\Java\jdk-21\bin

keytoolを実行する 
※引数の有効期間、証明書のファイル名は任意

>keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650

いろいろ聞かれるが、パスワード以外はすべてEnterで、最後のみ「y」で入力

RSA -keysize 2048 -keystore keystore.p12 -validity 3650
キーストアのパスワードを入力してください:
新規パスワードを再入力してください:
識別名を入力します。サブコンポーネントを空のままにする場合はドット(.)を1つ入力し、中カッコ内のデフォルト値を使用する場合は[ENTER]を押します。
姓名は何ですか。
  [Unknown]:
組織単位名は何ですか。
  [Unknown]:
組織名は何ですか。
  [Unknown]:
都市名または地域名は何ですか。
  [Unknown]:
都道府県名または州名は何ですか。
  [Unknown]:
この単位に該当する2文字の国コードは何ですか。
  [Unknown]:
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknownでよろしいですか。
  [いいえ]:  y

下記のように生成しましたメッセージが表示され
実行フォルダに証明書ファイル(keystore.p12)が作成される

3,650日間有効な2,048ビットのRSAのキー・ペアと自己署名型証明書(SHA384withRSA)を生成しています

SpringBootに設定する

証明書ファイル(keystore.p12)を配置し
「application.properties」ファイルに書きのように証明書の読みこみ設定を追記する

# 接続ポート番号(任意のポート名)
server.port=9443

# SSL証明書を保持するキーストアへのパス(※作成したkeystoreのパス+ファイル名)
server.ssl.key-store=keystore.p12
# キーストアにアクセスするためのパスワード(証明書発行時に設定したパスワード)
server.ssl.key-store-password=xxxxx
# キーストアのタイプ
server.ssl.key-store-type=PKCS12
# キーストア内のキーを識別するエイリアス
server.ssl.key-alias=tomcat

※上記の場合はプロジェクトのルートフォルダに配置、JAR配布の場合はJARと同一フォルダに配置

下記のようなURLでアクセスする

https://localhost:9443/xxxx

参考

https://jp.globalsign.com/support/ssl/confinfo/rootcert-import-java.html
https://blog.fire-sign.info/1695/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0