De onde vem a cadeia de certificados do openssl?

1

Estou tentando verificar a cadeia para flo2cash.com openssl me dá isso: openssl s_client -showcerts -connect flo2cash.com:443
CONNECTED(00000003) depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Domain Validation Secure Server CA depth=0 OU = Domain Control Validated, OU = Hosted by FreeParking Ltd, OU = COMODO SSL, CN = flo2cash.com

Indicando que a raiz é "AddTrust External CA Root" Tanto o Chrome quanto o Firefox mostram apenas 3 níveis na cadeia com o certificado enraizado em "COMODO RSA Certification Authority"

Se eu verificar o último certificado na cadeia, recebo isto: subject= /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority issuer= /C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root notBefore=May 30 10:48:38 2000 GMT notAfter=May 30 10:48:38 2020 GMT

Este certificado é realmente antigo.

Isto é o que está nos pacotes da CA que eu posso encontrar na minha máquina (o Fedora 25 corrigido para o mais recente), e também os navegadores:

subject= /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority issuer= /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority notBefore=Jan 19 00:00:00 2010 GMT notAfter=Jan 18 23:59:59 2038 GMT

Esse certificado antigo deve estar vindo de algum lugar.

    
por Steven 24.11.2017 / 01:06

2 respostas

0

No meu laptop Mint eu tenho o certificado antigo :

$ openssl x509 -noout -subject -issuer -in /usr/share/ca-certificates/mozilla/COMODO_RSA_Certification_Authority.crt 
subject= /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
issuer= /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority

openssl s_client retorna o certificado de CA mais superior como COMODO RSA Certification Authority , que é assinado pela raiz acima:

$ openssl s_client -connect flo2cash.com:443
CONNECTED(00000003)
depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root
verify return:1
depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Domain Validation Secure Server CA
verify return:1
depth=0 OU = Domain Control Validated, OU = Hosted by FreeParking Ltd, OU = COMODO SSL, CN = flo2cash.com
verify return:1
---

Edite /etc/ca-certificates.conf e desmarque a linha que contém o certificado de CA raiz acima ( mozilla/AddTrust_External_Root.crt ):

#
# line begins with # is comment.
# line begins with ! is certificate filename to be deselected.
#
mozilla/ACCVRAIZ1.crt
mozilla/ACEDICOM_Root.crt
!mozilla/AC_Raíz_Certicámara_S.A..crt
mozilla/Actalis_Authentication_Root_CA.crt
!mozilla/AddTrust_External_Root.crt
mozilla/AddTrust_Low-Value_Services_Root.crt
mozilla/AddTrust_Public_Services_Root.crt
mozilla/AddTrust_Qualified_Certificates_Root.crt

Execute update-ca-certificates para reconstruir seu cache.

Depois disso, você terá a mesma corrente do seu navegador:

$ openssl s_client -connect flo2cash.com:443 -showcerts
CONNECTED(00000003)
depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Domain Validation Secure Server CA
verify return:1
depth=0 OU = Domain Control Validated, OU = Hosted by FreeParking Ltd, OU = COMODO SSL, CN = flo2cash.com
verify return:1
---

O caminho que um cliente constrói do certificado da entidade final para o certificado da CA raiz depende da lógica programada no cliente. Isso não está definido nas especificações, portanto, está sujeito à interpretação dos desenvolvedores de cada cliente em particular.

Com os dois certificados de CA raiz ativados no OpenSSL, ele escolhe o primeiro caminho mostrado. Seus navegadores escolheram de maneira diferente, porque podem.

    
por 24.11.2017 / 09:23
0

Qual certificado antigo? O certificado para a autoridade de certificação Comodo RSA da AddTrust External CA Root é enviado pelo servidor. O certificado raiz para AddTrust External deve vir do truststore de seu sistema; ele não é enviado pelo servidor e, mesmo que fosse, o OpenSSL descartava corretamente qualquer raiz recebida do servidor e confiava apenas em uma raiz encontrada no armazenamento confiável local. Eu não uso o Fedora mas o meu CentOS está no /etc/pki/tls/certs/ca-bundle.crt instalado em ca-certificates (e presumivelmente o RHEL é o mesmo).

Sim, esta raiz AddTrust é uma das raízes CA mais antigas ainda ativas. Embora o bridge cert não tenha antes de 2000-05-30 10:48:38 alinhando perfeitamente (e unrealistically) com o seu pai, tenho certeza que foi backdated; é assinado com o SHA384, mas o FIPS180-2 não foi publicado até 2002, muito menos amplamente implementado. (Por exemplo, o Windows XP não implementou certificados assinados pelo SHA2 até o SP3 em 2008.)

A própria raiz do Comodo RSA não temAntes de 2010-01-19 00:00:00, mas também pode ser retroativa, ou outra coisa foi mantida na prateleira por um tempo; ele também é assinado com SHA384, mas nenhuma das CAs públicas começou a fazer a emissão e cadeias SHA2 até o início de 2014 (a segunda tentativa de prazo do NIST) e a maioria até o final de 2015, quando o CABforum e alguns navegadores principais começaram a reclamar de SHA1. Eu não me lembro de onde a Comodo caiu nesse espectro, mas a única loja confiável que eu posso rastrear com o tempo, Oracle-anteriormente-Sun Java, não adicionou comodorsaca até 8u51 em 2015-06. (Tinha addtrustexternalca para 6u7 em 2008-06; não tenho os dados antes disso.)

Pelo menos uma parte O site da Comodo ainda mostra a cadeia de confiança através da ponte cert para AddTrust como correta, mesmo que ela expire em menos de 3 anos.

    
por 24.11.2017 / 09:28