Details
-
Type:
Improvement
-
Status:
Closed
-
Priority:
Major
-
Resolution: Won't Fix
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: pack
-
Labels:None
-
Number of attachments :
Description
When creating a webstart artifact, the pack200 process shouldn't effect the original jars. (if someone disagrees with this then please feel free to comment!)
Packing and unpacking using the pack200 process results in a smaller jar with some of the class files' internal information removed. This may result in unpredictable behaviour when using clients that don't support pack200 at all.
I've attached a patch where I've tried to separate the pack200 process completely from the signing of the original jar files.
The patch also aims to solve the problems of signing webstart jar files that are already signed by a 3rd party certificate. This causes problems with pack200 because packing a file ruins the digital signature by virtue of changing the class files. I've failed in this regard because jarsigner doesn't seem to give you a way of checking whether a jar is already signed correctly. It doesn't differentiate between an unsigned jar and an invalid manifest format.
David, thanks for the patch.
Questions:
> This may result in unpredictable behaviour when using clients that don't support pack200 at all.
I believed that deciding to pack200 was a conscious decision from the part of the application deployer. Do you deploy the same application in both pack200 and normal format?
What is your use case?
> The patch also aims to solve the problems of signing webstart jar files that are already signed by a 3rd party certificate
I have something to commit regarding that.
Other notes: I wonder if some people sign jars in separate modules and install them signed in the local repository.