Repo de pacote do FreeBSD - como fazer a verificação de assinatura manual?

8

Estou tentando verificar uma assinatura de um pacote no site do pacote FreeBSD

wget http://pkg.freebsd.org/FreeBSD:11:amd64/latest/digests.txz
tar xf digests.txz

Isso fornece três arquivos: digests , digests.pub digests.sig
Eu entendo que digests.sig é uma assinatura para o arquivo digests com digests.pub como chave pública. Mas eu tentei confirmar isso:

openssl dgst -verify digests.pub -signature digests.sig digests

e recebi a mensagem

Verification Failure

Eu suponho que tenho algo errado - alguém pode me dizer o que eu estou sentindo falta?

EDIT: Baseado em uma busca através do código-fonte, eu acho que a importante função é encontrada aqui , chamado rsa_verify_cert_cb , que chama RSA_verify da biblioteca openssl. Mas ainda não descobri o que está sendo alimentado, ou se é possível chamar essa função usando as ferramentas de linha de comando openssl .

    
por SauceCode 28.11.2016 / 23:59

1 resposta

0

Essa mensagem está dizendo que a chave pública não corresponde ao arquivo que você baixou. De acordo com a página man do dgst -verify filename, verifique a assinatura usando a chave pública em "filename". A saída é "Verification OK" ou "Verification Failure" A causa mais provável é que o arquivo foi corrompido durante o download. Eu tentaria baixá-lo novamente e se ele continuar a falhar na verificação, então isso é um sinal de um link de download comprometido (mas como é do site freebsd, eu suspeitava que fosse simplesmente um erro de download. Mesmo assim, eu verificaria o novo baixar apenas para estar no lado seguro). Se você tiver uma conexão de internet lenta / não confiável, pode levar algumas tentativas para fazer o download corretamente. Se você precisar verificar informações sobre comandos, é sempre uma boa idéia verificar a manpage (man)

    
por 13.01.2018 / 07:20