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.

Sparky1
fonte
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
Bai
fonte
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 .

Frantisek Boranek
fonte
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.
Alex
fonte
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 
Jasmit Tarang
fonte
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.

Ian Green
fonte
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.

jat255
fonte
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.

pizzamonster
fonte
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.

kenorb
fonte
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!

mahatmanich
fonte