Question

J'ai un client et un système de serveur qui exécutent régulièrement des tâches planifiées et communiquer via des fichiers XML qui ont été chiffrés par GPG. Toutes les clés publiques nécessaires ont été échangées avec succès entre le client et le serveur. Les appels de chiffrement et de déchiffrement sont effectuées à partir d'un fichier batch.

Chiffrer la syntaxe

gpg.exe --batch --yes --recipient% 1 --output% 4% 5 --passphrase --local utilisateur% 2% 3 --sign --encrypt

Décrypter la syntaxe

gpg.exe --batch --yes --output% 3% 4 --passphrase --decrypt% 2 2>% 1

Le client crée un fichier xml, encrypte GPG utilisant le serveur à clé publique, des signes avec la clé privée et le télécharge sur le site ftp du serveur. Serveur régulièrement vérifie les nouveaux fichiers dans le dossier ftp. Pour tout nouveau fichier déchiffre avec GPG et traite ensuite le fichier XML dans le fichier.

Pour certains des fichiers XML que le serveur tente de déchiffrer, je reçois une erreur comme suit:

  

gpg: block_filter 00AA8400: erreur de lecture (taille = 7841, a-> size = 395)

     

GPG: mdc_packet avec encodage incorrect

     

GPG: Echec du déchiffrement: paquet incorrect

     

GPG: block_filter: octets en attente

Le point à noter est que cela ne se produit pas avec tous les fichiers, mais avec seulement quelques fichiers. Je ne l'ai pas été en mesure de trouver des points communs entre les fichiers qu'il échoue sur.

Quelqu'un est-il familier ce que cela signifie d'erreur? des suggestions pour aider à suivre ce bas sont les bienvenus.

Était-ce utile?

La solution

Enfin compris. GPG n'a pas été le coupable ici. lorsque le serveur vérifiait pour les fichiers dans le dossier spécifié, il utilisait la méthode Append (FileHandler) sur Delphi pour tester si le fichier pourrait être ouvert. Mais cette méthode avait une condition particulière comme si elle trouve le caractère ascii 26 (à savoir CTRL + z) dans le dernier bloc de 128 octets du fichier, il supprimerait tout de ce caractère jusqu'à la fin du fichier. Cela a causé une partie des fichiers cryptés à supprimer, puis a provoqué l'erreur ci-dessus lorsque le déchiffrant par GPG. Après avoir remplacé la méthode Append avec Reset (FileHandler), les fichiers cryptés sont pas plus modifié et le déchiffrement fonctionne parfaitement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top