CSR Review: 8208641: SSLSocket should throw an exception when configuring DTLS

Anthony Scarpino anthony.scarpino at oracle.com
Wed Aug 8 18:27:28 UTC 2018


On 08/08/2018 07:46 AM, Sean Mullan wrote:
> On 8/7/18 8:05 PM, Xuelei Fan wrote:
>> Hi Tony,
>>
>> The Specification section looks more like the implementation details. 
>> We may change the implementation details again in the future.  It may 
>> be more suitable to move it to the Solution section, or just remove it. 
> 
> I agree, I would omit the diffs and put N/A for the Specification section.
> 
>> In the Specification section, I may just say something like, "No APIs 
>> changes.  The SunJSSE provider is updated to throw 
>> UnsupportedOperationException if  SSLContext.SSLServerSocketFactory() 
>> or SSLContext.SSLSocketFactory() get called for DTLS algorithms 
>> SSLContext".
> 
> I think the CSR should also say that the SunJSSE implementation of the 
> engineGetSocketFactory and engineGetServerSocketFactory methods of 
> SSLContextSpi have been changed to throw UnsupportedOperationException. 
> That is the specific API behavior change.
> 
> A few other comments on the CSR:
> 
> "SSLContext.getSSLSocketFactory() and 
> SSLContext.getSSLServerSocketFactory()"
> 
> Typo, there is no "SSL" in the method names.
> 
> The Compatibility Risk field has several typos ("there" -> "their", "how 
> -> now", ...) and is a bit hard to understand. Wasn't TLS being used 
> before instead of DTLS in certain scenarios? Because the API silently 
> passed in certain cases, and now we will be throwing an Exception, maybe 
> it might be better to say the risk is low.

I fixed the typos and redid the compatibility part that hopefully is 
more to the point.

> 
> In the Summary section, it says "..., but it is not documented." I 
> suggest opening a docs bug to improve the DTLS documentation so that it 
> is more clear this scenario is not supported.
> 
> I think the Interface Kind should be Java API since we are changing the 
> behavior of an implementation of a standard API. I asked Joe Darcy this 
> question yesterday, and he agreed.

I thought about API, but since it was a behavior change, API didn't 
sound completely correct.  But that's fine if that's what he wants.
> 
> --Sean
> 
>>
>> Thanks,
>> Xuelei
>>
>> On 8/7/2018 4:14 PM, Anthony Scarpino wrote:
>>> Hi Xuelei,
>>>
>>> I have updated the csr and I believe I have addressed your comments.
>>>
>>> thanks
>>>
>>> Tony
>>>
>>> On 08/07/2018 01:43 PM, Xuelei Fan wrote:
>>>> Hi Tony,
>>>>
>>>> Would you mind make it clear that this impact the JDK JSSE provider 
>>>> only?  Third party's provider may be able to support DTLS with 
>>>> SSLSocket.
>>>>
>>>> I think there may be no specification change.  The 
>>>> SSLContext.getServerSocketFactory() and 
>>>> SSLContext.getSocketFactory() defines the spec if the algorithm is 
>>>> not supported by the underlying provider, 
>>>> "UnsupportedOperationException - if the underlying provider does not 
>>>> implement the operation.".  I may prefer to make it clear that this 
>>>> is just a behavior change of the JDK JSSE provider (SunJSSE).  The 
>>>> SunJSSE provider now throws UnsupportedOperationException for 
>>>> creating SSL(Server)SocketFactory with DTLS SSLContext, because it 
>>>> does not actually support DTLS SSLSocket.
>>>>
>>>> In Solution section, "Throwing a UnsupportedOperationException when 
>>>> getting a socket from the SSLServerSocketFactory or SSLSocketFactory 
>>>> for DTLS."   I guess you meant, throwing a UOE when calling 
>>>> SSLContext.getServerSocketFactory() and SSLContext.getSocketFactory()?
>>>>
>>>> Thanks,
>>>> Xuelei
>>>>
>>>> On 8/7/2018 12:17 PM, Anthony Scarpino wrote:
>>>>> I need a review of a CSR for SSLSocket should throw an exception 
>>>>> when configuring DTLS.  We are targeting this for 12 right now.
>>>>>
>>>>> https://bugs.openjdk.java.net/browse/JDK-8209031
>>>>>
>>>>> thanks
>>>>>
>>>>> Tony
>>>>>
>>>




More information about the security-dev mailing list