Попытка сгенерировать SecKey из SecKeyCreateWithData с помощью функции swift, как показано ниже. SecKeyCreateWithData всегда возвращает ноль с журналом ошибок ниже. Может кто-нибудь, пожалуйста, помогите.
Примечание: и cekKeyData как CFData, и атрибуты как CFDictionary не равны нулю и имеют значения в нем.
журнал:
Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
код
let keydatalen = 256
let algorithmID = ""
let partyUInfo = ""
let cekKeyData = DHSecretGenerator.createDeriveKey(
Z: sharedKey,
KeyLenght: keydatalen,
AlgorithmID: KDFConcateWithLenght(text: algorithmID, encoding: .ascii),
PartyUInfo: KDFConcateWithLenght(text: partyUInfo, encoding: .utf8),
PartyVInfo: KDFConcateWithLenght(text: reference, encoding: .ascii),
SuppPubInfo: numberToData(number: UInt32(keydatalen)),
SuppPrivInfo: Data())
let attributes: [String: Any] = [
kSecAttrKeyType as String: kSecAttrKeyTypeECSECPrimeRandom,
kSecAttrKeyClass as String: kSecAttrKeyClassSymmetric
]
var error: Unmanaged<CFError>?
var test: SecKey =
let privKey : SecKey = SecKeyCreateWithData(cekKeyData as CFData,
attributes as CFDictionary, &error)!
print(privKey)