Add a test for authentication subkey selection with a keyring created as
such: - add 3 auth subkeys - revoke the 1st & 3rd subkey - add an encryption subkey
This commit is contained in:
parent
e8bbdc2339
commit
047a409164
|
@ -49,6 +49,7 @@ import org.sufficientlysecure.keychain.ssh.AuthenticationOperation;
|
|||
import org.sufficientlysecure.keychain.ssh.AuthenticationParcel;
|
||||
import org.sufficientlysecure.keychain.ssh.AuthenticationResult;
|
||||
import org.sufficientlysecure.keychain.support.KeyringTestingHelper;
|
||||
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
|
||||
import org.sufficientlysecure.keychain.util.Passphrase;
|
||||
|
||||
@RunWith(KeychainTestRunner.class)
|
||||
|
@ -58,6 +59,7 @@ public class AuthenticationOperationTest {
|
|||
private static UncachedKeyRing mStaticRingEcDsa;
|
||||
private static UncachedKeyRing mStaticRingEdDsa;
|
||||
private static UncachedKeyRing mStaticRingDsa;
|
||||
private static UncachedKeyRing mStaticRingRevoked;
|
||||
private static Passphrase mKeyPhrase;
|
||||
|
||||
private static PrintStream oldShadowStream;
|
||||
|
@ -132,6 +134,8 @@ public class AuthenticationOperationTest {
|
|||
mStaticRingEcDsa = KeyringTestingHelper.readRingFromResource("/test-keys/authenticate_ecdsa.sec");
|
||||
mStaticRingEdDsa = KeyringTestingHelper.readRingFromResource("/test-keys/authenticate_eddsa.sec");
|
||||
mStaticRingDsa = KeyringTestingHelper.readRingFromResource("/test-keys/authenticate_dsa.sec");
|
||||
|
||||
mStaticRingRevoked = KeyringTestingHelper.readRingFromResource("/test-keys/authenticate_multisub_with_revoked.asc");
|
||||
}
|
||||
|
||||
@Before
|
||||
|
@ -395,4 +399,19 @@ public class AuthenticationOperationTest {
|
|||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testKeySelection() throws Exception {
|
||||
|
||||
String expectedAuthSubKeyId = "0xcf64ee600f6fec9c";
|
||||
|
||||
KeyRepository keyRepository = KeyRepository.create(RuntimeEnvironment.application);
|
||||
|
||||
long masterKeyId = mStaticRingRevoked.getMasterKeyId();
|
||||
Long authSubKeyId = keyRepository.getSecretAuthenticationId(masterKeyId);
|
||||
String authSubKeyIdString = KeyFormattingUtils.convertKeyIdToHex(authSubKeyId);
|
||||
|
||||
boolean isRightKey = authSubKeyIdString.equals(expectedAuthSubKeyId);
|
||||
|
||||
Assert.assertTrue("selected key must be the same: " + authSubKeyIdString + " != " + expectedAuthSubKeyId, isRightKey);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
||||
|
||||
lDsEW6ShJxYJKwYBBAHaRw8BAQdAQPz2gpnMGAwzYohDbb/yEf3rxm+tfONk3Q3p
|
||||
utXnINH/AGUAR05VAbQrbl9hdXRoX3Jldm9jX3RvbyA8bl9hdXRoX3Jldm9jX3Rv
|
||||
b0Bmb28uYmFyPoiQBBMWCgA4FiEENhM25ruHCJ1cKh7WVipcf28HvXYFAlumQNMC
|
||||
GwEFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQVipcf28HvXZxnQEA2gAU3673
|
||||
0z8A4ACBLjKVKAfMiIXz0DobABsku+btINgBALFPCvFqQ9PtX05FZrdenu37GlRg
|
||||
Ln+xKG/XHj51SQEOtB9uX2F1dGhfcmV2b2MgPG5fYXV0aF9yZXZvY0B4Lnk+iJAE
|
||||
ExYKADgWIQQ2Ezbmu4cInVwqHtZWKlx/bwe9dgUCW6ShJwIbAQULCQgHAwUVCgkI
|
||||
CwUWAgMBAAIeAQIXgAAKCRBWKlx/bwe9di8mAP9iY2+oHeiUGy++9Z6QHXqroaVD
|
||||
YNDBXZdDcesrWyy8SQEAo4K6+YrXEXDJ/yuF7nsfqM8w36CdVFKsi+FIJTSnXA2c
|
||||
hgRbpKE9FgkrBgEEAdpHDwEBB0BFJ/Pffb7R8UUiJGvQVdyEzpN+x5DNRfyFKAVv
|
||||
BgPuCP4HAwItU2EpssU0AugT4uu7KPhnn9Axg8IJAmqkgxUt3o1JxZoqFqyfCMhN
|
||||
lNHbIf1zuBZDbN452nBckNK72V3V0UDYyjLlkBRELyaoEl3whfZRiHgEKBYKACAW
|
||||
IQQ2Ezbmu4cInVwqHtZWKlx/bwe9dgUCW6UG6wIdAAAKCRBWKlx/bwe9dkhMAQCb
|
||||
ja1KTcl7Vw10Ow85nBGgb2zLCzJwmbV4qr0NbC9pOgD/R1ayoZJ18FIhGFADCsRn
|
||||
tnlxzU3vFZj1O4Yaq3cXmguIeAQYFgoAIBYhBDYTNua7hwidXCoe1lYqXH9vB712
|
||||
BQJbpKE9AhsgAAoJEFYqXH9vB7123kcBAIzyK7W7dUwbDup53ylftZHROLeXHllT
|
||||
x/eVfSVuRy99AP9BcsuRsJEqMTzq4JPLN5pWbhqKoT0VryGCLVdIJXbZDJyGBFuk
|
||||
oVMWCSsGAQQB2kcPAQEHQEFSlFf2B+hJCio8aKB7ty0LB9StOu3B+0DjPYwUYwYg
|
||||
/gcDAjsxat/lB4oV6JgoaRhKuLRWzE1ai2IHb/rM2K0gHafyJjWx9nsb0kvbLgQi
|
||||
MH0sA4UFJQsS6AcO4zfLjQmA+fgF3qxnm0RAL+vPqoVoh8CI7wQYFgoAIBYhBDYT
|
||||
Nua7hwidXCoe1lYqXH9vB712BQJbpKFTAhsCAIEJEFYqXH9vB712diAEGRYKAB0W
|
||||
IQSauhEi+oJyAvg4ijS47KieBUAo1QUCW6ShUwAKCRC47KieBUAo1Q53AP97aL9d
|
||||
si1NowXZd6eUZvrwKFdXEahYx49EuPlFomoipAEAv1xZFqc7nqRokd0/b36DiycU
|
||||
EjYNFbatDjLOdNBhLQPBqQD/ZqSkwszUJRJygX4pninIJaNI8GVK1GNL9gstju1v
|
||||
V5wA/0g8UZFthbjTl+98ZgbyQL2MicIAfrj8VnwkiQoUq8cJnIYEW6ShahYJKwYB
|
||||
BAHaRw8BAQdATglrtC5Y/YzofOKYW9ElAirdpAlJMVol7Jcdsa+De2j+BwMCyjfN
|
||||
hlkhBgXo29plZ20fOnwXSeZNTGTkfgwkmgGiYWDtOUchLT8XwuI/YtwCG62mtWy8
|
||||
LzEx8AUtYvNYPkJ/iUCX+1S+ADsJdb0Ijd84AYh4BBgWCgAgFiEENhM25ruHCJ1c
|
||||
Kh7WVipcf28HvXYFAlukoWoCGyAACgkQVipcf28HvXZbdwEAr4kP0m/ZmJHdTp7m
|
||||
x4lPADgWqQlolD493O8QWJTSqXoBAMbHgKIwMjz2EqX8h72J5rOADKNpjMVOgDTQ
|
||||
zrWHaDcCnIYEW6ShlRYJKwYBBAHaRw8BAQdA/yEQGb4JjAOdzKmUZ+hER9gYIoCn
|
||||
AFZHSjWD2KI6CM3+BwMCGmMF46vQF+7oPEhLpl29t52EBvktuqGjgbaF8lCLh+b4
|
||||
kSXuwkkW8QoAGPDFCM4m6zE+GETkCuexjLsr5ybziK546ZYYxzeAICCM+jVdVIh4
|
||||
BCgWCgAgFiEENhM25ruHCJ1cKh7WVipcf28HvXYFAlulBwMCHQAACgkQVipcf28H
|
||||
vXamNQEAonl2lPpZIWA+cShQaFQRJvEHES0H0QAwcZ2c4KsiqggBAIDGhHUQo4sF
|
||||
FfwGmEkMnaEMPaxJX9pF3Q4WeajRz0YPiHgEGBYKACAWIQQ2Ezbmu4cInVwqHtZW
|
||||
Klx/bwe9dgUCW6ShlQIbIAAKCRBWKlx/bwe9doPDAQDsvOaTjJcN96py0EV7KsxE
|
||||
P+oStOnS3OhTROFLwrzwjwEAkZ6g8YGeiQPtewMC/4RBrmWEyLomg3exTgk0/wgd
|
||||
2wmciwRbp4zwEgorBgEEAZdVAQUBAQdAwk4pLPL/2tRgey0KDbiksAkZzFUgSFmz
|
||||
x1ezRelSVx4DAQgH/gcDAq+Rd9MpJwmz6M+qTjf/c6P0FvKQ/muZGsI53BjdyE/Q
|
||||
gc0yFeO0HXvDE8ab23/40zmLlsvksPevcEE0AFxaG/r7Jv74g9SkHh9NwlR2Mk2I
|
||||
eAQYFgoAIBYhBDYTNua7hwidXCoe1lYqXH9vB712BQJbp4zwAhsMAAoJEFYqXH9v
|
||||
B7121g0BAPgbbqpbZXGUWQeHempnTPUjVfRQE5PGRDjI9enzEJohAPwP9Ktp205d
|
||||
hADqWdrrCCTM3f6CgnfoBX0YJCK46JBTCg==
|
||||
=vtFM
|
||||
-----END PGP PRIVATE KEY BLOCK-----
|
Loading…
Reference in a new issue