Obtenha o arquivo .cer do arquivo .pem

13

Eu criei a chave privada RSA usando o comando abaixo:

openssl genrsa -out privkey.pem 2048

E criou um certificado autoassinado usando o comando abaixo:

openssl req -new -x509 -key privkey.pem -out cacert.pem -days 3650

Agora estou tentando converter o arquivo .pem cacert em certificado .cer

Alguma ideia?

Devarshi
fonte
1
De acordo com support.ssl.com/Knowledgebase/Article/View/19/0/…, .pem é uma codificação e .ceruma extensão. Resumidamente: um .cerarquivo pode conter uma PEMou uma DERcodificação. O que exatamente você precisa? (O link deve ajudá-lo.)
Fabian
Encontrei comando para criar certificado autoassinado a partir deste link: openssl.org/docs/HOWTO/certificates.txt Aqui está o texto completo: Se você não deseja lidar com outra autoridade de certificação ou apenas deseja criar um certificado de teste para você mesmo. Isso é semelhante à criação de uma solicitação de certificado, mas cria um certificado em vez de uma solicitação de certificado.
precisa saber é o seguinte
Isso realmente não responde ao que você precisa: Qual é o objetivo do certificado que você gera? Talvez um servidor HTTPS? Ou autenticação pessoal para algum aplicativo? Mas acho que você já recebeu boas respostas abaixo para o que pediu.
Fabian
O cenário é: estamos criando um par de chaves público-privado no aplicativo Android e precisamos compartilhar a chave pública em um aplicativo iOS, a única maneira que encontrei para compartilhá-la é através de um certificado autoassinado. As APIs do iOS extraem a chave pública do certificado com esta extensão (um exemplo): some_certificate.cer. Por enquanto, estou tentando gerar some_certificate.cer através do terminal e validar se é capaz de extrair a chave pública e executar criptografia usando o mesmo.
precisa saber é o seguinte
Não posso ajudá-lo com as coisas do iOS. Mas meu entendimento é que a extensão .cer é usada apenas pela Microsoft. Se as respostas abaixo não ajudarem, você pode perguntar em um local relacionado à programação do iOS.
Fabian

Respostas:

37

Você pode usar o seguinte comando:

openssl x509 -inform PEM -in cacert.pem -outform DER -out certificate.cer
cioby23
fonte
2

.cer é um tipo de arquivo para codificação DER ou Base64, se bem me lembro.

openssl x509 -em cacert.pem -out cacert.cer -informa pem -outform der para o formato DER.

Marca
fonte
1

A extensão real não importa para certificados. Normalmente, os arquivos .pem têm um certificado x509 no formato codificado em base64. Os arquivos .cer podem ser codificados em base64 ou DER (o Windows também reconhece). Dependendo do seu aplicativo, você precisará descobrir qual formato de certificado o aplicativo requer.

Para converter entre a codificação base64 (PEM) e DER:

openssl x509 -in cert.pem -outform pem -outform der -out cert.cer
mtak
fonte