RFR [13] JDK-4919790 : Errors in alert ssl message does not reflect the actual certificate status
Jamil Nimeh
jamil.j.nimeh at oracle.com
Thu Feb 14 19:20:40 UTC 2019
Whoops, forgot to look at RFC 6961. Over there, both revoked and
structural failures are both supposed to yield
bad_certificate_status_response alerts. I think what we have is
conformant with the spec.
--Jamil
On 2/14/2019 11:17 AM, Jamil Nimeh wrote:
>
>
> On 2/14/2019 10:24 AM, Sean Mullan wrote:
>> On 2/11/19 2:32 PM, Xuelei Fan wrote:
>>> Hi,
>>>
>>> Could I get the update reviewed?
>>> http://cr.openjdk.java.net/~xuelei/4919790/webrev.00/
>>
>> 721 alert = Alert.UNSUPPORTED_CERTIFCATE;
>>
>> Can we fix this typo while we are cleaning this up?
>> s/CERTIFCATE/CERTIFICATE/
>>
>> Also, I was a bit curious about these lines (not part of your fix):
>>
>> 711 if (reason == BasicReason.REVOKED) {
>> 712 alert = chc.staplingActive ?
>> 713 Alert.BAD_CERT_STATUS_RESPONSE :
>> 714 Alert.CERTIFICATE_REVOKED;
>>
>> If a certificate is revoked, why would you set the alert status to
>> BAD_CERT_STATUS_RESPONSE if stapling is enabled?
> I think that was something I did back when we did OCSP stapling in JDK
> 9. IIRC, RFC 6066 says that clients receiving stapled responses must
> check them and alert with bad_certificate_status_response "if the
> response is not satisfactory" (their words, not mine). Back then I
> interpreted "unsatisfactory" to mean both structurally wrong or
> revoked. Perhaps that was too broad an interpretation.
>
> It's probably worth seeing how a couple other clients handle this
> case. I know I had tested with them back in pre-JDK9 days, but I
> don't recall the results. I might have some old packet captures lying
> about still also, I just need to dig them up.
>>
>> Also, bug needs a noreg label.
>>
>> --Sean
>>
>>> It had been a while that the SunJSSE provider use
>>> certificate_unknown or certificate_revoked (or
>>> bad_certificate_status_response for OCSP stapling) as the
>>> certificate issues alert. Other certificate alert like
>>> certificate_expired are not used.
>>>
>>> The bug was reported in JDK 6. With the introducing of
>>> CertPathValidatorException.BasicReason in JDK 7. Now we can handle
>>> the alert more accuracy.
>>>
>>> Note: please don't rely on the certificate alert type for
>>> application development. The alert type may be changed and
>>> different per the provider preference.
>>>
>>> No new regression test as the update is simple and straightforward.
>>>
>>> Thanks,
>>> Xuelei
>
More information about the security-dev
mailing list