Sample code for 30+ languages & platforms
Perl

Extract PKCS7 from MIME and Decrypt

See more MIME Examples

Extracts the base64-encoded PKCS7 body of a MIME message to a file, and then decrypts using Chilkat Crypt2.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$mime = chilkat::CkMime->new();

$success = $mime->LoadMimeFile("c:/aaworkarea/EmailInBytes.txt");
if ($success != 1) {
    print $mime->lastErrorText() . "\r\n";
    exit;
}

$success = $mime->SaveBody("c:/aaworkarea/smime.p7m");
if ($success != 1) {
    print $mime->lastErrorText() . "\r\n";
    exit;
}

$crypt = chilkat::CkCrypt2->new();

$success = $crypt->AddPfxSourceFile("c:/aaworkarea/my.pfx","pfxPassword");
if ($success == 0) {
    print $crypt->lastErrorText() . "\r\n";
    exit;
}

# Indicate the public-key (PKCS7) encryption/decryption should be used:
$crypt->put_CryptAlgorithm("pki");

$inPath = "c:/aaworkarea/smime.p7m";
$outPath = "c:/aaworkarea/decrypted.dat";

$success = $crypt->CkDecryptFile($inPath,$outPath);
if ($success == 0) {
    print $crypt->lastErrorText() . "\r\n";
    exit;
}

print "Success." . "\r\n";