Slide 68
Slide 68 text
Encrypt/Decrypt Session messages
var encryptedMessage: NSData
do {
guard let wrappedMessage: NSData = try
self.session?.wrapData(message.dataUsingEncoding(NSUTF8StringEncoding)) else {
print("Error occurred during wrapping message ", #function)
return
}
encryptedMessage = wrappedMessage
} catch let error as NSError {
print("Error occurred while wrapping message \(error)", #function)
completion(data: nil, error: error)
return
}
//...
do {
guard let decryptedMessage: NSData = try self.session?.unwrapData(data),
let resultString: String = String(data: decryptedMessage, encoding: NSUTF8StringEncoding)
else {
throw NSError(domain: "com.example", code: -3, userInfo: nil)
}
completion(data: resultString, error: nil)
} catch let error as NSError {
print("Error occurred while decrypting message \(error)", #function)
completion(data: nil, error: error)
return
}
https://github.com/cossacklabs/themis/tree/master/docs/examples/Themis-server/swift
#mobiconf @vixentael