Dart Requires Chilkat v11.4.0+
Dart
Example: Mime.GetDecryptCertInfo method
Demonstrates theGetDecryptCertInfo method.
Chilkat Dart Downloads
import 'package:chilkat/chilkat.dart';
void main() {
final mime = CkMime();
// Load MIME that is has Content-Type like this:
// Content-Type: application/pkcs7-mime; smime-type="enveloped-data"; name="smime.p7m"; smime-type="enveloped-data"
try {
mime.loadMimeFile('qa_data/mime/enveloped_data.eml');
} on ChilkatException catch (e) {
print(e.lastErrorText);
return;
}
// Get information about the certificate that would be needed to decrypt.
// An enveloped-data can potentially be decrypted by multiple certificates if it was encrypted in a way that allows it,
// but in most cases, only a single certificate with associated private key (that of the message recipient) is possible.
final json = CkJsonObject();
try {
mime.getDecryptCertInfo(json);
} on ChilkatException catch (e) {
print(e.lastErrorText);
return;
}
json.emitCompact = false;
print(json.emit());
// Sample output:
// {
// "recipientInfo": [
// {
// "serial": "****",
// "issuerCN": "****"
// }
// ]
// }
// Get each certificate's information like this:
var serial = '';
var issuerCN = '';
var i = 0;
final count = json.sizeOfArray('recipientInfo');
while (i < count) {
json.i = i;
serial = json.stringOf('recipientInfo[i].serial');
issuerCN = json.stringOf('recipientInfo[i].issuerCN');
i++;
}
}