Problema de certificado SSL e HTTP intermediário

3

No momento, estamos enfrentando um problema com a verificação de um certificado Comodo SSL em um cluster do Ubuntu AWS. Os navegadores estão exibindo o site / conteúdo bem e mostrando todas as informações de certificado relevantes (pelo menos, todas as que verificamos), mas alguns proxies de rede e verificadores de SSL on-line estão mostrando que temos uma cadeia incompleta.

Nós tentamos o seguinte para tentar resolver isso:

  1. Atualizou haproxy para o mais recente 1.5.3
  2. Criado um arquivo ".pem" concatenado contendo todo o certificado (site, intermediário, com / sem raiz)
  3. Adicionamos um atributo "ca-file" explícito à linha "bind" em nosso arquivo haproxy.cfg.

O arquivo ".pem" verifica OK usando o openssl. Os diversos certificados intermediários e raiz são instalados e exibidos em / etc / ssl / certs. Mas as verificações ainda voltam com uma cadeia incompleta.

Alguém pode aconselhar sobre qualquer outra coisa que possamos verificar ou qualquer outra alteração que possamos fazer para tentar corrigir isso?

Muito obrigado antecipadamente ...

UPDATE : A única linha relevante do haproxy.cfg (eu acredito), é esta:

bind *:443 ssl crt /etc/ssl/domainaname.com.pem

UPDATE 2 : saída de openssl s_client

CONNECTED(00000003)
depth=0 OU = Domain Control Validated, OU = COMODO SSL, CN = www.domainname.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 OU = Domain Control Validated, OU = COMODO SSL, CN = www.domainname.com
verify error:num=27:certificate not trusted
verify return:1
depth=0 OU = Domain Control Validated, OU = COMODO SSL, CN = www.domainname.com
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
 0 s:/OU=Domain Control Validated/OU=COMODO SSL/CN=www.domainname.com
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO SSL CA

A seguir, o conteúdo de www.domainname.com.pem (sendo referenciado na configuração haproxy).

Bag Attributes
    localKeyID: 01 00 00 00
    friendlyName: www.domainname.com
subject=/OU=Domain Control Validated/OU=COMODO SSL/CN=www.domainname.com
issuer=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO SSL CA
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
-----BEGIN INTERMEDIATE CERTIFICATE-----
[...]
-----END INTERMEDIATE CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
[...]
-----END RSA PRIVATE KEY-----
    
por Sam K 21.08.2014 / 16:21

2 respostas

0

FWIW, eu consegui chegar ao fundo disso. O problema eram os delimitadores que eu tinha usado para os vários certificados no meu arquivo .pem .

O delimitador deve ser exatamente -----BEGIN/END CERTIFICATE----- - não "INTERMEDIÁRIO" ou "ROOT" ou qualquer outro.

Além disso, o trabalho .pem para o HAProxy inclui todos os certificados intermediários e raiz da minha cadeia - parecia ser a única maneira de levá-los a todos.

    
por 27.08.2014 / 14:43
3

Ordem correta para incluir certificados intermediários:

-----BEGIN PRIVATE KEY----- [Your private key] -----END PRIVATE KEY----- -----BEGIN CERTIFICATE----- [Your certificate] -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- [Intermidate#1 certificate] -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- [Intermidate#2 certificate] -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- [Root certificate] -----END CERTIFICATE-----

awk 1 ORS='\n' ~/your_path/cert.pem

copiar sequência

e cole em docker-compose.yml da seguinte forma:

proxy: image: tutum/haproxy ports: - "80:80" - "443:443" environment: - "DEFAULT_SSL_CERT=-----BEGIN PRIVATE KEY-----\nMIIEvQIBADA......" links: - webapp

É trabalho para mim.

    
por 25.01.2016 / 14:05