Sample code for 30+ languages & platforms
Dart

Decrypt a .p7m File (using a PFX)

See more Encryption Examples

_LANGUAGE_ sample code showing how to decrypt a .p7m using a .p12 / .pfx certificate w/ private key.

Chilkat Dart Downloads

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

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

  final crypt = CkCrypt2();

  // Use a digital certificate and private key from a PFX file (.pfx or .p12).
  final pfxPath = 'myCertAndKey.pfx';
  final pfxPassword = 'test123';

  try {
    crypt.addPfxSourceFile(pfxPath, pfxPassword);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // Set the  outPath to whatever is appropriate.
  // If you are decrypting a PDF, your output might be "out.pdf"...
  final inPath = 'smime.p7m';
  final outPath = 'original.txt';

  // Indicate that we're doing public key decryption (i.e. PKCS7)
  crypt.cryptAlgorithm = 'pki';

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

  print('Success.');
}