O que são arquivos .crt e .key e como gerá-los?

60

Eu tenho a seguinte configuração:

SSLEngine on
SSLCertificateFile /etc/httpd/conf/login.domain.com.crt
SSLCertificateKeyFile /etc/httpd/conf/login.domain.com.key
SSLCipherSuite ALL:-ADH:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP

mas não sei como gerar .crte .keyarquivos.

Mohammad Ali Akbari
fonte

Respostas:

65

Os arquivos crt e key representam as duas partes de um certificado, sendo a chave a chave privada do certificado e crt o certificado assinado.

É apenas uma das maneiras de gerar certificados, outra maneira seria ter ambos dentro de um arquivo pem ou outro em um contêiner p12.

Você tem várias maneiras de gerar esses arquivos. Se você deseja assinar automaticamente o certificado, basta emitir estes comandos

openssl genrsa 2048 > host.key
chmod 400 host.key
openssl req -new -x509 -nodes -sha256 -days 365 -key host.key -out host.cert

Observe que, com certificados autoassinados, seu navegador avisa que o certificado não é "confiável" porque não foi assinado por uma autoridade de certificação que está na lista confiável do seu navegador.

A partir daí, você pode gerar sua própria cadeia de confiança criando sua CA ou comprar um certificado de uma empresa como Verisign ou Thawte.

Lynxman
fonte
depois de executar "openssl genrsa 1024> host.key", obtive isso no terminal: "e é 65537 (0x10001)", é um erro?
Mohammad Ali Akbari
1
Sim, isso significa que o openssl não pode gravar a semente aleatória no arquivo padrão que ele usa, que é definido por openssl.cnf, por padrão no CentOS / RHEL esse arquivo está em /etc/pki/tls/openssl.cnf. Tente executar os mesmos comandos que o root neste caso e veja como vai.
Lynxman
Eu tento como raiz, mas recebi "e é 65537 (0x10001)" novamente
Mohammad Ali Akbari
1
Você tem o SELinux ativado em sua máquina? Verifique / var / log / messages para ver por que o openssl não pode gravar o arquivo.
lynxman
4
letsencrypt.org é um provedor ssl gratuito. Dê uma olhada nele, em vez de pagar muito dinheiro para essas empresas.
Kaan
6

Essas são as partes pública (.crt) e privada (.key) de um certificado SSL. Veja esta pergunta para uma infinidade de informações relevantes, por exemplo, se você deseja gerar um certificado ou comprar um.

mad_vs
fonte
Pergunta básica, mas - estou assumindo que devo copiar o arquivo .key para minha ~/.sshpasta, quando carrego meu arquivo CSR no meu provedor de SSL?
Qasim
1
Os arquivos SSL @Qasim não têm nada a ver com SSH (que é o que pertence a pasta .ssh).
217717 maddvs