2010-10-15 5 views
0

J'utilise gpg pour déchiffrer les fichiers qui me sont envoyés par un fournisseur. Tout fonctionne correctement lorsque le contenu du fichier crypté est vide (le vendeur m'a dit qu'il n'y a pas de contenu dans les fichiers en question).Vérifiez le contenu crypté du fichier crypté

Si je tente de décrypter l'un de ces fichiers que je reçois:

GPG: ne peut pas gérer ces données de signature ambiguës

Est-il possible de vérifier que le fichier n'a pas contenu accepter pour l'en-tête, de sorte que je peux le configurer pour échouer plus élégamment?

Répondre

0

En supposant que vous utilisez un script shell Unix, vous pouvez d'abord faire un [-s/le/fichier] avant d'essayer le décryptage GPG.

1

Selon this mailing-list post, l'outil PGP officiel a un bug qui l'amène parfois à produire des messages malformés. Vous pouvez vérifier si c'est le cas pour votre fichier particulier en exécutant gpg --list-packets path/to/encrypted/file.pgp et en regardant la sortie. Si vous voyez un :onepass_sig packet: suivi immédiatement par un :signature packet: alors c'est probablement ce qui se passe.

Dans mon expérience (limitée), cela se produit si l'expéditeur a essayé de crypter un fichier vide. Malheureusement, étant donné que le cryptage est conçu pour rendre difficile de voir ce qu'il y a à l'intérieur, il est difficile de dire si c'est effectivement le cas avant d'essayer de le déchiffrer. La sortie --list-packets de gpg vous donnera quelques informations, mais j'ai remarqué que la sortie :literal data packet: indiquera généralement "raw data: 0 bytes" même si le message contient un fichier non-vide. Vous pouvez faire en sorte que gpg ignore toutes les données de signature dans le fichier crypté avec l'option --skip-verify, mais bien sûr vous ne pouvez pas dire si le fichier que vous décryptez provient d'une source fiable.

Questions connexes