Hi Andrew
Well, this code change is to make jarsigner behaviors to be consistent
with Java Plugin, that is to say, if Java Plugin allows something
jarsigner should also.
If you believe that Java Plugin's behavior itself is problematic, we can
suspend this code change for a while and focus on Java Plugin.
Thanks
Max
On 02/28/2012 10:11 PM, Xuelei Fan wrote:
I have not read the changes, just some minor comments about the description.
On Feb 26, 2012, at 11:00 PM, Weijun Wang<[email protected]> wrote:
Hi All
Please take a look at this code change:
http://cr.openjdk.java.net/~weijun/7149012/webrev.00/
Jarsigner will not print a warning if the signer cert is expired but a
timestamp shows the jar was signed before the expiration date.
Another change is that the chainNotValidated flag now does not cover
hasExpiredCert and notYetValidCert anymore. The result is that when trying to
sign (or verify) with an expired cert, instead of the duplicated and somewhat
confusing
The signer certificate has expired.
The signer's certificate chain is not validated.
warnings, user will only see
The signer certificate has expired.
It seems that we allow the singer sigh jars with expired certificate. It's
flexible, but as may not comply to the policy of certificate authority. At most
of the time, CA will not take any responsibility to expired certificate. I
know the compatibility may be the concerns, but I really think we should forbid
the sign behaviors by default, and allow the verification behaviors by default
if time stamped.
Xuelei
User will still see the chainNotValidated warning if the CertPath is not
validated because of other reasons.
On the other hand, since these 3 flags share the same exit code (4), users will
not notice the exit code change when -strict is on.
There is no regression test added to the openjdk repository because it's not easy to
generate a timestamp with an old date. I have found an old signed jar with a timestamp
and signed by a now-expired cert. I will include these binary files into the
jdk/test/closed repository and the test is a simple "jarsigner -verify -strict"
call.
Thanks
Max
-------- Original Message --------
*Change Request ID*: 7149012
*Synopsis*: jarsigner needs not warn about cert expiration if the jar has a TSA
timestamp
=== *Description* ============================================================
If the cert used to sign a jar is expired, jarsigner will print out a warning,
and if -strict is specified, exits with an error. However, if there is a TSA
timestamp attached to the jar (and the timestamp is shown to be before the
expiration), it's completely valid and jarsigner should not report any warning
or error.