首页 > 解决方案 > 使用数据结果 nil 创建 SecKey

问题描述

我有 publicKey,但我无法创建 SecKey,调用SecKeyCreateWithData返回nil

let base64PubKey = "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEe0A0PYKX1LDjiJwpdPwRxlfcZL9vKQrp+CmT0xygyTWMjVkoRnY7bhfnP4eAyjaKNv675UsKrK+gXWjre3bYRg=="

let privData1 = NSData(base64Encoded: base64PubKey)

let privRaw1 = privData1?.bytes.assumingMemoryBound(to: UInt8.self)
let CFPrivData1 = CFDataCreate(nil, privRaw1!, privData1!.count)

let attributes123 = [kSecAttrKeyType: kSecAttrKeyTypeECSECPrimeRandom,
                kSecAttrKeyClass: kSecAttrKeyClassPublic,
                kSecAttrKeySizeInBits as String: 384
                ] as [CFString : Any]


let pubKey123 = SecKeyCreateWithData(CFPrivData1 as! CFData, attributes123 as CFDictionary, &error) // this is nil

标签: swiftsecurity

解决方案


推荐阅读