Verificação de assinatura de arquivo no Linux
Você pode verificar uma assinatura de arquivo VHD exportada para Linux seguindo as etapas abaixo.
-
Baixe o arquivo Azure Image Digest do "Site de suporte da NetApp" e extraia o arquivo digest(.sig), o arquivo de certificado de chave pública(.pem) e o arquivo de certificado de cadeia(.pem).
Consulte a "Faça o download do arquivo de Digest da imagem do Azure" para obter mais informações.
-
Verifique a cadeia de confiança.
% openssl verify -CAfile Certificate-Chain-9.15.0P1_azure.pem Certificate-9.15.0P1_azure.pem Certificate-9.15.0P1_azure.pem: OK
-
Remova os 1MB principais (1048576 bytes) e terminando 512 bytes do arquivo VHD.
Se 'tail' for usado, a opção '-c -K' produz bytes começando com os bytes KTH do arquivo especificado. Assim, 1048577 é passado para 'tail -c'.
% tail -c +1048577 ./9150.01000024.05090105.vhd > ./sign.tmp.tail % head -c -512 ./sign.tmp.tail > sign.tmp % rm ./sign.tmp.tail
-
Use o openssl para extrair a chave pública do certificado e verificar o arquivo listrado (sign.tmp) com o arquivo de assinatura e chave pública.
Se o arquivo de entrada passar a verificação, o comando exibirá "Verificação OK". Caso contrário, a mensagem "Falha de verificação" será exibida.
% openssl x509 -pubkey -noout -in ./Certificate-9.15.0P1_azure.pem > ./Code-Sign-Cert-Public-key.pub % openssl dgst -verify Code-Sign-Cert-Public-key.pub -keyform PEM -sha256 -signature digest.sig -binary ./sign.tmp Verification OK % openssl dgst -verify Code-Sign-Cert-Public-key.pub -keyform PEM -sha256 -signature digest.sig -binary ./another_file_from_nowhere.tmp Verification Failure
-
Limpe o espaço de trabalho.
% rm ./9150.01000024.05090105.vhd ./sign.tmp % rm *.sig *.pub *.pem