Sample code for 30+ languages & platforms
Unicode C++

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 Unicode C++ Downloads

Unicode C++
#include <CkMimeW.h>
#include <CkCertW.h>

void ChilkatSample(void)
    {
    bool success = false;

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

    CkMimeW mime;

    // Load a PFX file into a certificate object.
    CkCertW cert;
    const wchar_t *pfxFilepath = L"pfxFiles/something.pfx";
    const wchar_t *pfxPassword = L"secret";
    success = cert.LoadPfxFile(pfxFilepath,pfxPassword);
    if (success == false) {
        wprintf(L"%s\n",cert.lastErrorText());
        return;
    }

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

    mime.put_Charset(L"utf-8");
    mime.put_Encoding(L"quoted-printable");

    // Sign the MIME (adds a PKCS7 detached signature)
    success = mime.AddDetachedSignature(cert);
    if (success == false) {
        wprintf(L"%s\n",mime.lastErrorText());
        return;
    }

    // Save the S/MIME to a file.
    success = mime.SaveMime(L"/temp/signedMime.txt");
    if (success == false) {
        wprintf(L"%s\n",mime.lastErrorText());
        return;
    }

    wprintf(L"success!\n");
    }