次のJNLPファイルがあります。
<jnlp spec="1.0+" codebase="http://****:****" href="tcm2012.jnlp">
<information>
<title>TCM 2012</title>
<vendor>Drift og Performance, *** Servicecenter</vendor>
<homepage href="http://******"/>
<description/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+"/>
<jar href="tcm2012.jar"/>
</resources>
<application-desc main-class="com.****.kundeservice.TCMApplication"/>
</jnlp>
これで、Webから実行しようとすると、次のエラーが表示されます。
Found unsigned entry in resource
次の実行で
com.Sun.deploy.net.JARSigningException: Found unsigned entry in resource: http://*****:****/tcm2012.jar
at com.Sun.javaws.security.SigningInfo.getCommonCodeSignersForJar(Unknown Source)
at com.Sun.javaws.security.SigningInfo.check(Unknown Source)
at com.Sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source)
at com.Sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source)
at com.Sun.javaws.Launcher.prepareResources(Unknown Source)
at com.Sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.Sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.Sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.Sun.javaws.Launcher.launch(Unknown Source)
at com.Sun.javaws.Main.launchApp(Unknown Source)
at com.Sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.Sun.javaws.Main.access$000(Unknown Source)
at com.Sun.javaws.Main$1.run(Unknown Source)
at Java.lang.Thread.run(Unknown Source)
誰でもこの問題を修正する方法を知っていますか?
これは私のために働いた:
コントロールパネル/ Javaに移動します。
次に、「設定」ボタンをクリックし、「一時ファイルをコンピューターに保存する」オプションを有効にします。
変ですが、うまくいきました!
この問題は、新しいJavaバージョンで署名する場合、古いJavaバージョン。
符号アルゴリズムに互換性のない変更があるようです。
アプリケーションにも同様の問題がありました。
Java javawsでデプロイされたSwingアプリケーション:
すべてのjarファイル、MANIFEST.MFなどをチェックしましたが、すべて問題ありませんでした。最後に、新しいTSAエンドポイントを使用してjarに署名したことを発見しました。
このリソースから http://docs.Oracle.com/javase/7/docs/technotes/tools/windows/jarsigner.html 読みました時間を生成するにはスタンプ、jarsignerは、RFC 3161で定義されたタイムスタンププロトコル(TSP)を使用してTSAと通信します。成功すると、TSAから返されたタイムスタンプトークンは、署名ブロックファイルに署名とともに保存されます。
誰かがこの問題についてより多くの洞察を与えることができますか?特に、特定のTSAの使用を強制されたくありません。 TSAにこのような違いがあるのはなぜですか?ありがとう
linuxmaschine(JDK 6 U45を使用)でコンパイルするときに同じ問題が発生しました。しかし、私は署名したstartしようとしたときに、このエラーonlyを受け取りましたJava 6 U45。
newerJava-Version(たとえばJava 8)でアプリケーションを起動しようとすると、すべてOKでしたエラーメッセージなし。
windowsmaschineを使用してプロジェクトをコンパイルすると(6 Update 45でも)、Java 6 U45を開始します。
ちょうど私の2セント....乾杯!
私の場合、アプレットは実際にMETA-INFフォルダに未署名のエントリがありました。 )それを修正する1つの方法は、再署名することです。しかし、Java 8個の自己署名アプレットは demoted 署名なしのものとほぼ同じレベルでした。アプレットは追加の特権を必要としませんでした。 n-sign itおよび 信頼済みサイトのリストに追加 .