Go
Go
Example: Mime.GetDecryptCertInfo method
Demonstrates theGetDecryptCertInfo method.
Chilkat Go Downloads
success := false
mime := chilkat.NewMime()
// 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 {
fmt.Println(mime.LastErrorText())
mime.DisposeMime()
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.
json := chilkat.NewJsonObject()
success = mime.GetDecryptCertInfo(json)
if success == false {
fmt.Println(mime.LastErrorText())
mime.DisposeMime()
json.DisposeJsonObject()
return
}
json.SetEmitCompact(false)
fmt.Println(*json.Emit())
// Sample output:
// {
// "recipientInfo": [
// {
// "serial": "****",
// "issuerCN": "****"
// }
// ]
// }
// Get each certificate's information like this:
var serial *string = new(string)
var issuerCN *string = new(string)
i := 0
count := json.SizeOfArray("recipientInfo")
for i < count {
json.SetI(i)
serial = json.StringOf("recipientInfo[i].serial")
issuerCN = json.StringOf("recipientInfo[i].issuerCN")
i = i + 1
}
mime.DisposeMime()
json.DisposeJsonObject()