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.