Como confio em um certificado autoassinado?

2

Gerei um certificado auto-assinado usando o openssl - ele é totalmente auto-assinado e não está assinado por uma CA auto-assinada. Eu o importei com sucesso para o banco de dados nss para uso pelos navegadores. Agora eu quero confiar nele globalmente, para que ferramentas como wget, curl etc ... não importunam.

Conforme instruções em outros lugares, eu copiei meu certificado para / etc / pki / ca-trust / source / anchors / e executei "update-ca-trust extract". Infelizmente isso parece funcionar apenas em certificados de CA e não em certificados únicos. Como posso conseguir o que eu estou depois? Eu sei que posso gerar uma CA autoassinada e assinar meu certificado com isso, mas tenho motivos para não fazer isso.

Eu gerou meu certificado assim:

openssl genrsa -out server.key 4096
openssl req -new -key server.key -out server.crt
openssl x509 -sha256 -req -extensions v3_req -days 3650 -in server.csr -signkey server.key -out server.crt -extfile /etc/pki/tls/openssl.cnf

Qualquer ajuda seria muito apreciada!

    
por dcrdev 19.10.2015 / 19:03

3 respostas

4

Você deseja confiar em um certificado auto-assinado para identificar o servidor usado sem confiar nele como uma autoridade de certificação para assinar outros certificados ou ativar sua própria raiz de autoridade de certificação.

Para o RedHat 6, você precisa colocar o certificado do servidor em /etc/pki/tls/certs/ , em um arquivo cujo nome é o número do hash do certificado, com .0 anexado.

Comece colocando o certificado em um arquivo temporário, digamos /tmp/selfie.crt . Encontre o hash com openssl x509 -noout -hash -in /tmp/selfie.crt ; vamos supor que por causa do argumento é 1234abcd . Coloque o certificado no repositório confiável para o RH6 com cp /tmp/selfie.crt /etc/pki/tls/certs/1234abcd.0 .

Obrigado ao guia de Nick Burch sobre o assunto para atualizar minha memória sobre os detalhes.

Embora agora você possa obter certificados assinados publicamente por US $ 9 para o ano, se não menos, está começando a causar mais problemas do que vale a pena fazer isso.

    
por 20.10.2015 / 16:06
1

Um certificado de CA é um certificado. Portanto, adicionar seu certificado no diretório deve funcionar. Acabei de tentar adicionar um dos certificados que eu confiei no firefox em / etc / ca-certificates / trust-source / anchors /, excluí-lo do meu certificado confiável em ff. Eu recarreguei a página e ela me avisou que o certificado não era confiável. Eu reiniciei o firefox e agora posso acessar a página.

Eu tive que atualizar-ca-trust para funcionar com o wget.

A mina está no formato .pem, no arquivo BEGIN / END. Que distro você usa? Você tentou reiniciar suas ferramentas?

    
por 20.10.2015 / 15:28
-3

Uma autoridade de certificação precisa emitir um certificado. Consulta para uma organização na internet. O certificado custa dinheiro, mas também há organizações que emitem certificados gratuitamente. Se um certificado não for confiável para uma organização confiável, o navegador exibirá um aviso de segurança, por exemplo, the certificate is not trusted because the issuer certificate is unknown . Observe também que o nome do certificado precisa ser idêntico ao fqdn do site.

    
por 19.10.2015 / 23:51