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

Perl
use chilkat();

$success = 0;

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

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

# Load a PFX file into a certificate object.
$cert = chilkat::CkCert->new();
$pfxFilepath = "pfxFiles/something.pfx";
$pfxPassword = "secret";
$success = $cert->LoadPfxFile($pfxFilepath,$pfxPassword);
if ($success == 0) {
    print $cert->lastErrorText() . "\r\n";
    exit;
}

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

$mime->put_Charset("utf-8");
$mime->put_Encoding("quoted-printable");

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

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

print "success!" . "\r\n";