Swift
Swift
Example: Mime.GetDecryptCertInfo method
Demonstrates theGetDecryptCertInfo method.
Chilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
let mime = CkoMime()!
// 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.loadFile(path: "qa_data/mime/enveloped_data.eml")
if success == false {
print("\(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.
let json = CkoJsonObject()!
success = mime.getDecryptCertInfo(certInfo: json)
if success == false {
print("\(mime.lastErrorText!)")
return
}
json.emitCompact = false
print("\(json.emit()!)")
// Sample output:
// {
// "recipientInfo": [
// {
// "serial": "****",
// "issuerCN": "****"
// }
// ]
// }
// Get each certificate's information like this:
var serial: String?
var issuerCN: String?
var i: Int = 0
var count: Int = json.size(ofArray: "recipientInfo").intValue
while i < count {
json.i = i
serial = json.string(of: "recipientInfo[i].serial")
issuerCN = json.string(of: "recipientInfo[i].issuerCN")
i = i + 1
}
}