Каков наилучший способ создания пары ключей RSA в iOS и получить их как String. Я видел пару libs, которые могут генерировать, но я не могу получить Private Key как String. Кто-нибудь знает lib или способ получить секретный ключ в String?Получить пару ключей RSA как строку после генерации в iOS (Swift)?
В настоящее время я генерации пары ключей таким образом
var statusCode: OSStatus
var publicKey: SecKey?
var privateKey: SecKey?
let publicKeyAttr: [NSObject: NSObject] = [kSecAttrIsPermanent:true as NSObject, kSecAttrApplicationTag:"publicTag" as NSObject]
let privateKeyAttr: [NSObject: NSObject] = [kSecAttrIsPermanent:true as NSObject, kSecAttrApplicationTag:"privateTag" as NSObject]
var keyPairAttr = [NSObject: NSObject]()
keyPairAttr[kSecAttrKeyType] = kSecAttrKeyTypeRSA
keyPairAttr[kSecAttrKeySizeInBits] = 2048 as NSObject?
keyPairAttr[kSecPublicKeyAttrs] = publicKeyAttr as NSObject?
keyPairAttr[kSecPrivateKeyAttrs] = privateKeyAttr as NSObject?
statusCode = SecKeyGeneratePair(keyPairAttr as CFDictionary, &publicKey, &privateKey)
if statusCode == noErr && publicKey != nil && privateKey != nil {
print(publicKey!)
print(privateKey!)
} else {
print("Error generating key pair: \(statusCode)")
}
ИТС SecKey. Как их преобразовать в String? или есть другой способ сделать это?
Возможный дубликат [Создание пары открытых и закрытых ключей RSA] (http://stackoverflow.com/questions/33021946/generate-an-rsa-public-private-key-pair) –
@OlegGordiichuk это не укажите, как получить закрытый ключ в строке. – spaceMonkey
Посмотрите на [SecItemCopyMatching] (https://developer.apple.com/reference/security/1398306-secitemcopymatching). Я знаю, что вы можете получить необработанные данные открытого ключа. Я надеюсь, что это работает и для секретных ключей. После того, как у вас есть данные, вы можете закодировать Base64. – Codo