PRB: Unable to Sign the Cabfile When Running Signcode

ID: Q177178


The information in this article applies to:
  • Microsoft SDK for Java, versions 1.0, 1.5, 1.51, 2.0x, 3.0, 3.1, 3.2


SYMPTOMS

When you run Signcode.exe on your CAB file, one or more of the following errors occur:

  • Unable to sign the program <cabfile>. (80004005)


  • Unable to sign the program <cabfile>. (80030070)


  • Unable to sign the program <cabfile>. (80070005)


  • Unable to sign the program <cabfile>. (80070057)



CAUSE

Signcode.exe could not sign the CAB file for the reason indicated by the error number. The CAB file may not have been created with -s 6144 parameter or it is either read-only or corrupt.


RESOLUTION

Unable to sign the program <cabfile>. (80004005)

This error appears because you did not reserve space in your CAB file. Re- create the CAB file using the -s 6144 option to Cabarc.exe. This space must be reserved in the CAB file to allow room for the digital signature. It is not necessary to use the -s switch with the signing tools included with the SDK for Java 2.0x or newer. The Signcode.exe utility now creates the necessary space for the certificate at the time the CAB is signed.

Unable to sign the program <cabfile>. (80030070)

This error occurs because you did not reserve enough space in your CAB file. Re-create the CAB file using the -s 6144 option to Cabarc.exe. It is not necessary to use the -s switch with the signing tools included with the SDK for Java 2.0x or newer. The Signcode.exe utility now creates the necessary space for the certificate at the time the CAB is signed.

Unable to sign the program <cabfile>. (80070005)

This error appears because your cabfile is marked read-only.

Unable to sign the program <cabfile>. (80070057)

This error occurs because your cabfile is corrupt.


STATUS

This behavior is by design.


MORE INFORMATION

To use the -s option for Cabarc.exe, the -s 6144 option reserves unnecessary space in most situations. With the "test" certificate, you can typically get by with 1K of reserved space in the cab. A good estimate of the space required is slightly larger than the size of the .spc file you are signing with. Also note, it is possible that the certificate will require more than 6144 bytes.

Example

C:>CABARC -s 6144 N mycab *.class

NOTE: It is not necessary to use the -s switch with the signing tools included with the SDK for Java 2.0x or newer. The Signcode.exe utility now creates the necessary space for the certificate at the time the CAB is signed.


REFERENCES

For additional information on making your Java Code trusted in Microsoft Internet Explorer, please refer to the following Knowledge Base article:

Q193877 HOWTO: Making your Java Code Trusted in Internet Explorer
For additional information on Frequently Asked Questions for CAB files, please refer to the following Knowledge Base article:
Q168941 INFO: Frequently Asked Questions for CAB Files

For the latest Knowledge Base articles and other support information on Visual J++ and the SDK for Java, please see the following pages on the Microsoft Technical Support site:
http://support.microsoft.com/support/visualj/

http://support.microsoft.com/support/java/

© Microsoft Corporation 1999, All Rights Reserved.
Contributions by Carl W. Frisk, Microsoft Corporation

Additional query words: CABARC, Cab and Sign technology, internet

Keywords : kberrmsg kbSDKJava300 kbSDKJava310 jcab kbSDKJava320 kbSDKJavaFAQ
Version : WINDOWS:1.0,1.5,1.51,2.0x,3.0,3.1,3.2
Platform : WINDOWS
Issue type : kbprb


Last Reviewed: November 16, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.