Skip to content

Commit 184e3b3

Browse files
committed
Add UnknownBCPGKeyPairTest to check getBitStrength()
1 parent 3f618be commit 184e3b3

File tree

2 files changed

+48
-1
lines changed

2 files changed

+48
-1
lines changed

pg/src/test/java/org/bouncycastle/openpgp/test/RegressionTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ public class RegressionTest
7676

7777
new Curve25519PrivateKeyEncodingTest(),
7878
new EdDSAKeyConversionWithLeadingZeroTest(),
79-
new ECDSAKeyPairTest()
79+
new ECDSAKeyPairTest(),
80+
new UnknownBCPGKeyPairTest()
8081
};
8182

8283
public static void main(String[] args)
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package org.bouncycastle.openpgp.test;
2+
3+
import org.bouncycastle.bcpg.PublicKeyPacket;
4+
import org.bouncycastle.bcpg.PublicSubkeyPacket;
5+
import org.bouncycastle.bcpg.UnknownBCPGKey;
6+
import org.bouncycastle.bcpg.test.UnknownPublicKeyPacketTest;
7+
import org.bouncycastle.openpgp.PGPException;
8+
import org.bouncycastle.openpgp.PGPPublicKey;
9+
import org.bouncycastle.openpgp.operator.bc.BcKeyFingerprintCalculator;
10+
import org.bouncycastle.util.encoders.Hex;
11+
12+
public class UnknownBCPGKeyPairTest
13+
extends AbstractPgpKeyPairTest
14+
{
15+
@Override
16+
public String getName()
17+
{
18+
return "UnknownBCPGKeyPairTest";
19+
}
20+
21+
@Override
22+
public void performTest()
23+
throws Exception
24+
{
25+
testGetBitStrength();
26+
}
27+
28+
private void testGetBitStrength()
29+
throws PGPException
30+
{
31+
byte[] raw = Hex.decode("decaffc0ffeebabe"); // 8 octets = 64-bit key size
32+
UnknownBCPGKey key = new UnknownBCPGKey(raw.length, raw);
33+
PublicKeyPacket packet = new PublicSubkeyPacket(
34+
PublicKeyPacket.VERSION_6,
35+
99, // unknown algorithm ID
36+
currentTimeRounded(),
37+
key);
38+
PGPPublicKey pgpKey = new PGPPublicKey(packet, new BcKeyFingerprintCalculator());
39+
isEquals("Unknown key getBitStrength() mismatch", 64, pgpKey.getBitStrength());
40+
}
41+
42+
public static void main(String[] args)
43+
{
44+
runTest(new UnknownBCPGKeyPairTest());
45+
}
46+
}

0 commit comments

Comments
 (0)