keytoolコマンド覚え書き

OpenJDKに付属するkeytoolコマンドの覚え書き。
keytoolは%JAVA_HOME%\bin\にあります。

自己署名証明書を作成する

各コマンドのtomcat<エイリアス名>です。

  • .keystoreファイルがユーザフォルダ(`C:\Users\<ユーザ名>)に作成される
keytool -genkey -alias tomcat -keyalg RSA -validity 36500
  • keystoreファイルを指定
  • SANあり
keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -validity 36500 -ext SAN=dns:sample.tomcat.local,ip:192.168.33.1 -keystore sample.keystore

作成したkeystoreファイルの中身を確認

作成した.keystoreファイルに任意のエイリアス名があるか確認したい場合。
以下のコマンドを実行し、出力にエイリアス名があるか確認します。

keytool -list -v -keystore <.keystoreファイル>

Javaに証明書を追加

JavaのモジュールがSSL通信を行う際、自己証明書を使ったSSL通信ではエラーになります。
この通信を許可するためには、JDKのキーストアに自己証明書をインポートする必要があります。

追加(-import)と削除(-delete)は管理者権限のコマンドプロンプトでしか実行できません。

キーストアに証明書をインポートする

このインポート処理が一番使うかな。

keytool -import -trustcacerts -file <CRTファイル> -keystore "%JAVA_HOME%\lib\security\cacerts" -alias <エイリアス名>

キーストア全体の内容を出力する

keytool -list -v -storepass changeit -keystore "%JAVA_HOME%\lib\security\cacerts"

ファイルに出力

keytool -list -v -storepass changeit -keystore "%JAVA_HOME%\lib\security\cacerts" > keystore.txt

エイリアス名で特定されるキーストアエントリの内容を表示

keytool -list -v -storepass changeit -keystore "%JAVA_HOME%\lib\security\cacerts" -alias <エイリアス名>

エイリアス名によって特定されるエントリをキーストアから削除する

keytool -delete -alias <エイリアス名> -keystore "%JAVA_HOME%\lib\security\cacerts"
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

スポンサードリンク

関連コンテンツ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です