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.AuthenticationParcel;
|
||||||
import org.sufficientlysecure.keychain.ssh.AuthenticationResult;
|
import org.sufficientlysecure.keychain.ssh.AuthenticationResult;
|
||||||
import org.sufficientlysecure.keychain.support.KeyringTestingHelper;
|
import org.sufficientlysecure.keychain.support.KeyringTestingHelper;
|
||||||
|
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
|
||||||
import org.sufficientlysecure.keychain.util.Passphrase;
|
import org.sufficientlysecure.keychain.util.Passphrase;
|
||||||
|
|
||||||
@RunWith(KeychainTestRunner.class)
|
@RunWith(KeychainTestRunner.class)
|
||||||
|
@ -58,6 +59,7 @@ public class AuthenticationOperationTest {
|
||||||
private static UncachedKeyRing mStaticRingEcDsa;
|
private static UncachedKeyRing mStaticRingEcDsa;
|
||||||
private static UncachedKeyRing mStaticRingEdDsa;
|
private static UncachedKeyRing mStaticRingEdDsa;
|
||||||
private static UncachedKeyRing mStaticRingDsa;
|
private static UncachedKeyRing mStaticRingDsa;
|
||||||
|
private static UncachedKeyRing mStaticRingRevoked;
|
||||||
private static Passphrase mKeyPhrase;
|
private static Passphrase mKeyPhrase;
|
||||||
|
|
||||||
private static PrintStream oldShadowStream;
|
private static PrintStream oldShadowStream;
|
||||||
|
@ -132,6 +134,8 @@ public class AuthenticationOperationTest {
|
||||||
mStaticRingEcDsa = KeyringTestingHelper.readRingFromResource("/test-keys/authenticate_ecdsa.sec");
|
mStaticRingEcDsa = KeyringTestingHelper.readRingFromResource("/test-keys/authenticate_ecdsa.sec");
|
||||||
mStaticRingEdDsa = KeyringTestingHelper.readRingFromResource("/test-keys/authenticate_eddsa.sec");
|
mStaticRingEdDsa = KeyringTestingHelper.readRingFromResource("/test-keys/authenticate_eddsa.sec");
|
||||||
mStaticRingDsa = KeyringTestingHelper.readRingFromResource("/test-keys/authenticate_dsa.sec");
|
mStaticRingDsa = KeyringTestingHelper.readRingFromResource("/test-keys/authenticate_dsa.sec");
|
||||||
|
|
||||||
|
mStaticRingRevoked = KeyringTestingHelper.readRingFromResource("/test-keys/authenticate_multisub_with_revoked.asc");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Before
|
@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-----
|
||||||
|
|
||||||
|
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
|
||||||
|
hADqWdrrCCTM3f6CgnfoBX0YJCK46JBTCg==
|
||||||
|
=vtFM
|
||||||
|
-----END PGP PRIVATE KEY BLOCK-----
|
Loading…
Reference in a new issue