Como especificar vários certificados raiz para a verificação do certificado de cliente nginx?

4

Para um projeto como parte da European Grid Infrastructure (EGI), precisamos da verificação do certificado de cliente SSL para um serviço em execução no nginx. Como existem várias CAs permitidas no EGI, precisamos que o nginx verifique todas durante a validação do certificado do cliente. Na documentação do nginx , só encontrei o parâmetro ssl_client_certificate , que permite especificar apenas um arquivo contendo um certificado raiz.

Existe uma maneira de especificar mais de uma CA raiz para verificação de certificado de cliente no nginx ou eu tenho que usar o Apache para isso?

    
por Florian Feldhaus 30.07.2012 / 10:41

1 resposta

8

O Nginx suporta vários certificados raiz. Basta colocar vários certificados de CA raiz em um arquivo especificado na diretiva ssl_client_certificate . Observe que os documentos explicitamente dizem "certificados" (plural).

Esta é uma consideração porque o nginx não suporta ssl_client_certificate em um diretório (como o Apache faz)

"Certificate file" vs "certificate path" difference isn't about running something after updates of certificates or not (in both cases you have to update something, either cat to a single file or the c_rehash script to create symbolic links in case of CApath). The difference is about certificates in memory vs. certficates on disk, and the later implies syscalls and disk access on each certificate check.

As nginx is designed to work under high loads, with many requests (and handshakes) per second, it uses CAfile variant. And as nginx configuration reload is seamless, it's unlikely the CApath variant will add any extra value.

Maxim Dounin

    
por 08.12.2016 / 19:52