Sample code for 30+ languages & platforms
Dart

Encrypt MIME using PEM Certificate

See more MIME Examples

Encrypt MIME using a PEM certificate.

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 mime = CkMime();

  // Create a simple MIME message to be encrypted:
  mime.addHeaderField('Content-Type', 'text/plain');
  mime.addHeaderField('abc', '123');
  mime.setBody('This is a test');

  final cert = CkCert();
  try {
    cert.loadFromFile('qa_data/pem/mf_public_rsa.pem');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // Encrypt the MIME.
  try {
    mime.encrypt(cert);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // Display the MIME:
  print(mime.getMime());

  // The resulting S/MIME looks like this:

  // Content-Type: application/x-pkcs7-mime; name="smime.p7m"; smime-type="enveloped-data"
  // abc: 123
  // Content-Disposition: attachment; filename="smime.p7m"
  // Content-Transfer-Encoding: base64
  // 
  // MIICMAYJKoZIhvcNAQcDoIICITCCAh0CAQAxggGoMIIBpAIBADCBizB3MQswCQYDVQQGEwJQTDEi
  // MCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp
  // ZmljYXRpb24gQXV0aG9yaXR5MRswGQYDVQQDExJDZXJ0dW0gTGV2ZWwgSVYgQ0ECEDVuXbie8bb5
  // sHeajm5k3ZYwDQYJKoZIhvcNAQEBBQAEggEADNac7gEUOvTWfyqwe0cS+m65Lte7ZmDGRElvqeo7
  // C2+JZJfuxl2Roy+4vTovnn+9U2Yf5Kqc1m2ZPCE5Q8ExvOV4M0cTocLNLK6sfCR7cvo1xgf220qf
  // XYqWF1/ePuP9j1FrkFvBOoS4BREAnXsEa4zvuhvNPsMfjInK8wWnMftbLUiriAZBq391D+dxxX8M
  // kB1EHCWaS3H8WQI/caTnkRS6YdOCOrctJHtotkcU+4gcIxfTcq6yeloceURbesAYAvdRbIGszKCQ
  // FA2sC1x8SkDQCHfNUvmyS/fmkq5waFpmq1ksOspInb4ZM7SOjEUu+22vkAgbTmOS3MUdieuRcTBs
  // BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAECBBClRoHLQZyzdHwoZA6pZjLYgEChuMzbQRXOjNF3RpnI
  // ZjNTKFDuhaUqk0rRTTn3D89F7ZMUBtoCP0bw+bH5UE9zpDaAgCF9s3W3/D5YNgAuw4AZ
}