ios - CommonCrypto XCode 9.0 无法从数据创建 key

标签 ios swift xcode commoncrypto

在我的手动代码和 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/

相关文章:

ios - 将 JSON 响应解析为结构

ios - 是否可以使 UILabel 中的文本具有不同的颜色?

ios - iPhone 纵向模式下的自动布局

ios - Apple LLVM 9.0 错误组 - 无法读取配置文件。找不到这样的文件或目录

ios - 如何快速调用 initWith...

ios - 如何使 uicollectionview 不使单元格出队?

ios - 如何检索firestore中的数据对象

ios - UIVIew 在 Storyboard 和 NIB 差异中调整大小

xcode - 如何使用 xCode 在 TextView 中编写长格式文本

ios - 引用 socket