> Le 13 juin 2017 à 14:13, Wolvers, Bas <[email protected]> a écrit :
> 
> That would do nicely.
> 
> Is there something useful I can do to help?
> 

Can you test with this patch? :

Attachment: 0001-MINOR-ssl-add-no-ca-names-parameter-for-bind.patch
Description: Binary data

> -----Original Message-----
> From: Emmanuel Hocdet [mailto:[email protected]] 
> Sent: maandag 12 juni 2017 17:58
> To: Wolvers, Bas
> Cc: [email protected]
> Subject: Re: Feature request: disable CA/distinguished names.
> 
> Thanks for the explanation.
> I think a parameter like ‘no-ca-names’ could do the job, or you have a better 
> name?
> 
> Manu
> 
>> Le 12 juin 2017 à 14:32, Wolvers, Bas <[email protected]> a écrit :
>> 
>> If you connect to a haproxy TLS server with CA names on (verify optional or 
>> required) part of the server hello message is the list of CA's that are 
>> accepted.
>> The client can use this list to decide which certificate to send as its 
>> client certificate.
>> 
>> The problem arises when this list if long, the server hello message gets 
>> really long as well.
>> If the list if very long the server hello becomes prohibitively big, making 
>> client connections fail.
>> 
>> So disabling the list of CA names in the server hello message reduces the 
>> message size.
>> Lots of clients don’t need to be told which certificate to send, and this 
>> list is optional since TLS1.1 if memory serves me well.
>> 
>> I'm running a system which (for good reason) runs on self-signed 
>> certificates, so technically I have a CA for every client. 
>> With more than 30 CA's I had client that have problems connecting because 
>> the server hello is too big.
>> With CA names turned off I tested with 10000 CA's loaded without problems.
>> 
>> -----Original Message-----
>> From: Emmanuel Hocdet [mailto:[email protected]]
>> Sent: maandag 12 juni 2017 14:22
>> To: Wolvers, Bas
>> Cc: [email protected]
>> Subject: Re: Feature request: disable CA/distinguished names.
>> 
>> I don't understand.
>> CA certs are loaded by haproxy when needed: i.e if 'ca-file’ parameter is 
>> used and ‘verify’ is set to ‘optional’ or ‘required’.
>> 
>>> Le 12 juin 2017 à 13:00, Wolvers, Bas <[email protected]> a écrit :
>>> 
>>> For setups with large amounts of CA certs it can be a really good idea to 
>>> turn off CA names in the key exchange.
>>> As far as I understand it is optional to send CA names, and it works fine 
>>> with these turned off.
>>> This is also called distinguished names.
>>> 
>>> To do this a single line should not be executed.
>>>                     SSL_CTX_set_client_CA_list(ctx, 
>>> SSL_load_client_CA_file(ca_file));
>>> (in ssl_sock.c, function ssl_sock_prepare_ctx).
>>> 
>>> I currently disable this with a LD_PRELOAD shim, but I think it would be a 
>>> good idea to make this an ssl option, similar to force_tls12 etc.
>>> 
>>> /*
>>> This shim disables 2 openssl functions.
>>> The effect of this is that no client CA names,  also known as 
>>> distingushed names, are loaded  this reduces ssl traffic with large 
>>> numbers of  CA certificates.
>>> 
>>> This is made to be used with HAPROXY since it  does not have a 
>>> setting to disable this in the  configuration.
>>> */
>>> #include <stdio.h>
>>> 
>>> void SSL_CTX_set_client_CA_list(void *one, void *two) { 
>>> printf("SSL_CTX_set_client_CA_list called but disabled by shim.\n"); 
>>> return; } void *SSL_load_client_CA_file(void *one) { 
>>> printf("SSL_load_client_CA_file called but disabled by shim.\n"); 
>>> return 0; }
>>> 
>> 
> 

Reply via email to