Hi Andrew,

Did you consider using the existing X509CertSelector class to match on the authority key identifier? I actually think this should work, and it will avoid having to create the AKIDMatchState class. Take a look at the ForwardBuilder.getMatchingCACerts method towards the end, where it gets the AuthorityKeyIdentifierExtension. Can you create a similar X509CertSelector to select the proper trust anchor?

--Sean


On 1/14/11 12:32 PM, Xuelei Fan wrote:
On 1/15/2011 1:30 AM, Xuelei Fan wrote:
Hi Sean,

webrev:
http://cr.openjdk.java.net/~xuelei/7011497/webrev/

Would you please review the update again. I integrate the fix for
7011497 and 7012357 together.

Comparing with previous webrev, the following updates are unchanged:
src/share/classes/java/security/cert/CertPathValidatorException.java
src/share/classes/sun/security/provider/certpath/AlgorithmChecker.java
src/share/classes/sun/security/validator/SimpleValidator.java
other test files.


The following are new changes for CR 7012357:
src/share/classes/sun/security/provider/certpath/ForwardBuilder.java
src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java
test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorEndEntity.java


Thanks,
Xuelei

On 1/14/2011 11:10 AM, Xuelei Fan wrote:
We don't checking the SKID and AKID during searching for the trust anchor.

I have filled a new CR for the issue, 7012357, Improve trust anchor
searching method during cert path validation.

I will have this commented out block in CPValidatorEndEntity.java. I
will use this test case for CR 7012357.

Thanks,
Xuelei

On 1/14/2011 12:44 AM, Xuelei Fan wrote:
I just realized, if subject KID and issuer KID works, the cert path
validation should be able to find the proper trust anchor.  I will look
into the issue tomorrow.

Xuelei

On 1/14/2011 12:27 AM, Xuelei Fan wrote:
On 1/14/2011 12:05 AM, Sean Mullan wrote:
On 1/13/11 6:38 AM, Xuelei Fan wrote:
Hi Sean,

Would you please review the fix for CR 7011497?

http://cr.openjdk.java.net/~xuelei/7011497/webrev/

Thanks,
Xuelei

CPValidatorEndEntity.java:

  307         /* coment out useless trust anchor
  308         is = new
ByteArrayInputStream(trustAnchor_SHA1withRSA_512.getBytes());
  309         cert = cf.generateCertificate(is);
  310         anchor = new TrustAnchor((X509Certificate)cert, null);
  311         anchors.add(anchor);
  312         */

Why do you leave this code in with this comment?

If I have this block. The cert path validation cannot find the proper
trust anchor. As there are two trusted certificates, they are almost the
same except the key size (one key size is 1024, another one is 512).

In cert path validation, once a trust anchor found, if the signature is
not valid, I think no more effort to test more trust anchors.

I was wondering whether it is worthy to try more trust anchors. It's
expensive!

Thanks for the review.

Xuelei

Otherwise, looks good.

--Sean





Reply via email to