RFR: JEP 249 (OCSP Stapling for TLS)

Jamil Nimeh jamil.j.nimeh at oracle.com
Mon Jun 22 16:16:45 UTC 2015


Just one follow up from a previous set of comments:

On 06/21/2015 12:12 PM, Thomas Lußnig wrote:
> On 21.06.2015 17:56, Jamil Nimeh wrote:
>> The X509TrustManager, if configured to do revocation checking at all,
>> should handle the checks so the client doesn't have to.  Can you tell
>> me a little more about what environment a customer would want to
>> re-check the responses above and beyond what is done already?  Could
>> those checks be done with a custom CertPathChecker registered with the
>> PKIXBuilderParameters used in the trust manager?
> One example would be Certificate Transparency that use the same response
> message but with other content.
I did a very cursory scan of RFC 6962...correct me if I'm wrong, but 
CT's intersection with OCSP stapling is just that the OCSP response has 
a specific OCSP extension in it, (The certificate timestamp list) 
correct?  If that's the case, then the List of byte arrays handed back 
by ExtendedSSLSession.getStatusResponses() essentially gives you the 
parsed message back.  The CertificateStatus HandshakeMessage object 
doesn't hold the OCSP responses in a parsed form such as 
sun.security.provider.certpath.OCSPResponse.  It just hangs onto the 
byte arrays in the order they are received.  By getting the list out of 
the getStatusResponses method, you're getting the parsed message, with 
the exception of the leading type (ocsp vs. ocsp_multi).  I don't know 
if exposing the HandshakeMessage object would get you anything more 
useful, at least as it is implemented today.
>>> http://cr.openjdk.java.net/~jnimeh/reviews/8046321/webrev.0/src/java.base/share/classes/sun/security/ssl/ClientHandshaker.java.patch
>>>
>>> - Why not allow to toggle each of the extensions individually ?
>>>     I think after Heartbleed this would be an good idee
>>> +        if (enableStatusRequestExtension) {
>>> +            clientHelloMessage.addCertStatusReqListV2Extension();
>>> +            clientHelloMessage.addCertStatusRequestExtension();
>>> +        }
>> I suppose we could, I didn't because I just didn't want two more
>> properties, that's all.  At one point there was some discussion about
>> a single property that could be used to toggle the presence of
>> multiple extensions, which could help prevent an explosion in the
>> number of enable/disable properties related to TLS extensions. Maybe
>> we need to reopen that discussion.
> Even one property would be ok if it is not boolean but decimal.
> 0 := Off
> 1 := Simple Request
> 2 := ListV2 Request
> 3 := Both Types
>
>>> http://cr.openjdk.java.net/~jnimeh/reviews/8046321/webrev.0/src/java.base/share/classes/sun/security/x509/PKIXExtensions.java.patch
>>>
>>> - Why to break the comments earlyer ?
>>>
>>>
>> You lost me on this last one, can you clarify what you mean?  Do you
>> not like where I added the OCSP nonce definition?
> There are many changes like these sample where only the line length is
> changes.
> I ask because today the monitors become wider but not higher so if we
> have small line length but many lines the screen contain less information.
> The qeustion is if the changes are due to some new rules.
>
> -     * Allows additional identities to be bound to the subject of the certificate.
> +     * Allows additional identities to be bound to the subject of the
> +     * certificate.
>
> Gruß Thomas
>
>




More information about the security-dev mailing list