.cab
ファイルから.jar
ファイルにアップグレードした署名済みアプレットを Microsoft VM で実行するとセキュリティー例外がスローされる
症状
.cab
ファイルから.jar
ファイルに署名済みアプレットをアップグレードすると、そのアプレットは Microsoft VM で動作しなくなります。Sun JRE では正常に実行されます。原因
このエラーは、Microsoft VM に署名済み
.jar
ファイルのサポートがないために起こります。 While the Microsoft VM supports unsigned.jar
files through thearchive
attribute of the<APPLET>
tag, classes and resources within signed.jar
files are treated as untrusted in the Microsoft VM.その結果、そのアプレットは Microsoft VM によって信頼されていないものとして扱われることになり、アプレット sandbox 外部にアクセスが必要となるアプレットによるアクションは、セキュリティー例外になる場合があります。
解決方法
Microsoft VM によって認識可能なアプレット署名スキームは、
.cab
ファイルで使用する Authenticode だけです。回避するには、Sun JVM の場合は、アップグレードした
.jar
ファイルをarchive
属性を通じて指定します。 Microsoft VM の場合はそのまま、.cab
ファイルをcabbase
を通じて指定します。次に例を示します。
<APPLET code="MyApplet" width=100 height=100>
<PARAM name="cabbase" value="package1.cab, package2.cab">
</APPLET>このコードを次のように変更します。
<APPLET code="MyApplet" archive="package1.jar, package2.jar"
width=100 height=100>
<PARAM name="cabbase" value="package1.cab, package2.cab">
</APPLET>詳細情報
なし