Signed applet upgraded from
.cab
to.jar
files throws a security exception when run in Microsoft VM
SymptomsAfter upgrading a signed applet from
.cab
to.jar
files, the applet no longer works in the Microsoft VM. The applet runs fine in the Sun JRE.Cause
This error is caused by a lack of signed
.jar
file support in the Microsoft VM. 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.As a result, the applet is treated as untrusted by the Microsoft VM; any action performed by the applet that requires access outside the applet sandbox will likely result in a security exception.
Resolution
The only applet signing scheme recognized by the Microsoft VM is Authenticode used with
.cab
files.The workaround is specify the upgraded
.jar
files through thearchive
attribute for the Sun JVM, and continue to specify the.cab
files throughcabbase
for the Microsoft VM. For example,
<APPLET code="MyApplet" width=100 height=100>
<PARAM name="cabbase" value="package1.cab, package2.cab">
</APPLET>should be changed to
<APPLET code="MyApplet" archive="package1.jar, package2.jar"
width=100 height=100>
<PARAM name="cabbase" value="package1.cab, package2.cab">
</APPLET>Related Information
N/A