B4X Requires Chilkat v11.4.0+
B4X
Example: Mime.GetDecryptCertInfo method
Demonstrates theGetDecryptCertInfo method.
Chilkat B4X Downloads
Dim success As Boolean = False
Dim mime As ChilkatMime
mime.Initialize
' 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 Then
Log(mime.LastErrorText)
Return
End If
' 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.
Dim json As ChilkatJsonObject
json.Initialize
success = mime.GetDecryptCertInfo(json)
If success = False Then
Log(mime.LastErrorText)
Return
End If
json.EmitCompact = False
Log(json.Emit)
' Sample output:
' {
' "recipientInfo": [
' {
' "serial": "****",
' "issuerCN": "****"
' }
' ]
' }
' Get each certificate's information like this:
Dim serial As String
Dim issuerCN As String
Dim i As Int = 0
Dim count As Int = json.SizeOfArray("recipientInfo")
Do While i < count
json.I = i
serial = json.StringOf("recipientInfo[i].serial")
issuerCN = json.StringOf("recipientInfo[i].issuerCN")
i = i + 1
Loop