7

さまざまな方法でjarに署名しましたが、次のコマンドを使用すると、上記のエラーメッセージが表示され続けます。

jarsigner -verify -verbose [my jar]

このエラーを取り除く方法はありますか?再認定されていない場合、コードは6か月後に機能しなくなりますか?

キーを生成してJarに署名するために使用されるコマンドのセット全体を次に示します。

keytool -genkey -keystore [keystore] -alias [alias] -validity 2000
keytool -selfcert -keystore [keystore] -alias [alias] -validity 2000
jarsigner -keystore [keystore] [jar] [alias]
4

1 に答える 1

14

このエラーを取り除く方法はありますか?

これはエラーではなく、警告です。これを回避する方法については、証明書の有効期限が6か月より長いことを確認してください。自己署名証明書の場合、これはキーを生成するときに正しいパラメーターを提供することです。これがkeytoolです。

keytool -genkeypair -dname "cn=Mark Jones, ou=Java, o=Oracle, c=US"
  -alias business -keypass <new password for private key> -keystore /working/mykeystore
  -storepass <new password for keystore> -validity 180

重要な部分は-validity 180です。その例では、180日、つまり約6か月です。1800を約5年間使用します。

再認定されていない場合、コードは6か月後に機能しなくなりますか?

ではない正確に。

  • 一部のシステムのユーザーは、証明書の有効期限が切れていることを警告され、証明書を受け入れる選択肢が提供されます。もしそうなら、それは通常通り動作します。例:「署名の有効期限が切れています」:
  • 他のシステムは、古い証明書を自動的に拒否するように構成されている場合があります。これらのマシンでは、コードが起動しないか、まれにロードされますが、サンドボックスが適用されている可能性があります。

ただし、開発しようとすると煩わしいので、すべてのJavaキャッシングをオフにしたと思いました。

テスト中のアプレットのキャッシュは大きな問題です。どうしても必要になるまで、ブラウザでアプレットをテストすることは避けようとしています。クラスをキャッシュしないアプレットをテストするために私が知っている2つの方法があります。

  1. AppletViewerを使用する
  2. ハイブリッドアプレット/アプリケーション
于 2012-05-01T22:45:23.780 に答える