Sample code for 30+ languages & platforms
Ruby

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 Ruby Downloads

Ruby
require 'chilkat'

success = false

# 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 == false)
    print cert.lastErrorText() + "\n";
    exit
end

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 == false)
    print mime.lastErrorText() + "\n";
    exit
end

# Save the S/MIME to a file.
success = mime.SaveMime("/temp/signedMime.txt")
if (success == false)
    print mime.lastErrorText() + "\n";
    exit
end

print "success!" + "\n";