On 08/21/2015 08:08 PM, Emeric Brun wrote:
> Hey Dave,
> 
>>> the SNI tree a certificate regardless the CN/SAN. It's dirty i know, but
>>> some people use it.
>>>
>>> You will also notice, reading 'ssl_sock_process_crt_file' that if we use
>>> sni_filter (so filter in crt-list), a new ssl_ctx is always allocated and
>>> stored. But if no filter is set on the "crt-list" line,
>>> you will use SAN/CN to potentially complete an existing one. We reach an
>>> unpredictable behavior depending of the line order in crt-list.
>>
>> Correct me if I¹m wrong, but sni_filter is only applied to the crtfile
>> specified before the filter? So in the case, crt-list files without a user
>> supplied SNI will be treated as ordinary crt files.
>>
>> In the current model, these are added as SNI entries in the tree. But
>> these entries won¹t ever be used if there is another SNI entry that was
>> loaded before. So even though they are added to the tree, they wouldn¹t
>> ever be used? The behavior should remain consistent with what¹s there
>> today. Or am I mis-interpeting the code?
>>
>> -Dave 
>>
> 
> The issue is due to filters, I think the best is to write examples:
> 
> crt.list:
> (*.foobar.com RSA).pem *.foobar.com !foobar.foobar.com
> (foobar.foobar.com RSA).pem
> (foobar.foobar.com DSA).pem
> 
> 
> You will complete (*.foobar.com RSA) SSL_CTX's using the (foobar.foobar.com 
> DSA). Because first line register the certificate in tree (with the flag 
> "neg").
> 
> An user connecting with SNI dummy.foobar.com will potentially retrieve 
> (foobar.foobar.com DSA).pem as a certificate.
> 
> I think you can fix it looping on entries of same name and ignore those 
> flagged 'neg' in the tree.
> 
> 
> There is other cases:
> 
> (*.foobar.com RSA).pem
> (*.foobar.com DSA).pem *.foobar.com
> 
> Will always serve only the RSA.pem, because the second has a filter and in 
> your code it will not complete the first
> 
> Whereas
> (*.foobar.com RSA).pem *.foobar.com
> (*.foobar.com DSA).pem
> 
> Will serve both RSA and DSA, because the second will complete the first 
> regardless if the first was created with or without filter.
> 
> But if you fix it, adding a lookup based on the filter to complete existing 
> cert we will reach new inconsistencies
> 
> (*.foobar.com RSA).pem
> (*.foobar.com DSA).pem *.foobar.com !foobar.foobar.com
> 
> With that i expect to have both RSA/DSA available if dummy.foobar.com, but 
> always RSA for foobar.foobar.com.
> 
> It doesn't appear trivial to handle and i express a real doubt: Is the SNI 
> tree and CN/SAN the right way to complete SSL_CTX with different 
> certificates/keys?
> 
> If we're able to load the differents key/cert from the same pem file, we will 
> no have those inconsistencies.
> 
> Or we could use additionnal extensions as we do for .ocsp and .issuers.
> 
> R,
> Emeric
> 
> 
> 
> 
> 
>
Hi All,

This stupid anti-spam flagged my last mail as a spam because f o o b a r.

R,
Emeric

 
 




Reply via email to