Eu tenho um servidor web Apache, SSL que possui um certificado de servidor assinado por uma CA oficial confiável. Posso configurar o Apache SSL para aceitar clientes com certificados válidos assinados por CAs diferentes da CA que assinou o certificado do servidor?
Estou recebendo uma ssl_error_unknown_ca_alert
mensagem apesar de ter configurado outras CAs no Apache e o servidor ter iniciado sem erros. Criei um arquivo contendo o certificado CA da CA que assinou o certificado do servidor e os outros certificados das CAs nas quais desejo confiar. Então apontei a SSLCertificateChainFile
diretiva para este arquivo.
Estou usando o Apache 2.2.22
Editar:
Estou usando
SSLCertificateFile
apontando para o certificado do servidor
SSLCertificateKeyFile
apontando para a chave do servidor
SSLCertificateChainFile
apontando para a cadeia de certificados que assinou o certificado do servidor
SSLCACertificateFile
apontando para um arquivo com todas as cadeias de certificados que desejo que sejam aceitas
SSLVerifyClient require
SSLVerifyDepth 1
O Apache reconhece todos eles no log quando reinicio o servidor e não há erros. Mesmo assim, ainda recebi um ssl_error_certificate_unknown_alert
erro. Verifiquei também que a cadeia de certificados do cliente está presente na SSLCACertificateFile
comparação por texto no Meld.
Responder1
Descobri qual é o problema. O certificado é assinado por uma cadeia de 3 CAs e eu configurei SSLVerifyDepth como 1. Configurei como 10 e funcionou.
Responder2
Acredito que você queira um diretório contendo os certificados que deseja usar. Pode ser necessário usar alguma mágica SSL para criar os links simbólicos para os certificados. Vermod_ssl SSLCACertificatePath Uso adequado ou qual é a melhor maneira de lidar com várias CAs de certificado de cliente aceitáveispara os comandos necessários.