O que saber
- Um arquivo PEM é um arquivo Privacy Enhanced Mail Certificate.
- Abra um com o programa ou sistema operacional que requer o arquivo (todos funcionam de maneira um pouco diferente).
- Converter para PPK, PFX ou CRT com um comando ou conversor especial.
Este artigo explica para que são usados os arquivos PEM, como abrir um dependendo do programa ou sistema operacional que você está usando e como converter um para um formato de arquivo de certificado diferente.
O que é um arquivo PEM?
Um arquivo PEM é um arquivo de certificado de email com privacidade aprimorada usado para transmitir emails de maneira privada. A pessoa que recebe este e-mail pode ter certeza de que a mensagem não foi alterada durante a transmissão, não foi mostrada a mais ninguém e foi enviada pela pessoa que afirma tê-la enviado.
Os arquivos PEM surgiram da complicação de enviar dados binários por e-mail. O formato PEM codifica binário com base64 para que exista como uma string ASCII.
O formato PEM foi substituído por tecnologias mais novas e mais seguras, mas o contêiner PEM ainda é usado hoje para armazenar arquivos de autoridade de certificação, chaves públicas e privadas, certificados raiz, etc.
Alguns arquivos no formato PEM podem usar uma extensão de arquivo diferente, como CER ou CRT para certificados, ou KEY para chaves públicas ou privadas.
Como abrir arquivos PEM
As etapas para abrir um arquivo PEM são diferentes dependendo do aplicativo que precisa dele e do sistema operacional que você está usando. No entanto, pode ser necessário converter seu arquivo PEM para CER ou CRT para que alguns desses programas aceitem o arquivo.
Windows
Se você precisar do arquivo CER ou CRT em um cliente de e-mail da Microsoft como o Outlook, abra-o no Internet Explorer para que ele seja carregado automaticamente no banco de dados apropriado. O cliente de e-mail pode usá-lo automaticamente a partir daí.
A Microsoft não suporta mais o Internet Explorer e recomenda que você atualize para o navegador Edge mais recente. Vá ao site deles para baixar a versão mais recente.
Para ver quais arquivos de certificado estão carregados no seu computador e para importar manualmente, use o menu Ferramentas do Internet Explorer para acessar Opções da Internet> Conteúdo > Certificados, assim:
Para importar um arquivo CER ou CRT para o Windows, comece abrindo o Microsoft Management Console na caixa de diálogo Executar (use a tecla Tecla Windows + R atalho de teclado para digitarmmc ). A partir daí, vá para File > Add/Remove Snap-in… e selecione Certificates na coluna da esquerda e, em seguida, o Adicione o botão > no centro da janela.
Escolha Computer account na tela a seguir e, em seguida, percorra o assistente, selecionando Local computer quando solicitado. Depois que "Certificates" for carregado em "Console Root", expanda a pasta e clique com o botão direito do mouse em Trusted Root Certification Authorities e escolha All Tasks > Importar
macOS
O mesmo conceito vale para o seu cliente de e-mail Mac e para o Windows: use o Safari para importar o arquivo PEM para o Acesso às Chaves.
Você também pode importar certificados SSL através do menu File > Importar Itens no Acesso às Chaves. Escolha System no menu suspenso e siga as instruções na tela.
Se esses métodos não funcionarem para importar o arquivo PEM para o macOS, você pode tentar o seguinte comando (altere "yourfile.pem" para ser o nome e o local do seu arquivo PEM específico):
security import yourfile.pem -k ~/Library/Keychains/login.keychain
Linux
Use este comando keytool para visualizar o conteúdo de um arquivo PEM no Linux:
keytool -printcert -file yourfile.pem
Siga estas etapas se quiser importar um arquivo CRT para o repositório de autoridade de certificação confiável do Linux (consulte o método de conversão PEM para CRT na próxima seção abaixo se você tiver um arquivo PEM):
- Navegue até /usr/share/ca-certificates/.
- Crie uma pasta lá (por exemplo, sudo mkdir /usr/share/ca-certificates/work).
- Copie o arquivo. CRT para a pasta recém-criada. Se preferir não fazer isso manualmente, você pode usar este comando: sudo cp yourfile.crt /usr/share/ca-certificates/work/yourfile.crt.
- Certifique-se de que as permissões estão definidas corretamente (755 para a pasta e 644 para o arquivo).
Execute o comando sudo update-ca-certificates.
Firefox e Thunderbird
Se o arquivo PEM precisar ser importado para um cliente de e-mail Mozilla como o Thunderbird, talvez seja necessário primeiro exportar o arquivo PEM do Firefox. Abra o menu Firefox e escolha Options Vá para Privacy & Security e encontre a seção Security e, em seguida, use o botão Ver Certificados… para abrir uma lista, de onde você pode selecionar o que deseja exportar. Use a opção Backup… para salvá-lo.
Então, no Thunderbird, abra o menu e clique ou toque em Options Navegue até Advanced > Certificates> Gerenciar Certificados > Seus Certificados > Importar Na seção "Nome do arquivo:" de na janela Importar, escolha Arquivos de certificado no menu suspenso e, em seguida, localize e abra o arquivo PEM.
Para importar o arquivo PEM para o Firefox, siga os mesmos passos que você faria para exportar um, mas escolha Import ao invés do botão Backup…. Se você não conseguir encontrar o arquivo PEM, certifique-se de que a área "Nome do arquivo" da caixa de diálogo esteja definida como Certificate Files e não PKCS12 Files
Java KeyStore
Stack Overflow tem um tópico sobre como importar um arquivo PEM para o Java KeyStore (JKS) se você precisar fazer isso. Outra opção que pode funcionar é usar esta ferramenta keyutil.
Como converter um arquivo PEM
Ao contrário da maioria dos formatos de arquivo que podem ser convertidos com uma ferramenta de conversão de arquivo ou site, você precisa inserir comandos especiais em um programa específico para converter o formato de arquivo PEM para a maioria dos outros formatos.
Converter PEM para PPK com PuTTYGen. Escolha Load no lado direito do programa, defina o tipo de arquivo como qualquer arquivo (.) e, em seguida, procure e abra seu arquivo PEM. Escolha Salvar chave privada para criar o arquivo PPK.
Com OpenSSL (obtenha a versão do Windows aqui), você pode converter o arquivo PEM para PFX com o seguinte comando:
openssl pkcs12 -inkey yourfile.pem -in yourfile.cert -export -out yourfile.pfx
Se você tem um arquivo PEM que precisa ser convertido para CRT, como é o caso do Ubuntu, use este comando com OpenSSL:
openssl x509 -in yourfile.pem -inform PEM -out yourfile.crt
OpenSSL também suporta a conversão de. PEM para. P12 (PKCS12, ou Public Key Cryptography Standard 12), mas acrescente a extensão de arquivo ". TXT" no final do arquivo antes de executar este comando:
openssl pkcs12 -export -inkey yourfile.pem.txt -in yourfile.pem.txt -out yourfile.p12
Veja o link do Stack Overflow acima sobre como usar o arquivo PEM com Java KeyStore se quiser converter o arquivo para JKS, ou este tutorial da Oracle para importar o arquivo para o truststore Java.
Mais informações sobre PEM
O recurso de integridade de dados do formato Privacy Enhanced Mail Certificate usa resumos de mensagens RSA-MD2 e RSA-MD5 para comparar uma mensagem antes e depois de ser enviada, para garantir que ela não tenha sido adulterada ao longo do caminho.
No início de um arquivo PEM há um cabeçalho que diz -----BEGIN [label]-----, e o final dos dados é um rodapé semelhante a este: ----- FIM [rótulo] -----. A seção "[rótulo]" descreve a mensagem, portanto, pode ser PRIVATE KEY, CERTIFICATE REQUEST ou CERTIFICATE.
Aqui está um exemplo:
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMLgD0kAKDb5cFyP
jbwNfR5CtewdXC+kMXAWD8DLxiTTvhMW7qVnlwOm36mZlszHKvsRf05lT4pegiFM
9z2j1OlaN+ci/X7NU22TNN6crYSiN77FjYJP464j876ndSxyD+rzys386T+1r1aZ
aggEdkj1TsSsv1zWIYKlPIjlvhuxAgMBAAECgYA0aH+T2Vf3WOPv8KdkcJg6gCRe
yJKXOWgWRcicx/CUzOEsTxmFIDPLxqAWA3k7v0B+3vjGw5Y9lycV/5XqXNoQI14j
y09iNsumds13u5AKkGdTJnZhQ7UKdoVHfuP44ZdOv/rJ5/VD6F4zWywpe90pcbK+
AWDVtusgGQBSieEl1QJBAOyVrUG5l2234raSDfm/DYyXlIthQO/A3/LngDW
5/ydGxVsT7lAVOgCsoT+0L4efTh90PjzW8LPQrPBWVMCQQDS3h/FtYYd5lfz +FNL
9CEe1F1w9l8P749uNUD0g317zv1tatIqVCsQWHfVHNdVvfQ+vSFw38OORO00Xqs9
1GJrAkBkoXXEkxCZoy4PteheO/8IWWLGGr6L7di6MzFl1lIqwT6D8L9oaV2vynFT
DnKop0pa09Unhjyw57KMNmSE2SUJAkEArloTEzpgRmCq4IK2/NpCeGdHS5uqRlbh
1VIa/xGps7EWQl5Mn8swQDel/YP3WGHTjfx7pgSegQfkyaRtGpZ9OQJAa9Vumj8m
JAAtI0Bnga8hgQx7BhTQY4CadDxyiRGOGYhwUzYVCqkb2sbVRH9HnwUaJT7cWBY3
RnJdHOMXWem7/w==
Um arquivo PEM pode conter vários certificados, nesse caso as seções "END" e "BEGIN" são vizinhas.
Ainda não consegue abrir o arquivo?
Uma razão pela qual seu arquivo não abre em nenhuma das formas descritas acima é que você não está lidando com um arquivo PEM. Em vez disso, você pode ter um arquivo que usa apenas uma extensão de arquivo com grafia semelhante. Quando for esse o caso, não há necessidade de os dois arquivos estarem relacionados ou de funcionarem com os mesmos programas de software.
Por exemplo, o PEF se parece muito com o PEM, mas pertence ao formato de arquivo Pentax Raw Image ou Portable Embosser Format. Siga esse link para ver como abrir ou converter arquivos PEF, se é isso que você realmente tem.
O mesmo pode ser dito para muitas outras extensões de arquivo como EPM, EMP, EPP, PES, PET…você entendeu. Apenas verifique a extensão do arquivo para ver se ele realmente lê ".pem" antes de considerar que os métodos acima não funcionam.
Se você estiver lidando com um arquivo KEY, saiba que nem todos os arquivos que terminam em. KEY pertencem ao formato descrito nesta página. Eles podem ser arquivos de chave de licença de software usados ao registrar programas de software como LightWave ou arquivos de apresentação do Keynote criados pelo Apple Keynote.
FAQ
Como crio um arquivo PEM?
O primeiro passo para criar um arquivo PEM é baixar os certificados que sua autoridade de certificação lhe enviou. Isso incluirá um certificado intermediário, um certificado raiz, um certificado primário e arquivos de chave privada.
Em seguida, abra um editor de texto, como WordPad ou Notepad, e cole o corpo de cada certificado em um novo arquivo de texto. Eles devem estar nesta ordem: Chave Privada, Certificado Primário, Certificado Intermediário, Certificado Raiz. Adicione tags inicial e final. Eles ficarão assim:
Finalmente, salve o arquivo como seu_domínio.pem.
Um arquivo PEM é a mesma coisa que um arquivo CRT?
Não. Os arquivos PEM e CRT estão relacionados; ambos os tipos de arquivo representam diferentes aspectos do processo de geração e verificação de chave. Os arquivos PEM são contêineres destinados a verificar e descriptografar dados que um servidor envia. Um arquivo CRT (que significa certificado) representa uma solicitação de assinatura de certificado. Os arquivos CRT são uma maneira de verificar a propriedade sem acesso à chave privada. Os arquivos CRT contêm a chave pública junto com muito mais informações.