Sample code for 30+ languages & platforms
Perl

Add S/MIME Signature using PFX

See more MIME Examples

Add a digital signature to a MIME message using the certificate + private key from a PFX file.

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

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

my $mime = Chilkat2::Mime->new;

# Load a PFX file into a certificate object.
my $cert = Chilkat2::Cert->new;
my $pfxFilepath = 'pfxFiles/something.pfx';
my $pfxPassword = 'secret';
my $success = $cert->LoadPfxFile($pfxFilepath, $pfxPassword);
if (!$success) {
    print $cert->LastErrorText, "\n";
    exit;
}

$success = $mime->SetBodyFromPlainText('This is the plain-text MIME body.');

$mime->Charset('utf-8');
$mime->Encoding('quoted-printable');

# Sign the MIME (adds a PKCS7 detached signature)
$success = $mime->AddDetachedSignature($cert);
if (!$success) {
    print $mime->LastErrorText, "\n";
    exit;
}

# Save the S/MIME to a file.
$success = $mime->SaveMime('/temp/signedMime.txt');
if (!$success) {
    print $mime->LastErrorText, "\n";
    exit;
}

print "success!\n";