クライアントのローカル ファイル システムにアクセスする必要がある Java アプレットがあります。自分用の簡単な証明書を作成しました (Verisign、Commodo などによって認定されていません)。次のテンプレートを使用して jar に署名しました。
del \Users\koalabruder\.keystore
"C:\Program Files\Java\jdk1.7.0_45\bin\keytool" -genkey -alias %1 -keypass kp -dname "cn=inin" -storepass ab987c
"C:\Program Files\Java\jdk1.7.0_45\bin\jarsigner.exe" -storepass abc -keypass kp %2 %1
"C:\Program Files\Java\jdk1.7.0_45\bin\keytool" -export -storepass abc -alias %1 -file %3
「署名済み証明書がない」という単純なセキュリティ警告は何年も前から存在しており、私の問題ではありません。
私の問題は、最後の Java 更新の 1 つが原因でセキュリティ警告が変更されたことです。
JAR ファイルのマニフェストに Permissions 属性が含まれていないため、このアプリケーションは将来の Java セキュリティ アップデートでブロックされます。詳細については、発行元にお問い合わせください。
どういう意味ですか?どうすれば修正できますか?証明書を購入する必要がありますか? マニフェスト (MANIFEST.MF) を修正する必要がありますか? 許可属性とは何ですか?
更新:これがjarファイルからの私のマニフェストです
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Application-Name: inin
Permissions: all-permissions
Created-By: 1.7.0_45-b18 (Oracle Corporation)
Name: net/inin/transfer/ul/UlPanel.class
SHA-256-Digest: asdfasddddddddddddddddddddddddddddddddd=