Swift如何导入rsa密钥

Fra*_*iou 1 encryption rsa swift private-key

现在,我已经有了一个密钥对.

我想在我的Swift中导入这个密钥对,并使用此密钥对进行加密

某事或解密我从restclint得到的东西

我看到很多论文都在说如何一般的密钥对,但我已经拥有它.

什么是kSecAttrApplicationTag呢?

请帮助我

var dataPtr:Unmanaged<AnyObject>?
let query: [String:AnyObject] = [
kSecClass: kSecClassKey,
kSecAttrApplicationTag: "com.example.site.public",
kSecReturnData: kCFBooleanTrue
]
let qResult = SecItemCopyMatching(query, &dataPtr)
// error handling with `qResult` ...
let publicKeyData = dataPtr!.takeRetainedValue() as NSData
// convert to Base64 string
let base64PublicKey = publicKeyData.base64EncodedStringWithOptions(nil)
Run Code Online (Sandbox Code Playgroud)

Chr*_*isB 5

看看Swift-RSAUtils,它提供了您所需要的.我不能不感谢Thanh Ba Nguyen在这个领域的出色工作.苹果公司因为让开发人员的生活变得如此悲惨而感到羞耻!

基本上,故事是这样的:您必须以DER或PEM格式加载密钥(如果是PEM,则解码base64),然后从中删除一些部分,然后将密钥导入系统的密钥环.完成此操作后,您可以从密钥环中获取它们并使用它们.不幸的是,Apple没有记录这一点,特别是对于Swift.我能找到的唯一参考文档是证书,密钥和信任服务参考,并确保你点击"两个"不仅"Swift"或你不会看到太多.或者忘记它并使用Swift-RSAUtils,代码几乎是自我解释的.