keytoolで自己証明書を作成する方法


OpenSSLで作成したPEM形式の証明書をJavaのkeytoolのキーストア(JKS)に変換する方法」では

  • openssl genrsa -aes256 -passout pass:keypass -out key.pem 2048
  • openssl req -new -key key.pem -out csr.pem -subj "/C=JP/ST=KANAGAWA/L=YOKOHAMA/O=SAMPLE CORP/OU=DEV1/CN=yasushi.local" -passin pass:keypass
  • openssl x509 -req -in csr.pem -passin pass:keypass -out cert.pem -signkey key.pem -days 366 -sha256
  • openssl pkcs12 -export -in cert.pem -name test -inkey key.pem -passin pass:keypass -out keystore.p12 -passout pass:storepass

のコマンドで自己証明書を作成し、PKCS12形式のキーストアに格納しました。

keytoolコマンドでは以下のコマンドで、同様に自己証明書を作成し、PKCS12形式のキーストアに格納することができます。

keytool -genkeypair -alias <エイリアス名> -keyalg <鍵ペアのアルゴリズム> -keysize <鍵のサイズ> -sigalg <署名アルゴリズム> -dname <識別名> -validity <有効日数> -storetype <キーストアのタイプ> -keystore <キーストアのファイル名> -storepass <キーストアのパスワード>

実行結果
[root@CENTOS7 test3]# keytool -genkeypair -alias test -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -dname "cn=yasushi.local, ou=DEV1, o=SAMPLE CORP, l=YOKOHAMA, st=KANAGAWA, c=JP" -validity 366 -storetype PKCS12 -keystore keystore.p12 -storepass storepass
366日間有効な2,048ビットのRSAのキー・ペアと自己署名型証明書(SHA256withRSA)を生成しています
        ディレクトリ名: CN=yasushi.local, OU=DEV1, O=SAMPLE CORP, L=YOKOHAMA, ST=KANAGAWA, C=JP
[root@CENTOS7 test3]# ls -l
合計 4
-rw-r--r-- 1 root root 2587  7月 11 23:21 keystore.p12
[root@CENTOS7 test3]#

以上