Décoder / extraire le contenu du fichier smime.p7m (courrier électronique avec fichiers incorporés) avec OpenSSL?

StackOverflow https://stackoverflow.com/questions/443580

  •  22-07-2019
  •  | 
  •  

Question

Nous avons un ancien processus (VBScript) qui lit une boîte aux lettres commune et traite certains courriels dans une base de données.

Dans les nouvelles réglementations, tous les messages avec pièces jointes sont maintenant signés numériquement.

Le processus extrait désormais un seul fichier (smime.p7m). À l'aide d'un visualiseur basé sur une interface graphique, je peux voir les fichiers incorporés et les extraire sans problème. Cependant, ce dont j'ai vraiment besoin est un extracteur basé sur la ligne de commande qui écrit les fichiers incorporés (PDF, DOC, XLS) - ils ne sont pas chiffrés, mais simplement signés. J'ai testé cela en utilisant un ordinateur portable dépourvu de certificat et en ouvrant simplement le fichier smime.p7m avec le lecteur susmentionné.

Il semblerait qu'OpenSSL décode / extrait ceci et que quelqu'un ait réussi à obtenir une version compilée sous Windows. Cependant, de nombreux essais et erreurs de test de l'exécutable ont été frustrants, car je ne trouve pas la bonne combinaison d'indicateurs pour simplement dire "ouvrez le fichier smime.p7m et écrivez tous les fichiers incorporés que vous avez trouvés". "openssl smime " semble toujours vouloir un "cert.pem " après toutes les options et je ne l'ai pas.

Qu'est-ce qui me manque? Merci d'avance.

Était-ce utile?

La solution 2

On dirait que la seule option disponible est d'écrire un programme simple en utilisant la bibliothèque de Chilkat. Cette option coûte 149 $ ou 289 $, selon le type de licence, par développeur, mais au moins, elle est libre de droits.

Autres conseils

Avez-vous essayé le " -noverify " option de openssl?

Pour un message signé uniquement, vous pouvez utiliser   "openssl smime -verify -in -noverover -out / tmp / blob"

Ensuite, vous pouvez utiliser un analyseur semblable à celui de la RFC822 pour extraire le corps et les pièces jointes de ce "blob". Cela signifie que votre analyseur doit être capable d'encodages tels que quoted-printable et base64.

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