Como encontro o último certificado de CA em um certificado 'válido'?

4

Então eu cuido de dois servidores, um antigo e outro novo. O antigo usa o nosso url antigo, o novo, o nosso novo URL, ambos são assinados internamente.

O certificado HTTPS está prestes a expirar no antigo, então eu verifiquei e mesmo que ele tenha mais 1 mês, ele está identificando como inválido, devido à sua autoridade de certificação, que é uma máquina interna. br> No entanto, o novo servidor, que tem um certificado assinado internamente de forma semelhante, é exibido como válido, embora seja assinado por uma autoridade interna diferente.

Eu estou lutando para descobrir por que o novo certificado está bem, mas o antigo não é. Ou o novo certificado tem alguma mágica em que eu não estou ciente (como o pai final na cadeia de assinatura é um dos certs bem conhecidos na minha CA, mas não aparece quando eu interrogar o .crt), ou o pai não familiar (interno) .crt na cadeia de assinatura, foi adicionado aos certificados de ca no meu cliente ubuntu.

Quais são os comandos cli no meu desktop ubuntu, ou o cliente centos, que eu posso usar para descobrir? Se a razão pela qual o novo .crt funciona, é por causa de um certificado que foi instalado na minha área de trabalho, como eu encontro onde esse certificado está instalado (e como faço para copiá-lo para outras máquinas centos)?

Eu tentei openssl s_client -connect -showcerts identificar a cadeia nos dois servidores e eles acabam com uma autoridade de assinatura CN que é interna. Eu fiz o download dos certificados e execute openssl verify -verbose -issuer_checks e não vejo nenhuma autoridade de pai que eu reconheça. Corri as mesmas coisas em www.google.com e recebo um pai familiar de 'GeoTrust Global CA', por isso estou inclinado a adicionar a autoridade pai interna aos meus certificados de ca local, mas como posso verificar?

O CN que está relatando como a autoridade final em todos os casos não é um nome DNS, então eu não posso baixar esse arquivo .crt de algum lugar, tudo que eu tenho é o que está no novo url .crt, então pode Eu uso openssl para procurar o certificado, de apenas um CN (que presumivelmente o openssl está fazendo internamente para concluir que é válido, se o pai aparente .crt não estiver em meus certificados de ca local)?

Editar: Eu acho que a chave mestra foi adicionada aos meus certificados chrome (libnss3). O que é necessário para adicionar a mesma chave mestra, para que ela seja suportada por algo diferente de chrome (como php e openssl no cli)

    
por sibaz 15.05.2017 / 13:04

1 resposta

0

Se alguém puder encontrar uma resposta melhor, por favor, mas o melhor que encontrei foi: link

Descobri em meu desktop ubuntu que /usr/share/ca-certificates é o local principal para certificados, mas o que eu procurava era em /usr/local/share/ca-certificates . Eu o encontrei usando find -iname "*<NAME>*" e procurando por um nome que correspondesse ao nome do host pai em meu chaveiro.

Também achei que, embora o Chrome na minha área de trabalho reconhecesse o certificado como válido, algumas ferramentas cli (incluindo o openssl) não o fizeram. Por isso, encontrei uma referência em nossos documentos para esse comando para adicionar a libnss , que aparentemente é o que o chrome usa como ca autoridade

certutil -d sql:${HOME}/.pki/nssdb/ -A -t "C,," \
         -n "<CERTIFICATE NAME>" \
         -i /usr/local/share/ca-certificates/<CERTIFICATE>.crt

O link acima para gfi incluiu algumas coisas realmente úteis sobre o gerenciamento de ca-certs no ubuntu / centos. Este é o material que eu compilei para o nosso próprio wiki interno: -

Linux (Ubuntu, Debian)

Adicionar

  1. Copie sua CA para dir /usr/local/share/ca-certificates/
  2. Use o comando: sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt
  3. Atualizar o repositório de autoridades de certificação: sudo update-ca-certificates

Remover

  1. Remova sua CA.
  2. Atualizar o repositório de autoridades de certificação: sudo update-ca-certificates --fresh

Linux (CentOS 6)

Adicionar

  1. Instale o pacote ca-certificates: yum install ca-certificates
  2. Ativar o recurso de configuração dinâmica da CA: update-ca-trust force-enable
  3. Adicione-o como um novo arquivo a /etc/pki/ca-trust/source/anchors/ : cp foo.crt /etc/pki/ca-trust/source/anchors/
  4. Use o comando: update-ca-trust extract

Espero que isso poupe o tempo que eu tive que gastar procurando coisas.

    
por 16.05.2017 / 14:26