[USBトークンを使用しない場合]Object signing用 Javaコードへの署名方法

  1. GMOグローバルサインサポート
  2. コードサイニング証明書サポート情報
  3. コードサイニング証明書設定
  4. [USBトークンを使用しない場合]Object signing用 Javaコードへの署名方法
最終更新:2024年02月08日

署名にはJDK付属のツール(jarsigner)を利用します。jarsignerコマンドは、"%JAVA_HOME%/bin"ディレクトリに配置されています。
一般的な署名コマンドは以下のようになります。(赤字の部分はお客様のエイリアス名・ファイル名などに置き換えてください。)

※弊社では以下の手順にて動作検証をおこなった際の一例をご紹介しており、動作を保証するものではございません。本手順について内容の変更等や誤りがあった場合、弊社では一切の責任を負いかねることを予めご了承ください。詳細は各ツールのドキュメント等をご参照ください。
※アプリケーション提供元にてサポートが終了している場合、正常に動作しない可能性があります。

署名ハッシュアルゴリズムSHA256のコードサイニング証明書をご利用の場合は、以下のタイムスタンプをご利用いただくようご案内しております。

R3ルート用 http://timestamp.globalsign.com/tsa/advanced
R6ルート用 http://timestamp.globalsign.com/tsa/r6advanced1

こちらのタイムスタンプにて署名を行うためには、JDK(jarsigner)8u101以降のバージョンが必要となります。上記バージョン未満のJDK(jarsigner)をご利用の場合は、Oracle社ページより最新のJDKをご用意ください。
署名に使用する証明書は、Windowsの証明書ストアからエクスポートいただく必要があります。手順は以下をご覧ください。
Windows環境で証明書をエクスポートするには

取得したPKCS12形式の証明書ファイルをJDKのbinフォルダに保存します。
例えば以下のようなディレクトリとなりますが、環境に応じて適宜読み替えてください。

C:\Program Files\Java\jdk1.8.0_111\bin

コマンドプロンプトを実行します。

JAVA JDKのbinフォルダに移動します。

cd C:\Program Files\Java\jdk1.8.0_111\bin

Keytool で PFX(.p12) ファイルの読み込みができるかご確認ください。

コマンド例
keytool -list -v -storetype pkcs12 -keystore FileName.pfx

また、次の署名コマンドで使用するため、AliasName(別名)をコピーしておきます。

.jarファイルに署名します。
JAVA SDKのbinディレクトリ(C:\Program Files\Java\jdk1.8.0_111\bin)にて、以下の署名コマンドを実行します。

署名コマンド例
jarsigner -storetype pkcs12 -tsa タイムスタンプのURL -keystore FileName.pfx FileName.jar "AliasName"

なお、署名を検証する場合は、以下のコマンドを実行します。

署名検証コマンド
jarsigner -verify -verbose -certs FileName.jar

タイムスタンプURLについて

署名ハッシュアルゴリズムSHA256のコードサイニング証明書(EVコードサイニング証明書)をご利用の場合は、タイムスタンプを「R3ルート用」と「R6ルート用」の2種類よりお選びいただけます。 R3ルート用とR6ルート用は、ルート搭載率(検証可能な環境)・有効期限・署名ハッシュアルゴリズム等に違いがあります。
ご利用の環境に応じて、いずれかのタイムスタンプをご利用ください。それぞれのタイムスタンプの詳細につきましては、下記の表をご参照ください。

R3ルート用R6ルート用
タイムスタンプURLhttp://timestamp.globalsign.com/tsa/advancedhttp://timestamp.globalsign.com/tsa/r6advanced1
ルート搭載環境
(署名検証可能環境)
JDK8 以降JDK12 以降
署名ハッシュアルゴリズムSHA256SHA384

お気軽にお問い合わせください

音声ガイダンスが流れましたら、お問合わせの内容により以下の番号をプッシュしてください。

  1. 証明書のお申し込み、更新及びパスワードのお問い合わせ
  2. インストールなどの技術的なお問い合わせ
  3. 審査及び進捗確認に関するお問い合わせ
  4. お支払い、経理書類に関するお問い合わせ
  5. その他のお問い合わせ(5を押した上で、以下の番号をお選びください。)
    1. パートナー契約に関するお問い合わせ
    2. 採用に関するお問い合わせ
    3. 総務へのご連絡