Sample code for 30+ languages & platforms
PHP ActiveX

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 PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

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

$mime = new COM("Chilkat.Mime");

// Load a PFX file into a certificate object.
$cert = new COM("Chilkat.Cert");
$pfxFilepath = 'pfxFiles/something.pfx';
$pfxPassword = 'secret';
$success = $cert->LoadPfxFile($pfxFilepath,$pfxPassword);
if ($success == 0) {
    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 == 0) {
    print $mime->LastErrorText . "\n";
    exit;
}

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

print 'success!' . "\n";

?>