Sample code for 30+ languages & platforms
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 C# Downloads

C#
bool success = false;

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

Chilkat.Mime mime = new Chilkat.Mime();

// Load a PFX file into a certificate object.
Chilkat.Cert cert = new Chilkat.Cert();
string pfxFilepath = "pfxFiles/something.pfx";
string pfxPassword = "secret";
success = cert.LoadPfxFile(pfxFilepath,pfxPassword);
if (success == false) {
    Debug.WriteLine(cert.LastErrorText);
    return;
}

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 == false) {
    Debug.WriteLine(mime.LastErrorText);
    return;
}

// Save the S/MIME to a file.
success = mime.SaveMime("/temp/signedMime.txt");
if (success == false) {
    Debug.WriteLine(mime.LastErrorText);
    return;
}

Debug.WriteLine("success!");