Fix decryption issue when key without passphrase set
This commit is contained in:
parent
776884e894
commit
011762c4bd
4 changed files with 153 additions and 2 deletions
|
|
@ -39,6 +39,7 @@ class CryptoFrameworkTest: XCTestCase {
|
|||
try [
|
||||
RSA2048,
|
||||
RSA2048_SUB,
|
||||
RSA3072_NO_PASSPHRASE,
|
||||
RSA4096,
|
||||
RSA4096_SUB,
|
||||
ED25519,
|
||||
|
|
@ -55,7 +56,14 @@ class CryptoFrameworkTest: XCTestCase {
|
|||
XCTAssert(publicKey.getHexKeyID().hasSuffix(testKeyInfo.fingerprint))
|
||||
XCTAssertNil(error)
|
||||
|
||||
let unlockedKey = try privateKey.unlock(testKeyInfo.passphrase.data(using: .utf8))
|
||||
var isLocked: ObjCBool = false
|
||||
try privateKey.isLocked(&isLocked)
|
||||
var unlockedKey: CryptoKey!
|
||||
if isLocked.boolValue {
|
||||
unlockedKey = try privateKey.unlock(testKeyInfo.passphrase.data(using: .utf8))
|
||||
} else {
|
||||
unlockedKey = privateKey
|
||||
}
|
||||
let encryptedMessage = try CryptoNewKeyRing(publicKey, &error)?.encrypt(plainMessage, privateKey: nil)
|
||||
let decryptedData = try CryptoNewKeyRing(unlockedKey, &error)?.decrypt(messageConverter(encryptedMessage!, &error), verifyKey: nil, verifyTime: 0)
|
||||
XCTAssertNil(error)
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ class PGPAgentTest: XCTestCase {
|
|||
try [
|
||||
RSA2048,
|
||||
RSA2048_SUB,
|
||||
RSA3072_NO_PASSPHRASE,
|
||||
RSA4096,
|
||||
RSA4096_SUB,
|
||||
ED25519,
|
||||
|
|
|
|||
|
|
@ -45,6 +45,13 @@ let RSA2048_SUB = PGPTestSet(
|
|||
passphrase: "passforios"
|
||||
)
|
||||
|
||||
let RSA3072_NO_PASSPHRASE = PGPTestSet(
|
||||
publicKey: PGP_RSA3072_PUBLIC_KEY_NO_PASSPHRASE,
|
||||
privateKey: PGP_RSA3072_PRIVATE_KEY_NO_PASSPHRASE,
|
||||
fingerprint: "be0f9402",
|
||||
passphrase: ""
|
||||
)
|
||||
|
||||
let RSA4096 = PGPTestSet(
|
||||
publicKey: PGP_RSA4096_PUBLIC_KEY,
|
||||
privateKey: PGP_RSA4096_PRIVATE_KEY,
|
||||
|
|
@ -242,6 +249,134 @@ XY0AlWAbvH1ytWboh+CgS493JfZbNRCXTWA/BDE=
|
|||
-----END PGP PRIVATE KEY BLOCK-----
|
||||
"""
|
||||
|
||||
let PGP_RSA3072_PUBLIC_KEY_NO_PASSPHRASE = """
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
dsDN96T3b3dNsR/uHBUhQKv54B58lQ==
|
||||
=w+7J
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
"""
|
||||
|
||||
let PGP_RSA3072_PRIVATE_KEY_NO_PASSPHRASE = """
|
||||
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
||||
|
||||
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
|
||||
=/IMN
|
||||
-----END PGP PRIVATE KEY BLOCK-----
|
||||
"""
|
||||
|
||||
let PGP_RSA4096_PUBLIC_KEY = """
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue