1

JRE を 1.7 update45 に更新した後、Eclipse(3.6) Web Start アプリケーションを起動できなくなりました。それを解決するために、jar のマニフェストに次のセキュリティ属性を追加しようとしました。

  • 権限: すべての権限
  • コードベース: *
  • アプリケーション名: アプリケーション

しかし、Eclipse JAR (署名付き JAR) のマニフェストを変更し、独自の証明書を使用して辞任した後、起動時に例外がポップアップ表示されます:マニフェストのメイン属性の無効な署名ファイル ダイジェスト

私の質問は次のとおりです。

  1. Java 1.7_45 を使用する場合、これらのセキュリティ属性をすべてのアプリケーション JARS (Eclipse JARS を含む) のマニフェストに追加することは必須ですか?

  2. 必須の場合、これらの属性を Eclipse JARS に追加するにはどうすればよいですか? Eclipse JARS は既に署名されているため、マニフェストを簡単に変更することはできません。

誰でも私を助けることができますか?

4

1 に答える 1

1

最初の質問:

  1. 自己署名する場合は、独自のキーストアを作成し、それを使用して .jars に署名するように Eclipse に指示する必要があります。そうすれば、必要なマニフェスト属性を追加するときに、同じキーストアを再利用して .jar を再署名できます。生成されたキーストアを使用して自己署名するように Eclipse に指示しないでください。このページの半分ほど下に、独自のキーストアを作成する方法の説明があります (注: これは一時的な修正としてのみ機能するはずです。自己署名アプリから離れてください。この投稿の下部をお読みください)。
  2. 私は間違っているかもしれませんが、テキスト エディターを介してマニフェスト属性を追加している場合、それは機能しません。理由はわかりませんが、テキスト エディタで追加しようとしましたが、うまくいきませんでした。追加する必要があるものをテキスト ファイルに配置jar ufm dist\myApp.jar addToManifest.txtし、コンソールのコマンドを使用してマニフェスト属性を追加する必要があります。

あなたの質問ではありませんが、重要です:

自己署名鍵は 7u25 で非推奨になりました。あなたが企業で働いているか、ソフトウェアを使用するクライアントがいる場合は、認証局からの署名付き証明書が必要であると伝えます。中小企業であっても、証明書にかかる少額の費用を支払う余裕があるはずです。そして、あなたが(私のような)複数のクライアントを持つ請負業者である場合、それは非常に価値があります. 実際、将来的には義務化されるでしょう。だから、弾丸をかみます。

編集: マニフェスト属性を追加して再署名する方法の詳細については、このスレッドにアクセスしてください: JNLP アプリで「コードベース、アクセス許可、およびアプリケーション名のマニフェスト属性が見つかりません」を修正するにはどうすればよいですか? . ただし、Eclipse 以外で生成されたキーストアが必要になります。

于 2013-10-31T12:40:19.273 に答える