2009-01-14 3 views
3

Nous avons un ancien processus (VBScript) qui lit une boîte aux lettres commune et traite certains courriels dans une base de données.Décoder/extraire le contenu du fichier smime.p7m (email avec fichiers incorporés) avec OpenSSL?

Les nouveaux règlements stipulent que tous les messages avec pièces jointes sont maintenant signés numériquement.

Le processus extrait maintenant seulement un fichier (smime.p7m). En utilisant une visionneuse basée sur l'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 une ligne de commande qui écrira les fichiers incorporés (PDFs, DOCs, XLSs) - ils ne sont pas cryptés, juste signés. J'ai testé cela en utilisant un ordinateur portable qui n'avait pas de certificats et simplement ouvert le fichier smime.p7m avec la visionneuse ci-dessus. OpenSSL va décoder/extraire cela et quelqu'un a réussi à obtenir une version compilée sous Windows. Cependant, beaucoup de tests d'essais et d'erreurs de l'exécutable ont été frustrants parce que je ne peux pas trouver la bonne combinaison de drapeaux pour juste dire "ouvrir le fichier smime.p7m et écrire tous les fichiers incorporés que vous trouvez". "openssl smime" semble toujours vouloir un "cert.pem" après toutes les options et je n'ai pas ça.

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

Répondre

-3

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 c'est gratuit.

4

Avez-vous essayé l'option "-noverify" de openssl?

Pour un message signé uniquement, vous pouvez utiliser « OpenSSL smime -verify -dans -noverify -out/tmp/blob »

Ensuite, vous pouvez utiliser un analyseur comme RFC822 pour obtenir le corps et l'attachement (s) hors de ce "blob". Cela signifie que votre analyseur doit être capable de codages comme quoted-printable et base64.

+0

Je ne peux pas dire que j'ai fait. Juste essayer de faire fonctionner OpenSSL était une corvée dans cet environnement (site militaire) et je n'ai jamais vraiment réussi. En fin de compte, écrire un nouveau programme pour faire le travail, en utilisant les bibliothèques de Chilkat a fait le travail rapidement. Merci pour l'idée, cependant. – David

+0

J'ai essayé et la ligne de commande suggérée fonctionne bien. – dwery

Questions connexes