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


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

Edit: o keypair 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).


4


origem


Existe algum programa específico que requer que você insira esse ID de chave? - grawity


Respostas:


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 sha1ou openssl x509 -noout -fingerprint.

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


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


9



obrigado. Eu editei minha pergunta. Parece que a maneira de gerar essa ID de chave da AWS é proprietária, então minha pergunta é simplesmente errada ... - ascobol
As identificações de chave do CloudFront são de fato proprietárias; veja a resposta atualizada. - grawity


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 para 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 digitar, 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

2