在我的手动代码和 XCode 9.0、ios 10+ 上的其他库(SwiftyRSA、Heimdall)中,以下代码都因 OSStatus -50 (secParam) 而失败。关于获取更多信息的原因或任何方式的任何想法?
let keyDict: [CFString: Any] = [
kSecAttrKeyType: kSecAttrKeyTypeRSA,
kSecAttrKeyClass: kSecAttrKeyClassPublic,
kSecAttrKeySizeInBits: NSNumber(value: 4096),
kSecAttrIsSensitive: false,
kSecAttrIsExtractable: true,
kSecAttrCanEncrypt: true
]
var errP: Unmanaged<CFError>?
key = SecKeyCreateWithData(
publicKeyData as CFData, keyDict as CFDictionary, &errP
)
最佳答案
那么,使用 iOS10 创建钥匙串(keychain)项目时出现错误。这是模拟器中的问题,但在设备上有效。
作为快速解决方案,您必须启用钥匙串(keychain)共享。我报告的原始错误被标记为重复,现在已关闭。也许在 iOS11 中回归?
关于ios - CommonCrypto XCode 9.0 无法从数据创建 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46401681/