3

Java Web Start アプリケーションを実行しています。アプリケーションのデジタル署名の有効期限が切れているためです。CA から署名を購入し、storetype を pkcs12 として使用して jar ファイルに署名しました。

JNLP ファイルで使用されるすべての jar に署名した後、アプリケーションを開始します。それでもセキュリティ警告ポップアップが表示され、「アプリケーションのデジタル署名の有効期限が切れています」というメッセージが表示されます。ポップアップから「詳細情報」リンクをクリックして読むと、「アプリケーションの一部にデジタル署名がありません。また、アプリケーションの関連ファイル (JNLP) にはデジタル署名がありません」と表示されます。

だから私は私のJNLPファイルにも署名する予定です。JNLP ファイルに署名するには、このリンクをたどりました。資料より

「署名付き JNLP ファイルを作成するには、JNLP ファイル自体に署名しませんが、JAR ファイルを作成してから署名する前に、ディレクトリ構造内に JNLP ファイルを含めます。JNLP ファイルは APPLICATION.JNLP という名前にする必要があり、 JNLP-INF サブディレクトリ」

ドキュメントとして、「JNLP-INF」という名前のフォルダーを追加し、「APPLICATION.JNLP」という名前のファイルを追加しました。

ここに私のフォルダ構造があります

トムキャット

  webapps

         application_name(xxxx)

                      Client-lib ( all the jars inside is signed)
                      JNLP-INF ( has APPLICATION.JNLP)
                      META-INF
                      WEB-INF
                      client.jnlp
                      index.html

build.xml で、test.jnlp を /JNLP-INF/APPLICATION.JNLP にコピーし、jar ファイルに署名します。

それでも、「アプリケーションのデジタル署名の有効期限が切れています」というセキュリティポップアップの警告メッセージが表示されます

どんな助けでも大歓迎です。

ありがとう

4

4 に答える 4

0

私がこれについて正しく、あなたのことを正しく理解している場合は、あなたの/JNLP-INF/APPLICATION.JNLP中に入れて.jar署名する必要があります。その後、カスタムの場所にコピーして起動します。これは役立つはずです。

それ自体は署名されていませんが、そのコピーは署名された内部.jnlpと照合できますAPPLICATION.JNLP .jar

于 2014-01-17T10:41:37.013 に答える
0

アプレットとアプリケーションのすべてのキャッシュをクリーンアップしたことを確認してください。これを行うには、コントロール パネル -> Java -> インターネット一時ファイル -> 設定 -> ファイルの削除 -> キャッシュされたアプリケーションとアプレットとインストール済みのアプリケーションとアプレットのチェック ボックスをオンにします。

これにより、キャッシュがクリアされ、サービスが開始され、jar の署名が確認されます。

ありがとう

于 2013-12-11T19:02:47.387 に答える
0

JNLP に署名しても役に立たないと思います。代わりに、アプリケーションのすべての jar を再署名する必要があります。

于 2013-12-11T19:03:54.887 に答える