Sample code for 30+ languages & platforms
Ruby

Extract PKCS7 from MIME and Decrypt

See more MIME Examples

Extracts the base64-encoded PKCS7 body of a MIME message to a file, and then decrypts using Chilkat Crypt2.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

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

mime = Chilkat::CkMime.new()

success = mime.LoadMimeFile("c:/aaworkarea/EmailInBytes.txt")
if (success != true)
    print mime.lastErrorText() + "\n";
    exit
end

success = mime.SaveBody("c:/aaworkarea/smime.p7m")
if (success != true)
    print mime.lastErrorText() + "\n";
    exit
end

crypt = Chilkat::CkCrypt2.new()

success = crypt.AddPfxSourceFile("c:/aaworkarea/my.pfx","pfxPassword")
if (success == false)
    print crypt.lastErrorText() + "\n";
    exit
end

# Indicate the public-key (PKCS7) encryption/decryption should be used:
crypt.put_CryptAlgorithm("pki")

inPath = "c:/aaworkarea/smime.p7m"
outPath = "c:/aaworkarea/decrypted.dat"

success = crypt.CkDecryptFile(inPath,outPath)
if (success == false)
    print crypt.lastErrorText() + "\n";
    exit
end

print "Success." + "\n";