Alguém pode me dizer a maneira / comando correto para extrair / converter os arquivos de certificado .crt
e chave privada .key
de um .pem
arquivo? Acabei de ler que eles são intercambiáveis, mas não como.
ssl
certificate
private-key
Lanbo
fonte
fonte
Respostas:
Eu era capaz de converter pem para crt usando este:
fonte
openssl pkey -in mumble.pem -out mumble-key.pem
Se a versão do OpenSSL for anterior à 1.0.0, extraia a chave como uma chave RSA:openssl rsa -in mumble.pem -out mumble-key.pem
unable to load certificate 140584440387400:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE
Expecting: ANY PRIVATE KEY
erro.Convertendo usando OpenSSL
Esses comandos permitem converter certificados e chaves em diferentes formatos para torná-los compatíveis com tipos específicos de servidores ou software.
Converta um arquivo DER (.crt .cer .der) em PEM
Converta um arquivo PEM para DER
Converta um arquivo PKCS # 12 (.pfx .p12) que contém uma chave privada e certificados em PEM
Converta um arquivo de certificado PEM e uma chave privada em PKCS # 12 (.pfx .p12)
Converter PEM para CRT (arquivo .CRT)
OpenSSL Convert PEM
Converter PEM para DER
Conversão PEM para P7B
Conversão PEM para PFX
OpenSSL Convert DER
Conversão DER para PEM
OpenSSL Convert P7B
Converter P7B para PEM
Converter P7B para PFX
OpenSSL Convert PFX
Conversão PFX para PEM
Gere chaves rsa pelo OpenSSL
Usando o OpenSSL na linha de comando que você primeiro precisaria para gerar uma chave pública e privada, você deve proteger esse arquivo com senha usando o argumento -passout; existem muitas formas diferentes que esse argumento pode usar; consulte a documentação do OpenSSL sobre isso.
Isso cria um arquivo de chave chamado private.pem que usa 1024 bits. Na verdade, esse arquivo possui as chaves pública e privada, portanto, você deve extrair a pública desse arquivo:
Arquivo de exemplo:
Agora você tem alguns dados em file.txt, vamos criptografá-los usando o OpenSSL e a chave pública:
Isso cria uma versão criptografada do arquivo.txt, chamando-o de arquivo.ssl, se você olhar para esse arquivo, é apenas lixo binário, nada muito útil para ninguém. Agora você pode descriptografá-lo usando a chave privada:
Agora você terá um arquivo não criptografado em decrypted.txt:
Opções do RSA TOOLS no OpenSSL
NOME
SINOPSE
DESCRIÇÃO
OPÇÕES DE COMANDO
NOTAS
O formato de chave privada do PEM usa as linhas de cabeçalho e rodapé:
O formato de chave pública do PEM usa as linhas de cabeçalho e rodapé:
O formato PEM RSAPublicKey usa as linhas de cabeçalho e rodapé:
EXEMPLOS
Para remover a frase secreta em uma chave privada RSA:
Para criptografar uma chave privada usando o DES triplo:
Para converter uma chave privada do formato PEM para DER:
Para imprimir os componentes de uma chave privada na saída padrão:
Para gerar apenas a parte pública de uma chave privada:
Saída da parte pública de uma chave privada no formato RSAPublicKey:
fonte
Para extrair a chave e o certificado de um arquivo pem:
Extrair chave
Outro método de extrair a chave ...
Extraia todos os materiais, incluindo a corrente CA
Extrair o primeiro certificado textualmente como DER
fonte
0. Pré - requisito :
openssl
deve ser instalado. No Windows, seGit Bash
estiver instalado, tente isso! Binários alternativos podem ser encontrados aqui.1. Extrair
.key
de.pem
:2. Extrair
.crt
de.pem
:fonte
Um .crt armazena o certificado .. no formato pem. Portanto, um .pem, embora também possa ter outras coisas como um csr (solicitação de assinatura de certificado), uma chave privada, uma chave pública ou outros certificados, quando está armazenando apenas um certificado, é a mesma coisa que um .crt.
Um pem é um arquivo codificado na base 64 com um cabeçalho e um rodapé entre cada seção.
Para extrair uma seção específica, um script perl como o seguinte é totalmente válido, mas fique à vontade para usar alguns dos comandos openssl.
onde == 1 pode ser alterado para qualquer seção que você precisar. Obviamente, se você souber exatamente o cabeçalho e o rodapé necessários e houver apenas um no arquivo (geralmente o caso se você mantiver apenas o certificado e a chave), poderá simplificá-lo:
fonte
Se você fez esta pergunta porque está usando
mkcert
, o truque é que o.pem
arquivo é o certificado e o-key.pem
arquivo é a chave.(Você não precisa converter, basta executar
mkcert yourdomain.dev otherdomain.dev
)fonte