Sample code for 30+ languages & platforms
PHP

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 Downloads

Chilkat2 PHP
<?php

use Chilkat2\Cert;
use Chilkat2\Mime;

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

$mime = new Mime();

// Load a PFX file into a certificate object.
$cert = new Cert();
$pfxFilepath = 'pfxFiles/something.pfx';
$pfxPassword = 'secret';
try {
    $cert->LoadPfxFile($pfxFilepath, $pfxPassword);

    $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)
    $mime->AddDetachedSignature($cert);

    // Save the S/MIME to a file.
    $mime->SaveMime('/temp/signedMime.txt');
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

echo "success!\n";