注: この Java 配備ガイドでは、Java SE 6 update 10 リリースより前にリリースされた機能について説明します。最新情報については、Java Rich Internet Application の開発および配備を参照してください。
.cab
ファイルを .jar
ファイルとして再パッケージ化すると、Java™ Runtime Environment (JRE™) 内で実行するアプレットの署名がなくなる。署名済みの .cab
ファイルを .jar
ファイルとして再パッケージすると、Sun JRE で実行中のアプレットが未署名として扱われます。ところが、.cab
ファイルとしてパッケージされた同じアプレットは、Microsoft Virtual Machine (VM) では署名済みとして実行されます。
Microsoft では、独自の Authenticode および .cab
ファイルテクノロジによるアプレットの署名をサポートしています。署名情報は再パッケージの処理中に失われます。その結果、Sun JRE 実装では .jar
ファイルを未署名として扱います。
Java Development Kit (JDK) の jarsigner
ツールを使って .jar
ファイルに署名するには、次の方法を使用します。
keytool
コマンドと別名を使用して、証明書をキーストアにインポートします。たとえば、次のコマンドを入力します。
C:\>C:\jdk1.6.0\bin\keytool -import -alias MyCert -file VSSStanleyNew.cer
jarsigner
コマンドを入力して、.jar
ファイルに署名します。その際、前の手順で生成されたキーストアの RSA 証明書を使用します。指定された別名が同じであることを確認してください。たとえば、次のコマンドを入力します。
C:\>C:\jdk1.6.0\bin\jarsigner C:\TestApplet.jar MyCert上記のコマンドを入力すると、次の応答が表示されます。前の手順でキーストアの資格の生成中に指定したパスフレーズを入力します。
Enter Passphrase for keystore:キーストアの資格の生成中に指定したパスフレーズを入力します。
jarsigner -verify -verbose -certs
」を使用して、.jar
ファイルを検証します。
C:>C:\jdk1.6.0\bin\jarsigner -verify -verbose -certs d:\TestApplet.jar 245 Wed Mar 10 11:48:52 PST 2000 META-INF/manifest.mf 187 Wed Mar 10 11:48:52 PST 2000 META-INF/MYCERT.SF 968 Wed Mar 10 11:48:52 PST 2000 META-INF/MYCERT.RSA smk 943 Wed Mar 10 11:48:52 PST 2000 TestApplet.class smk 163 Wed Mar 10 11:48:52 PST 2000 TestHelper.class X.509, CN=XXXXXXX YYY, OU=Java Software, O=Sun Microsystems, L=Cupertino, ST=CA, C=US (mycert) X.509, CN=Sun Microsystems, OU=Java Plug-in QA, O=Sun Microsystems, L=Cupertino, ST=CA, C=US X.509, EmailAddress=server-certs@thawte.com, CN=Thawte Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA s = signature was verified m = entry is listed in manifest k = at least one certificate was found in keystore i = at least one certificate was found in identity scope jar verified.
証明書の取得方法については、VerSign による「Code Signing」、または Thawte による「code-signing certificate support」を参照してください。
アプレットに署名する方法の詳細については、「RSA 証明書を使用したアプレットの署名」を参照してください。