Como obter o ID da chave de um arquivo .pem openssl?

4

Eu tenho uma chave privada .pem gerada pelo openssl. Como extrair o ID da chave dele?

Editar: o par de chaves rsa gerado é para o cloudfront da Amazon. Quando carregado no console, um 'ID de chave' é exibido. No entanto, a chave privada que geramos não é para minha conta e não tenho nenhum espaço disponível para carregar a chave pública na minha conta da AWS (há um limite de duas chaves públicas).

    
por ascobol 27.09.2011 / 12:03

2 respostas

9

As chaves nuas não possuem "IDs de chave". Eles são apenas séries de números.

Se a chave pertencer a um certificado X.509, a impressão digital do certificado (um hash SHA-1 do certificado codificado por DER) será usada para identificação: openssl x509 -outform der | openssl sha1 ou openssl x509 -noout -fingerprint .

Caso contrário (se for apenas um par de chaves público / privado), o hash SHA-1 da chave public é usado algumas vezes (novamente, codificação DER), mas não sei de nenhum padrão para isso. Você pode extrair a chave pública com openssl rsar -pubout -outform der , novamente canalizando para openssl sha1 se é isso que seu programa requer.

Os "IDs de pares de chaves" usados pelo CloudFront são números de série da entrada do banco de dados com essa chave. A mesma chave, carregada duas vezes, terá diferentes IDs; Eu apenas testei isso.

    
por 27.09.2011 / 13:48
2

A Amazon agora fornece ferramentas para executar tais ações em qualquer servidor (não apenas servidores em execução no EC2). Em qualquer computador Ubuntu você pode instalar as ferramentas com apt-get :

$ sudo apt-get install ec2-ami-tools ec2-api-tools

Aqui está a sintaxe para obter a impressão digital de My.pem :

$ ec2-fingerprint-key My.pem
62:44:56:f7:91:f2:8b:9b:44:7c:17:0e:39:c7:34:68:f5:b2:3c:57

Como ec2-fingerprint-key é um pouco longo para ser digitado, existe um atalho equivalente ec2fp :

$ ec2fp My.pem
62:44:56:f7:91:f2:8b:9b:44:7c:17:0e:39:c7:34:68:f5:b2:3c:57
    
por 10.04.2014 / 19:42