1
什麼是在iOS中生成RSA密鑰對的最佳方式,並將它們作爲字符串。我已經看到了幾個可以生成的庫文件,但我無法將私鑰作爲字符串。有沒有人知道一個庫或方法來獲取私鑰在字符串?在iOS(Swift)中生成後獲取RSA密鑰對爲字符串?
目前我生成密鑰對這樣
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。如何將它們轉換爲字符串?還是有另一種方法來做到這一點?
的可能的複製[生成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