RFR (XS) : 8133489: Better messaging for PKIX path validation matching
Xuelei Fan
xuelei.fan at oracle.com
Thu Jun 20 21:35:52 UTC 2019
Looks good to me.
Thanks,
Xuelei
On 6/20/2019 8:45 AM, Seán Coffey wrote:
> Thanks for the review Xuelei,
>
> edits made:
>
> --- a/src/java.base/share/classes/java/security/cert/X509CertSelector.java
> +++ b/src/java.base/share/classes/java/security/cert/X509CertSelector.java
> @@ -2115,8 +2115,11 @@
> if (certSubjectKeyID == null ||
> !Arrays.equals(subjectKeyID, certSubjectKeyID)) {
> if (debug != null) {
> - debug.println("X509CertSelector.match: "
> - + "subject key IDs don't match");
> + debug.println("X509CertSelector.match: subject key
> IDs " +
> + "don't match\nX509CertSelector.match:
> subjectKeyID: " +
> + Arrays.toString(subjectKeyID) +
> + "\nX509CertSelector.match: certSubjectKeyID: " +
> + Arrays.toString(certSubjectKeyID));
> }
> return false;
>
> regards,
> Sean.
>
> On 20/06/2019 15:14, Xuelei Fan wrote:
>> On 6/20/2019 5:56 AM, Seán Coffey wrote:
>>> A simple debugging enhancement to print out subjectkey ID details
>>> when mismatch is encountered. I encountered a DER encoding issue with
>>> an application server team a good while back and needed such a patch
>>> to debug the issue correctly. I added -Djava.security.debug=certpath
>>> to a testcase which tests this functionality. Sample output :
>>>
>>> certpath: X509CertSelector.match: subject key IDs don't match
>>> certpath: 509CertSelector.match: subjectKeyID: [4, 20, -12, -2, 115,
>>> 79, -15, 106, 114, -58, 102, 43, 32, 26, 120, -76, -33, 50, -45, -56,
>>> -16, -38]
>>> certpath: 509CertSelector.match: certSubjectKeyID: [4, 20, -111, 93,
>>> -48, -86, -39, 59, -128, -118, 45, -10, 126, -76, -115, 126, -99,
>>> -106, -116, 107, 124, -63]
>>>
>>> regards,
>>> Sean.
>>>
>>> diff --git
>>> a/src/java.base/share/classes/java/security/cert/X509CertSelector.java b/src/java.base/share/classes/java/security/cert/X509CertSelector.java
>>>
>>> ---
>>> a/src/java.base/share/classes/java/security/cert/X509CertSelector.java
>>> +++
>>> b/src/java.base/share/classes/java/security/cert/X509CertSelector.java
>>> @@ -2117,6 +2117,10 @@
>>> if (debug != null) {
>>> debug.println("X509CertSelector.match: "
>>> + "subject key IDs don't match");
>>> + debug.println("509CertSelector.match:" +
>>> + " subjectKeyID: " +
>>> Arrays.toString(subjectKeyID));
>>> + debug.println("509CertSelector.match:" +
>>> + " certSubjectKeyID: " +
>>> Arrays.toString(certSubjectKeyID));
>>> }
>>> return false;
>>> }
>> Is it a typo "509CertSelector" -> "X509CertSelector"?
>>
>> I may use one call to debug.println() in case the information are
>> separated in multi-thread environment.
>>
>> Otherwise, looks good to me.
>>
>> Thanks,
>> Xuelei
>>
>>> diff --git
>>> a/test/jdk/java/security/cert/CertPathBuilder/selfIssued/KeyUsageMatters.java
>>> b/test/jdk/java/security/cert/CertPathBuilder/selfIssued/KeyUsageMatters.java
>>>
>>> ---
>>> a/test/jdk/java/security/cert/CertPathBuilder/selfIssued/KeyUsageMatters.java
>>>
>>> +++
>>> b/test/jdk/java/security/cert/CertPathBuilder/selfIssued/KeyUsageMatters.java
>>>
>>> @@ -29,13 +29,13 @@
>>>
>>> /**
>>> * @test
>>> - * @bug 6852744
>>> + * @bug 6852744 8133489
>>> * @summary PIT b61: PKI test suite fails because self signed
>>> certificates
>>> * are being rejected
>>> * @modules java.base/sun.security.util
>>> - * @run main/othervm KeyUsageMatters subca
>>> - * @run main/othervm KeyUsageMatters subci
>>> - * @run main/othervm KeyUsageMatters alice
>>> + * @run main/othervm -Djava.security.debug=certpath KeyUsageMatters
>>> subca
>>> + * @run main/othervm -Djava.security.debug=certpath KeyUsageMatters
>>> subci
>>> + * @run main/othervm -Djava.security.debug=certpath KeyUsageMatters
>>> alice
>>> * @author Xuelei Fan
>>> */
>>>
More information about the security-dev
mailing list