From 5b39aea4213b186d659e6f5095f05a60db2a1ba4 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Mon, 19 May 2025 14:22:52 +0200 Subject: [PATCH] Improve GnuPGDummyKeyUtilTest --- .../java/org/gnupg/GnuPGDummyKeyUtilTest.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pgpainless-core/src/test/java/org/gnupg/GnuPGDummyKeyUtilTest.java b/pgpainless-core/src/test/java/org/gnupg/GnuPGDummyKeyUtilTest.java index 0a32aa2c..1d9ea6d3 100644 --- a/pgpainless-core/src/test/java/org/gnupg/GnuPGDummyKeyUtilTest.java +++ b/pgpainless-core/src/test/java/org/gnupg/GnuPGDummyKeyUtilTest.java @@ -9,10 +9,12 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; +import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.Set; +import org.bouncycastle.bcpg.KeyIdentifier; import org.bouncycastle.bcpg.S2K; import org.bouncycastle.bcpg.SecretKeyPacket; import org.bouncycastle.openpgp.PGPSecretKey; @@ -232,6 +234,20 @@ public class GnuPGDummyKeyUtilTest { assertArrayEquals(expected.getPGPSecretKeyRing().getEncoded(), onCard.getEncoded()); } + @Test + public void testMoveSelectedKeyToCard() throws IOException { + OpenPGPKeyReader reader = PGPainless.getInstance().readKey(); + OpenPGPKey secretKeys = reader.parseKey(FULL_KEY); + OpenPGPKey expected = reader.parseKey(SIGNATURE_KEY_ON_CARD); + + PGPSecretKeyRing onCard = GnuPGDummyKeyUtil.modify(secretKeys) + .divertPrivateKeysToCard(GnuPGDummyKeyUtil.KeyFilter.selected( + Arrays.asList(new KeyIdentifier(signatureKeyId))) + , cardSerial); + + assertArrayEquals(expected.getPGPSecretKeyRing().getEncoded(), onCard.getEncoded()); + } + @Test public void testRemoveAllKeys() throws IOException { OpenPGPKeyReader reader = PGPainless.getInstance().readKey();