Obtenha os ids chave e as impressões digitais do apt em formato legível por máquina

9

Estou tentando corrigir um problema no puppetlabs-apt para ativar o uso de impressões digitais de chave como identificadores para garantir que uma determinada chave esteja presente por sua impressão digital de chave de 40 dígitos.

Estou com dificuldades para verificar se a chave está presente e preciso de um comando que produza o seguinte:

  • O ID de 8 dígitos da chave.
  • O ID de 16 dígitos da chave.
  • O ID de 40 dígitos da chave.

Existe um comando apt-key que posso usar para gerar esses valores, um por linha, para que eu possa analisar a saída e verificar se a chave está presente?

    
por Naftuli Kay 22.12.2014 / 23:10

1 resposta

17

apt-key adv permitirá que você passe diretamente as opções para o GnuPG.

Assim, você pode fazer algo assim para obter resultados mensuráveis:

# apt-key adv --list-public-keys --with-fingerprint --with-colons 
⋮
fpr:::::::::126C0D24BD8A2942CC7DF8AC7638D0442B90D010:
pub:-:4096:1:9D6D8F6BC857C906:2014-11-21:2022-11-19::-:Debian Security Archive Automatic Signing Key (8/jessie) <[email protected]>::scSC:
fpr:::::::::D21169141CECD440F2EB8DDA9D6D8F6BC857C906:
⋮

Como você está interessado apenas na impressão digital (os IDs de 8 e 16 dígitos são apenas o final da impressão digital), | grep ^fpr parece dar a você as linhas de seu interesse.

    
por 23.12.2014 / 00:07

Tags