From c22a2e4fcfec1c7d9e884b68fc9507fa7f625b3b Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Wed, 2 Apr 2025 13:46:05 +0200 Subject: [PATCH] Add test for overriding features during key generation --- .../key/generation/GenerateV6KeyTest.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/generation/GenerateV6KeyTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/generation/GenerateV6KeyTest.java index 58f4695e..b387ef3e 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/generation/GenerateV6KeyTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/generation/GenerateV6KeyTest.java @@ -13,9 +13,11 @@ import org.bouncycastle.openpgp.api.SignatureParameters; import org.bouncycastle.openpgp.operator.PGPKeyPairGenerator; import org.junit.jupiter.api.Test; import org.pgpainless.PGPainless; +import org.pgpainless.algorithm.Feature; import org.pgpainless.algorithm.KeyFlag; import org.pgpainless.algorithm.OpenPGPKeyVersion; import org.pgpainless.algorithm.PublicKeyAlgorithm; +import org.pgpainless.key.generation.type.KeyType; import org.pgpainless.key.generation.type.rsa.RsaLength; import org.pgpainless.key.protection.KeyRingProtectionSettings; @@ -160,4 +162,17 @@ public class GenerateV6KeyTest { assertEquals(armored, parsed.toAsciiArmoredString()); } + + @Test + public void generateKeyOverrideFeatures() { + PGPainless api = PGPainless.getInstance(); + + OpenPGPKey key = api.buildKey(OpenPGPKeyVersion.v6) + .setPrimaryKey(KeySpec.getBuilder(KeyType.Ed25519(), KeyFlag.CERTIFY_OTHER) + .overrideFeatures(Feature.MODIFICATION_DETECTION, Feature.MODIFICATION_DETECTION_2)) + .build(); + + assertTrue(key.getPrimaryKey().getFeatures().supportsModificationDetection()); + assertTrue(key.getPrimaryKey().getFeatures().supportsSEIPDv2()); + } }