Как создать 64-байтовый закрытый c и 32-байтовый закрытый ключ, используя шифрование ECDH swift? - PullRequest
1 голос
/ 21 января 2020

Я должен защитить свой замок от MITM (т.е. человек в середине атаки). Для этого я должен интегрировать ECDH encryption. У меня нет знаний, связанных с этим. Пожалуйста, помогите мне, как создать ключ 64 bytes public и 32 byte private. Ниже приведен код, который я пытаюсь

var publicKeySec, privateKeySec: SecKey?
let keyattribute = [
    kSecAttrKeyType as String: kSecAttrKeyTypeEC,
    kSecAttrKeySizeInBits as String : 256
    ] as CFDictionary

SecKeyGeneratePair(keyattribute, &publicKeySec, &privateKeySec)


var error:Unmanaged<CFError>?
if let publicCfdata = SecKeyCopyExternalRepresentation(publicKeySec!, &error) {
    let data:Data = publicCfdata as Data
    print(data)
    let b64Key = data.base64EncodedString()
    print(b64Key)
}

if let privateCfdata = SecKeyCopyExternalRepresentation(privateKeySec!, &error) {
    let data:Data = privateCfdata as Data
    print(data)
    let b64Key = data.base64EncodedString()
    print(b64Key)
}

Пожалуйста, помогите мне. Заранее спасибо.

...