DigiCert証明書の正規代理店株式会社アールエムエス
DigiCertコードサイニング証明書 サポート
180か国以上・80,000以上の団体が利用
  1. ホーム
  2. コードサイニング証明書
  3. サポート
  4. Java Code署名方法

Java Code署名方法

本ページに記載されている手順は環境により異なる場合があり、実際の動作を保証するものではありません。
アプリケーションやツールなどの仕様や設定手順等でご不明な点がある場合は、それらのマニュアルをご確認いただくか、提供元にご連絡ください。
※この手順によって生じた影響や結果について、弊社では一切の責任は負いかねます。

Java Code .jarには、以下の手順で署名します。

  1. JDKのインストール
  2. キーストアの作成、CSRの生成
  3. 証明書のオーダー
  4. DigiCert コードサイニング証明書のインストール
  5. Jarsignerを使って署名
  6. jarsigner -verifyを使って署名の確認

1.Java Development Kit (JDK)のインストール

  1. Java SE Downloadsから最新版をダウンロードしインストールします。
    ※このサイトではJavaScriptが必須ですので、予めブラウザの設定を「JavaScript有効」にしておいてください。
  2. コマンドプロンプトでの作業が必要になりますので、利用マシンの環境変数のパスにJDK binディレクトリを加えてください。(JDK binディレクトリは"C:\Program Files\Java\jdk1.8.0_xx\bin"等ですが、JDKのインストール状態によって異なります。)
    ※あるいは都度JDK binフォルダーに移動してコマンドを実行することもできます。
    いずれの場合も新しく作成されるファイルが、コマンド実行者権限で書き込み可能なディレクトリを指定していることを確認してください。

2.キーストアの作成・CSRの生成

CSRの作成方法は、Java環境でSSLサーバー証明書を利用する場合と同一の手順です。ウィザードを利用する方法はJava keytool で CSR を作成するを参照してください。

コマンドプロンプトでの手順は以下の通りです。

  1. 以下のコマンドを実行します。
    C:\> keytool -genkey -alias server -keyalg RSA -keysize 2048 -keystore keystore.jks
  2. 以下墨文字がプロンプト、青の文字が入力すべき情報です。
    コードサイニング証明書ではSSLサーバ証明書の場合と違い、ここで入力される情報ではなくオーダーフォームで入力された組織情報が利用されます。
    Enter keystore password:パスワードを設定します
    Re-enter new password:設定したパスワードを再入力します
    What is your first and last name?
     [Unknown]:  コモンネーム、FQDN(完全修飾ドメイン名)を再入力します
    What is the name of your organizational unit?
     [Unknown]:  部署名を入力します
    What is the name of your organization?
     [Unknown]:  組織名を入力します
    What is the name of your City or Locality?
     [Unknown]:  都市名を入力します
    What is the name of your State or Province?
     [Unknown]:  都道府県名を入力します
    What is the two-letter country code for this unit?
     [Unknown]:  USJP を入力します
    Is CN=YourCompanyName or Firstname Lastname, OU=YourDepartment, 
    O=YourCompanyName or Firstname Lastname, L=YourCity, ST=YourState, C=US correct?
     [no]:  上記で入力結果が正しい場合 yes を入力します
    Enter key password for <server>
     (RETURN if same as keystore password):Enter を入力します
    
    ※最終行で「Enter を入力」することでキーパスワードがキーストアパスワードと同じになります。
  3. 上記手順で keystore.jks Java キーストアファイルができます。
  4. 以下のコマンドを実行し、CSRを作成します。

    C:\> keytool -certreq -alias server -file csr.csr -keystore keystore.jks
    Enter keystore password:上記 2 で決めたパスワードを入力します
    
  5. 秘密鍵ファイル keystore.jks と csr.csr が作成されます。
注意: keystore.jks ファイルは削除しないようにしてください。削除されるとコードサイニング証明書がインストールできません。
また、上記過程で決めたパスワードは忘れないようにしてください。コードサイニング証明書のインストール、コードへの署名にパスワードが必要です。

3.DigiCertコードサイニング証明書をオーダーする

  1. オーダーフォームから証明書をオーダーしてください。
  2. 先の手順で作成した csr.csr ファイルをテキストエディタで開き、全ての内容を info@rms-digicert.ne.jp までお送りください。

4.DigiCertコードサイニング証明書をインストールする

.p7b形式のDigiCertコードサイニング証明書をお送りしますので以下の手順でインストールしてください。

  1. 以下のコマンドを実行してください。
    C:\> keytool -import -trustcacerts -alias server -file YourName.p7b -keystore keystore.jks
    
    ・「-alias server」「keystore.jks」には keytool -certreq コマンドを実行時に使った値を指定してください。
    ・「YourName.p7b」にはお送りしたDigiCertコードサイニング証明書をフルパスで指定してください。
  2. コマンドが成功すると、証明書がインストールされたことが表示されます。表示は環境によって異なります。
    作業中、証明書を信頼するかを尋ねられることがあります。その場合は、環境に応じ「はい」「y」「yes」のどれかを入力してください。

5.Java .jar ファイルに署名する(Jarsignerを使って署名)

  1. 以下のコマンドを実行し .jar ファイルに署名してください。
    C:\> jarsigner -tsa http://timestamp.digicert.com -keystore c:\path\to\your\keystore.jks -storepass YourPassword c:\path\to\your\file.jar YourAlias
    
    ・「c:\path\to\your\keystore.jks」にはキーストア名をフルパスで指定してください。
    ・「YourPassword」には keytool -certreq コマンドを実行時に指定したパスワードを指定してください。
    ・「c:\path\to\your\file.jar」には署名対象の.jar ファイル名をフルパスで指定してください。
    ・「YourAlias」には keytool -certreq コマンドを実行時に使った alias の値を指定してください。
  2. 署名が成功した場合、コマンドは何の結果も表示しないことがあります。

6.jarsigner -verifyを使って署名の確認

以下のコマンドを実行し .jar ファイルに署名されていることを確認できます。

C:\> jarsigner -verify -verbose -certs c:\path\to\your\file.jar

署名されている場合、以下のような検証結果が表示されます。
検証結果

デジタル証明書ニュース
digicert.comトピックス&ニュース