Configure o Apache para servir a cadeia de certificados apropriada

1

Estou executando o Apache 2.2.15 no Red Hat 6.3 e não consigo que cadeias de certificados funcionem adequadamente.

Estou usando minha organização PKI para assinatura de certificados, etc., que não publica seu certificado raiz na Internet.

Então, estou usando as diretivas SSLCertificateFile , SSLCertificateKeyFile e SSLCertificateChainFile

Eu criei minha chave RSA de 2048 bits usando o openssl genrsa e, em seguida, usei o openssl para criar uma solicitação dessa chave e a assinei usando nossa CA do Windows 2008 R2.

Eu aponto para este arquivo de certificado assinado com SSLCertificateFile.

O problema que tenho é com o arquivo chain.

Eu tenho os certificados raiz, intermediário e servidor no formato PEM e tentei várias combinações desses (concatenando os arquivos de texto) para criar o arquivo em cadeia, por exemplo

root
inter
server

server
inter
root

inter
root

root
inter

Nenhum desses trabalhos

Para testar isso, estou fazendo o seguinte:

openssl s_client -connect myserver.com:443 -CAfile root.cer

E o erro que estou recebendo é Verificar código de retorno: 21 (não é possível verificar o primeiro certificado)

No entanto, o mais estranho é quando eu executo o seguinte no servidor:

openssl s_client -connect 127.0.0.1:443 -CAfile root.cer

funciona bem, recebo um código de retorno '0' e consigo ver a cadeia de certificados no topo da saída.

Então, o que está acontecendo?

Sem o arquivo em cadeia, recebo o ícone de cadeado em um navegador da web, mas preciso usar o curl em um script separado para se conectar a ele, e isso não funcionará no modo seguro se o encadeamento não funcionar t funcionar corretamente.

    
por gtmcclinton 17.09.2015 / 10:58

0 respostas