Como instalo um certificado raiz?


223

Alguém pode me indicar um bom tutorial sobre como instalar um certificado raiz no ubuntu 10 ou 11?

Recebi um .crtarquivo. Eu entendo que é necessário criar um diretório /usr/share/ca-certificates/newdomain.orge colocá-lo .crt nesse diretório. Além disso, não tenho certeza de como proceder.


19
Se alguém estiver pousando aqui com um arquivo cer em vez de um crt, será a mesma coisa (apenas com uma extensão diferente). Você deve seguir estas respostas e apenas substituir o nome do arquivo.
— Oli

Btw: para uma maneira conveniente de obter certificados de CA na linha de comando, veja aqui , em falha do servidor.
— Frank Nocke

Respostas:


298

Instalando um certificado raiz / CA

Dado um arquivo de certificado de CA foo.crt, siga estas etapas para instalá-lo no Ubuntu:

  1. Crie um diretório para certificados CA adicionais em /usr/share/ca-certificates:

    sudo mkdir /usr/share/ca-certificates/extra
    
  2. Copie o .crtarquivo CA para este diretório:

    sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
    
  3. Deixe o Ubuntu adicionar o .crtcaminho do arquivo em relação /usr/share/ca-certificatesa /etc/ca-certificates.conf:

    sudo dpkg-reconfigure ca-certificates
    

    Para fazer isso de maneira não interativa, execute:

    sudo update-ca-certificates
    

No caso de um .pemarquivo no Ubuntu, ele deve primeiro ser convertido em um .crtarquivo:

openssl x509 -in foo.pem -inform PEM -out foo.crt

54
Que tal usar /usr/local/share/ca-certificates(local!) Em vez de usar um diretório gerenciado de gerenciamento de pacotes do sistema?
— gertvdijk

6
Observe que o Firefox (e talvez algum outro software) não usa os certificados em todo o sistema, mas possui seu próprio repositório de certificados: askubuntu.com/a/248326/79344 .
— Amir Ali Akbari,

12
Observe que o arquivo deve estar no formato PEM e ter a extensão ".crt".
— Anton

2
sudo dpkg-reconfigure ca-certificatesObrigado, o outro sudo update-ca-certificates --freshnão funcionou em 16.10.
— Antivirtel #

7
O comando openssl x509 -in foo.pem -inform PEM -out foo.crtcopia um arquivo PEM para um arquivo PEM. Isso pode ser feito mais facilmente renomeando.
— Marian

191

Dado um arquivo de certificado da CA 'foo.crt', siga estas etapas para instalá-lo no Ubuntu:

Primeiro, copie sua autoridade de certificação para dir /usr/local/share/ca-certificates/

sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt

atualize o armazenamento da CA

sudo update-ca-certificates

Isso é tudo. Você deve obter esta saída:

Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....
Adding debian:foo.pem
done.
done.

Nenhum arquivo é necessário para editar. O link para sua CA é criado automaticamente.

Observe que os nomes dos arquivos do certificado precisam terminar .crt, caso contrário, o update-ca-certificatesscript não será reconhecido.

Este procedimento também funciona em versões mais recentes: manuais .


1
isso parece não funcionar no confiável tahr 14.04
— mcantsin 28/03

25
Observe que, diferente da adição a / usr / share / ca-certificates, isso parece funcionar apenas se eles estiverem diretamente em / usr / local / share / ca-certificates e não em um subdiretório. +1 por usar a pasta local em vez da pasta do sistema!
— Toby J

2
Isso está documentado no README.Debian .
— pevik

1
@ Sparky1, esta deve ser a resposta aceita.
— Desenhou Chapin

1
@FranklinYu obrigado :) O Debian mudou de Alioth para Salsa, isso também funcionaria: salsa.debian.org/debian/ca-certificates/raw/master/debian/… , mas o sources.debian.org é melhor.
— pevik 12/09/18

7

Instale uma autoridade de certificação no Ubuntu

Eu testei isso no Ubuntu 14.04.

Aqui está minha solução: procurei e procurei por um longo tempo tentando descobrir como fazer isso funcionar.

  1. Extraia o .cer do navegador. Eu usei o IE 11.
    • Configurações -> Opções da Internet -> Autoridades intermediárias de certificado
    • Selecione a autoridade de certificação que você deseja exportar ( certutil -config - -pingmostrará as que você está usando se estiver atrás de um proxy corporativo)
    • Exportar -> Selecione o formato que você deseja usar: DER codificado .cer
  2. Obtenha os arquivos .cer para o Ubuntu de alguma forma
  3. Converta em .crt openssl x509 -inform DER -in certificate.cer -out certificate.crt
  4. Criar diretório extra sudo mkdir /usr/share/ca-certificates/extra
  5. Copiar certificados sudo cp certificate.crt /usr/share/ca-certificates/extra/certificate.crt
  6. sudo update-ca-certificates
  7. Se não, então você tem que fazer o que eu fiz, vá para sudo nano /etc/ca-certificates.conf
  8. Role para baixo e encontre seu .cer e remova-o !na frente do nome do arquivo (update-ca-certificates doc) - se você não encontrar o seu certificado executadodpkg-reconfigure ca-certificates
  9. Corre sudo update-ca-certificates
  10. Pode ser necessário confiar individualmente nos CAs do Firefox, Chrome etc., eu precisava que ele funcionasse com o Docker, portanto, após essas etapas, ele funcionou com o Docker.

1
isso funciona em 16.04?
— Endolith 14/10

O @endolith trabalhou para mim em 16.04.
— Shubham

4

Outras respostas não funcionaram para mim no Ubuntu 18.04. Anexe o certificado cert /etc/ssl/certs/ca-certificates.crtusando o seguinte comando:

cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt 

1
2 horas mexendo nos comandos de importação antes de eu encontrar isso. Perfeito!
— beirtipol 14/02

O comando está errado, a final sestá faltando: cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt . Obrigado por esta solução.
— SommerEngineering 15/04

Nota: Esta é a solução temporária, pois o certificado adicionado será removido após a execução update-ca-certificates.
— kenorb

3

Tenha o certificado (raiz / CA) disponível em um servidor da web, local na sua rede, se desejar.

  • Navegue até ele com o Firefox.
  • Abra o certificado e diga ao Firefox para adicioná-lo como uma exceção.
  • O Firefox perguntará se você deseja confiar neste certificado para identificar sites, usuários de email ou editores de software.
  • Desfrutar!

Atualização: Será necessário verificar se isso funciona no Ubuntu 11. Eu percebi que acabei de fazer isso no Ubuntu 12.04 LTS.


5
O Firefox não possui seu próprio contêiner de certificado? Se alguém adicionasse um certificado dessa maneira, apenas o Firefox poderia usá-lo, não?
— Aiyion.Prime

Isso não funciona, você ainda precisa adicioná-lo ao contêiner de certificado global do sistema operacional, caso contrário, ele estará apenas no contêiner do Firefox.
— arc_lupus

1

A partir daqui :

Instalando o certificado

Você pode instalar o arquivo de chave example.key e o arquivo de certificado example.crt, ou o arquivo de certificado emitido pela sua CA, executando os seguintes comandos em um prompt de terminal:

sudo cp example.crt /etc/ssl/certs
sudo cp example.key /etc/ssl/private

Agora basta configurar todos os aplicativos, com a capacidade de usar criptografia de chave pública, para usar o certificado e os arquivos de chave. Por exemplo, o Apache pode fornecer HTTPS, o Dovecot pode fornecer IMAPS e POP3S, etc.


Deveria ter lido mais de perto ... Parece que não é para certificados raiz. Essa página à qual eu vinculei tem informações sobre certificados raiz que podem ser úteis.
— jat255

1
Eu não tenho uma chave pública e uma chave privada, só tenho um .crt. Infelizmente, essas instruções parecem não se aplicar.
— Sparky1

0

Adicionar um certificado de CA raiz no FireFox agora é muito fácil. Basta abrir as preferências, vá para "Privacidade e segurança", role para baixo até "Certificados" e clique em "Ver certificados ...". Aqui você pode clicar em "Importar certificado". Aponte para sua CA raiz (.pem) e OK. Isso é tudo, pessoal.


0

Aqui estão os passos simples:

  1. Instale certificados de CA para permitir que aplicativos baseados em SSL verifiquem a autenticidade das conexões SSL:

    sudo apt-get install ca-certificates
    
  2. Copiar arquivo de certificado (crt ou.cer ) do para a /usr/local/share/ca-certificates/pasta, por exemplo:

    sudo cp file.crt /usr/local/share/ca-certificates/
    

    Para arquivo PEM, consulte: Converter .pem em .crt e .key .

    Opcionalmente, se você estiver usando o proxy Charles, este comando poderá funcionar:

    curl -L chls.pro/ssl | sudo tee /usr/local/share/ca-certificates/charles.crt
    
  3. Atualizar certificados:

    sudo update-ca-certificates
    

    O comando será atualizado /etc/ssl/certs diretório para conter certificados SSL e gera um ca-certificates.crtarquivo (uma lista concatenada de certificados de arquivo único).

    Nota: Não adicione certificados manualmente (como sugerido aqui ), pois eles não são persistentes e serão removidos.

Nota: Se você estiver executando como root, poderá soltar o sudocomando acima.


0

Esclarecimento entre update-ca-certificatese dpkg-reconfigure ca-certificatespor que um funciona e o outro não !!

update-ca-certificatesou sudo update-ca-certificates só funcionará se /etc/ca-certificates.conf tiver sido atualizado.

/etc/ca-certificate.conf é atualizado apenas uma vez que você executou, dpkg-reconfigure ca-certificates que atualiza os nomes dos certificados a serem importados para o/etc/ca-certificates.conf

Isto é afirmado no cabeçalho do /etc/ca-certificates.confarquivo:

# This file lists certificates that you wish to use or to ignore to be
# installed in /etc/ssl/certs.
# update-ca-certificates(8) will update /etc/ssl/certs by reading this file.
#
# This is autogenerated by dpkg-reconfigure ca-certificates.  <=======
# Certificates should be installed under /usr/share/ca-certificates
# and files with extension '.crt' is recognized as available certs.
#
# line begins with # is comment.
# line begins with ! is certificate filename to be deselected.
#
mozilla/ACCVRAIZ1.crt
mozilla/AC_RAIZ_FNMT-RCM.crt
mozilla/Actalis_Authentication_Root_CA.crt
mozilla/AddTrust_External_Root.crt
...

Como você pode ver, o formato em /etc/ca-certificates.confé<folder name>/<.crt name>

Portanto, para usar update-ca-certificatesou sudo update-ca-certificatesvocê pode fazer o seguinte para importar um .crt:

  1. Crie um diretório para certificados CA adicionais em / usr / share / ca-certificates:

    sudo mkdir /usr/share/ca-certificates/extra

  2. Copie o arquivo .crt para este diretório:

    sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt

  3. Acrescente uma linha ao /etc/ca-certificates.confuso <folder name>/<.crt name>:

    echo "extra/foo.crt" >> /etc/ca-certificate.conf

  4. Atualizar certificados não interativamente com sudo update-ca-certificates

    sudo update-ca-certificates

    ... Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.

Diverta-se!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.