Sample code for 30+ languages & platforms
Dart

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

Dart
import 'package:chilkat/chilkat.dart';

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

  final mime = CkMime();

  try {
    mime.loadMimeFile('c:/aaworkarea/EmailInBytes.txt');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  try {
    mime.saveBody('c:/aaworkarea/smime.p7m');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final crypt = CkCrypt2();

  try {
    crypt.addPfxSourceFile('c:/aaworkarea/my.pfx', 'pfxPassword');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

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

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

  try {
    crypt.ckDecryptFile(inPath, outPath);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print('Success.');
}