This seems to work for top-level signed messages.

It should be extendable to nested messages, but that's for another day.

I hope it helps someone else.

use warnings; use strict; use MIME::Parser; my $par = MIME::Parser->new; $par->output_to_core(1); $par->tmp_to_core(1); my $msg = eval { $par->parse( \*STDIN ) }; if( $msg ) { $msg->make_multipart; if( $msg->mime_type eq 'multipart/signed' ) { my $sigtype = $msg->head->mime_attr('content-type.protocol'); foreach my $tag ( grep { /^Content-/i } $msg->head->tags ) { $msg->head->delete( $tag ); } $msg->parts( [ grep { $_->head->mime_attr('content-type') ne $ +sigtype } $msg->parts ] ); my $top = ($msg->parts)[0]; foreach my $tag ( grep { /^Content-/i } $top->head->tags ) { $msg->head->add( $tag, $top->head->get( $tag, 0 ) ); $top->head->delete( $tag ); } $msg->parts( [ $top->parts ] ); $msg->preamble( $top->preamble ); $msg->epilogue( $top->epilogue ); } $msg->print; } else { print STDERR ( "Unable to parse message: " . ($@ || $par->last_err +or) . "\n" ); exit 1; }

In reply to Email: remove S/MIME or PGP signature? (Partial solution) by tlhackque
in thread Email: remove S/MIME or PGP signature? by tlhackque

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.