署名にはJDK付属のツール(jarsigner)を利用します。
jarsignerコマンドは、"%JAVA_HOME%/bin"ディレクトリに配置されています。
一般的な署名コマンドは以下のようになります。(赤字の部分はお客様のエイリアス名・ファイル名などに置き換えてください。)
署名コマンド例
jarsigner -keystore KeystoreFileName -tsa ※タイムスタンプのURL FileName.jar AliasName
※-tsa オプションはタイムスタンプを付加するためのオプションになります。
(現状では、タイムスタンプの有無による挙動の違いはないようです。)
署名を検証する場合は、次のコマンドを実行します。
検証コマンド例
jarsigner -verify -verbose -certs FileUploadApplet.jar
このほかの詳細な情報に関してはORACLE社のWEBページをご確認ください。
※JRE 1.7.0_51 以降では、AppletおよびWeb Startの実行にJARファイルに対するデジタル署名とManifest内にPermissions属性の設定が必要になります。こちらの詳細については、Oracle社の資料をご確認ください。
タイムスタンプURLについて
署名ハッシュアルゴリズムSHA256のコードサイニング証明書(EVコードサイニング証明書)をご利用の場合は、タイムスタンプを「R3ルート用」と「R6ルート用」の2種類よりお選びいただけます。 R3ルート用とR6ルート用は、ルート搭載率(検証可能な環境)・有効期限・署名ハッシュアルゴリズム等に違いがあります。
ご利用の環境に応じて、いずれかのタイムスタンプをご利用ください。それぞれのタイムスタンプの詳細につきましては、下記の表をご参照ください。
R3ルート用 | R6ルート用 | |
---|---|---|
タイムスタンプURL | http://rfc3161timestamp.globalsign.com/advanced | http://timestamp.globalsign.com/tsa/r6standard1 |
ルート搭載環境 (署名検証可能環境) | JDK8 以降 | JDK12 以降 |
署名ハッシュアルゴリズム | SHA256 | SHA384 |
こちらのタイムスタンプにて署名を行うためには、JDK(jarsigner)8u101以降のバージョンが必要となります。
上記バージョン未満のJDK(jarsigner)をご利用の場合は、Oracle社ページより最新のJDKをご用意ください。