Sample code for 30+ languages & platforms
React Native

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 React Native Downloads

React Native
import { Crypt2, Mime } from '@chilkat/react-native'

async function chilkatExample() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const mime = new Mime();

  try {
    mime.loadMimeFile('c:/aaworkarea/EmailInBytes.txt');
  } catch {
    console.log(mime.lastErrorText);
    return;
  }

  try {
    mime.saveBody('c:/aaworkarea/smime.p7m');
  } catch {
    console.log(mime.lastErrorText);
    return;
  }

  const crypt = new Crypt2();

  try {
    crypt.addPfxSourceFile('c:/aaworkarea/my.pfx', 'pfxPassword');
  } catch {
    console.log(crypt.lastErrorText);
    return;
  }

  // Indicate the public-key (PKCS7) encryption/decryption should be used:
  crypt.cryptAlgorithm = 'pki';

  const inPath = 'c:/aaworkarea/smime.p7m';
  const outPath = 'c:/aaworkarea/decrypted.dat';

  try {
    await crypt.ckDecryptFileAsync(inPath, outPath);
  } catch {
    console.log(crypt.lastErrorText);
    return;
  }

  console.log('Success.');
}