Ios CommonCrypto XCode 9.0无法从数据创建密钥
以下代码在我的手动代码和XCode 9.0、ios 10+上的其他库(SwiftyRSA、Heimdall)中使用OSStatus-50(secParam)时失败。关于为什么或者获取更多信息的方法有什么想法吗Ios CommonCrypto XCode 9.0无法从数据创建密钥,ios,swift,xcode,commoncrypto,Ios,Swift,Xcode,Commoncrypto,以下代码在我的手动代码和XCode 9.0、ios 10+上的其他库(SwiftyRSA、Heimdall)中使用OSStatus-50(secParam)时失败。关于为什么或者获取更多信息的方法有什么想法吗 let keyDict: [CFString: Any] = [ kSecAttrKeyType: kSecAttrKeyTypeRSA, kSecAttrKeyClass: kSecAttrKeyClassPublic, kSecAttrK
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
)
let keyDict:[CFString:Any]=[
kSecAttrKeyType:kSecAttrKeyTypeRSA,
kSecAttrKeyClass:kSecAttrKeyClassPublic,
kSecAttrKeySizeInBits:NSNumber(值:4096),
kSecAttrIsSensitive:false,
ksecAttriseExtractable:对,
kSecAttrCanEncrypt:正确
]
var errP:非托管?
key=SecKeyCreateWithData(
publicKeyData作为CFData、keyDict作为CFDictionary和errP
)
好吧,使用iOS10创建钥匙链项目时出错。这在模拟器中是个问题,但在设备上工作
作为快速解决方案,您必须启用钥匙链共享。我报告的原始bug被标记为重复,现在已经关闭。可能是iOS11中的回归?我想您已经看到了这一点?你用什么来生成4096位的密钥?不,我没有看到,这很有趣。但是:1)在xcode 8.3.3中工作的代码2)它同时影响SwiftyRSA和Heimdall以及我手写的CommonCrypto代码3)没有改变任何与secParams相关的内容