Sample code for 30+ languages & platforms
JavaScript

Example: Mime.GetDecryptCertInfo method

Demonstrates the GetDecryptCertInfo method.
Note
This example is intended for running within a Chilkat.Js embedded JavaScript engine. All Chilkat JavaScript examples require Chilkat v11.4.0 or greater.
JavaScript
var success = false;

var mime = new 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"
success = mime.LoadMimeFile("qa_data/mime/enveloped_data.eml");
if (success == false) {
    console.log(mime.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.
var json = new CkJsonObject();
success = mime.GetDecryptCertInfo(json);
if (success == false) {
    console.log(mime.LastErrorText);
    return;
}

json.EmitCompact = false;
console.log(json.Emit());

// Sample output:

// {
//   "recipientInfo": [
//     {
//       "serial": "****",
//       "issuerCN": "****"
//     }
//   ]
// }

// Get each certificate's information like this:
var serial;
var issuerCN;

var i = 0;
var count = json.SizeOfArray("recipientInfo");
while (i < count) {
    json.I = i;
    serial = json.StringOf("recipientInfo[i].serial");
    issuerCN = json.StringOf("recipientInfo[i].issuerCN");
    i = i+1;
}