mirror of
https://github.com/moparisthebest/open-keychain
synced 2024-11-23 17:22:16 -05:00
test: add algorithm choice tests
This commit is contained in:
parent
54bc874ce5
commit
d4c1b781db
@ -15,6 +15,6 @@ before_install:
|
|||||||
- ./install-custom-gradle-test-plugin.sh
|
- ./install-custom-gradle-test-plugin.sh
|
||||||
install: echo "Installation done"
|
install: echo "Installation done"
|
||||||
script:
|
script:
|
||||||
- gradle -PwithTesting=true assemble -S -q
|
- gradle assemble -S -q
|
||||||
- gradle -PwithTesting=true --info OpenKeychain-Test:testDebug
|
- gradle --info OpenKeychain-Test:testDebug
|
||||||
|
|
||||||
|
@ -68,6 +68,8 @@ public class PgpKeyOperationTest {
|
|||||||
OperationResultParcel.OperationLog log = new OperationResultParcel.OperationLog();
|
OperationResultParcel.OperationLog log = new OperationResultParcel.OperationLog();
|
||||||
staticRing = op.createSecretKeyRing(parcel, log, 0);
|
staticRing = op.createSecretKeyRing(parcel, log, 0);
|
||||||
|
|
||||||
|
Assert.assertNotNull("initial test key creation must succeed", staticRing);
|
||||||
|
|
||||||
// we sleep here for a second, to make sure all new certificates have different timestamps
|
// we sleep here for a second, to make sure all new certificates have different timestamps
|
||||||
Thread.sleep(1000);
|
Thread.sleep(1000);
|
||||||
}
|
}
|
||||||
@ -87,6 +89,78 @@ public class PgpKeyOperationTest {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAlgorithmChoice() {
|
||||||
|
|
||||||
|
OperationResultParcel.OperationLog log = new OperationResultParcel.OperationLog();
|
||||||
|
|
||||||
|
{
|
||||||
|
parcel.reset();
|
||||||
|
parcel.mAddSubKeys.add(new SaveKeyringParcel.SubkeyAdd(
|
||||||
|
Constants.choice.algorithm.rsa, new Random().nextInt(256)+255, KeyFlags.CERTIFY_OTHER, null));
|
||||||
|
parcel.mAddUserIds.add("shy");
|
||||||
|
parcel.mNewPassphrase = "swag";
|
||||||
|
|
||||||
|
UncachedKeyRing ring = op.createSecretKeyRing(parcel, log, 0);
|
||||||
|
|
||||||
|
Assert.assertNull("creating ring with < 512 bytes keysize should fail", ring);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
parcel.reset();
|
||||||
|
parcel.mAddSubKeys.add(new SaveKeyringParcel.SubkeyAdd(
|
||||||
|
Constants.choice.algorithm.elgamal, 1024, KeyFlags.CERTIFY_OTHER, null));
|
||||||
|
parcel.mAddUserIds.add("shy");
|
||||||
|
parcel.mNewPassphrase = "swag";
|
||||||
|
|
||||||
|
UncachedKeyRing ring = op.createSecretKeyRing(parcel, log, 0);
|
||||||
|
|
||||||
|
Assert.assertNull("creating ring with ElGamal master key should fail", ring);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
parcel.reset();
|
||||||
|
parcel.mAddSubKeys.add(new SaveKeyringParcel.SubkeyAdd(
|
||||||
|
12345, 1024, KeyFlags.CERTIFY_OTHER, null));
|
||||||
|
parcel.mAddUserIds.add("shy");
|
||||||
|
parcel.mNewPassphrase = "swag";
|
||||||
|
|
||||||
|
UncachedKeyRing ring = op.createSecretKeyRing(parcel, log, 0);
|
||||||
|
Assert.assertNull("creating ring with bad algorithm choice should fail", ring);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
parcel.reset();
|
||||||
|
parcel.mAddSubKeys.add(new SaveKeyringParcel.SubkeyAdd(
|
||||||
|
Constants.choice.algorithm.rsa, 1024, KeyFlags.SIGN_DATA, null));
|
||||||
|
parcel.mAddUserIds.add("shy");
|
||||||
|
parcel.mNewPassphrase = "swag";
|
||||||
|
|
||||||
|
UncachedKeyRing ring = op.createSecretKeyRing(parcel, log, 0);
|
||||||
|
Assert.assertNull("creating ring with non-certifying master key should fail", ring);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
parcel.reset();
|
||||||
|
parcel.mAddSubKeys.add(new SaveKeyringParcel.SubkeyAdd(
|
||||||
|
Constants.choice.algorithm.rsa, 1024, KeyFlags.CERTIFY_OTHER, null));
|
||||||
|
parcel.mNewPassphrase = "swag";
|
||||||
|
|
||||||
|
UncachedKeyRing ring = op.createSecretKeyRing(parcel, log, 0);
|
||||||
|
Assert.assertNull("creating ring without user ids should fail", ring);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
parcel.reset();
|
||||||
|
parcel.mAddUserIds.add("shy");
|
||||||
|
parcel.mNewPassphrase = "swag";
|
||||||
|
|
||||||
|
UncachedKeyRing ring = op.createSecretKeyRing(parcel, log, 0);
|
||||||
|
Assert.assertNull("creating ring without subkeys should fail", ring);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
// this is a special case since the flags are in user id certificates rather than
|
// this is a special case since the flags are in user id certificates rather than
|
||||||
// subkey binding certificates
|
// subkey binding certificates
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
include ':OpenKeychain'
|
include ':OpenKeychain'
|
||||||
if (hasProperty('withTesting') && withTesting) include ':OpenKeychain-Test'
|
include ':OpenKeychain-Test'
|
||||||
include ':extern:openpgp-api-lib'
|
include ':extern:openpgp-api-lib'
|
||||||
include ':extern:openkeychain-api-lib'
|
include ':extern:openkeychain-api-lib'
|
||||||
include ':extern:html-textview'
|
include ':extern:html-textview'
|
||||||
|
Loading…
Reference in New Issue
Block a user