(追記) 2023年5月31日(水) 日本時間より、CSRを添付して申請したコードサイニング証明書オーダに対する証明書の発行を終了いたします。 詳細はEVコードサイニング証明書、およびコードサイニング証明書の変更、 およびトークンの取り扱いについて(2023年5月) を参照ください。 |
コードサイニング証明書for Javaを取得しました。
jarsignerでの署名方法を教えてください。
必ずお読みください
|
キーストア名 | keystore.jks |
エイリアス名 | code_cert |
キーストアパスワード | spassword |
# keytool -genkey -alias code_cert -keyalg RSA -keysize 3072 -keystore keystore.jks -storepass spassword |
姓名は何ですか。 [Unknown]: Sample K.K. 組織単位名は何ですか。 [Unknown]: Tech Support 組織名は何ですか。 [Unknown]: Sample K.K. 都市名または地域名は何ですか。 [Unknown]: Chuo-ku 都道府県名または州名は何ですか。 [Unknown]: Tokyo この単位に該当する2文字の国コードは何ですか。 [Unknown]: JP CN=Sample K.K., OU=Tech Support, O=Sample K.K., L=Chuo-ku, ST=Tokyo, C=JPでよろしいですか。 [いいえ]: y 90日間有効な2,048ビットのRSAのキー・ペアと自己署名型証明書(SHA256withRSA)を生成しています ディレクトリ名: CN=Sample K.K., OU=Tech Support, O=Sample K.K., L=Chuo-ku, ST=Tokyo, C=JP |
# keytool -certreq -alias code_cert -file csr.txt -keystore keystore.jks キーストアのパスワードを入力してください: spassword |
上記の例の場合、csr.txt というCSRファイルが作成されます。
申請時にこのCSRファイルアップロードするか、メモ帳などで開いてテキストを張り付けて申請します。
CSRを作成したキーストアに、発行された証明書をインストールする必要があります。
# keytool -import -trustcacerts -alias code_cert -keystore keystore.jks -file Sample_K_K.p7b キーストアのパスワードを入力してください: spassword |
# keytool -list -v -keystore keystore.jks |
jarsigner -verify -verbose -certs sample.jar <省略> jarは署名されていません。 |
jarsigner -tsa http://timestamp.digicert.com -keystore keystore.jks sample.jar code_cert |
jarsigner -verify -verbose -certs sample.jar <省略> - 署名者: "CN=Sample K. K., O=Sample K. K., L=Chuo-ku, ST=Tokyo, C=JP" ダイジェスト・アルゴリズム: SHA-256 署名アルゴリズム: SHA256withRSA、2048ビット・キー タイムスタンプ付加者: "CN=DigiCert Timestamp 2021, O="DigiCert, Inc.", C=US" 日時: 水 1月 27 05:48:03 UTC 2021 タイムスタンプのダイジェスト・アルゴリズム: SHA-256 タイムスタンプの署名アルゴリズム: SHA256withRSA、2048ビット・キー jarが検証されました。 署名者の証明書は2022-02-02に期限切れになります。 タイムスタンプは2031-01-06に期限切れになります。 |
USBトークンを利用した署名については以下を参照ください(なお、USBトークン名称が日本語の場合エラーとなりますので証明書の組織名=コモンネームを日本語にした場合、英語表記で再度申請してください)。
Signing Java .jar Files with a Hardware Token in Windows
https://www.digicert.com/kb/code-signing/java-ev-code-signing-certificate.htm
JDKに関する詳しい使い方などは、オラクル社のWebサイトを確認ください。