Sample code for 30+ languages & platforms
JavaScript Requires Chilkat v11.4.0+

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;
}