Skip to content

Commit 69fd2da

Browse files
committed
Java 4 updates
1 parent c2debe4 commit 69fd2da

File tree

18 files changed

+188
-71
lines changed

18 files changed

+188
-71
lines changed

core/src/main/jdk1.4/org/bouncycastle/util/Properties.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,32 @@ public static boolean isOverrideSet(String propertyName)
4848
}
4949
}
5050

51+
/**
52+
* Return whether a particular override has been set to true.
53+
*
54+
* @param propertyName the property name for the override.
55+
* @return true if the property is set to "true", false otherwise.
56+
*/
57+
public static boolean isOverrideSet(String propertyName, boolean defIsTrue)
58+
{
59+
try
60+
{
61+
String value = getPropertyValue(propertyName);
62+
if (value == null)
63+
{
64+
return defIsTrue;
65+
}
66+
else
67+
{
68+
return "true".equalsIgnoreCase(value);
69+
}
70+
}
71+
catch (AccessControlException e)
72+
{
73+
return false;
74+
}
75+
}
76+
5177
/**
5278
* Enable the specified override property for the current thread only.
5379
*
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package org.bouncycastle.bcpg;
2+
3+
/**
4+
* OpenPGP Packet Header Length Format.
5+
*
6+
* @see <a href="https://www.rfc-editor.org/rfc/rfc9580.html#name-packet-headers">
7+
* OpenPGP Packet Headers</a>
8+
*/
9+
public class PacketFormat
10+
{
11+
/**
12+
* Always use the old (legacy) packet format.
13+
*/
14+
public static final PacketFormat LEGACY = new PacketFormat(0);
15+
16+
/**
17+
* Always use the current (new) packet format.
18+
*/
19+
public static final PacketFormat CURRENT = new PacketFormat(1);
20+
21+
/**
22+
* Let the individual packet decide the format (see {@link Packet#hasNewPacketFormat()}).
23+
* This allows to round-trip packets without changing the packet format.
24+
*/
25+
public static final PacketFormat ROUNDTRIP = new PacketFormat(2);
26+
27+
private final int ord;
28+
29+
private PacketFormat(int ord)
30+
{
31+
this.ord = ord;
32+
}
33+
}

pg/src/test/java/org/bouncycastle/bcpg/test/BCPGOutputStreamTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,10 @@ private void testRoundTripPacketFormat()
7878
BCPGOutputStream pOut = new BCPGOutputStream(bOut, PacketFormat.ROUNDTRIP);
7979

8080
// Write New, Old, Old, New
81-
pOut.writePacket(newPackets.get(0));
82-
pOut.writePacket(oldPackets.get(0));
83-
pOut.writePacket(oldPackets.get(1));
84-
pOut.writePacket(newPackets.get(1));
81+
pOut.writePacket((UserIDPacket)newPackets.get(0));
82+
pOut.writePacket((UserIDPacket)oldPackets.get(0));
83+
pOut.writePacket((UserIDPacket)oldPackets.get(1));
84+
pOut.writePacket((UserIDPacket)newPackets.get(1));
8585
pOut.close();
8686

8787
ByteArrayInputStream bIn = new ByteArrayInputStream(bOut.toByteArray());

pg/src/test/java/org/bouncycastle/bcpg/test/UnknownSecretKeyPacketTest.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
package org.bouncycastle.bcpg.test;
22

3+
import java.io.ByteArrayInputStream;
4+
import java.io.ByteArrayOutputStream;
5+
import java.io.IOException;
6+
import java.util.Date;
7+
38
import org.bouncycastle.bcpg.ArmoredInputStream;
49
import org.bouncycastle.bcpg.ArmoredOutputStream;
510
import org.bouncycastle.bcpg.BCPGInputStream;
@@ -11,11 +16,6 @@
1116
import org.bouncycastle.bcpg.UnknownBCPGKey;
1217
import org.bouncycastle.util.encoders.Hex;
1318

14-
import java.io.ByteArrayInputStream;
15-
import java.io.ByteArrayOutputStream;
16-
import java.io.IOException;
17-
import java.util.Date;
18-
1919
public class UnknownSecretKeyPacketTest
2020
extends AbstractPacketTest
2121
{
@@ -35,8 +35,9 @@ public void performTest()
3535
private void parseUnknownUnencryptedSecretKey()
3636
throws IOException
3737
{
38-
for (int version : new int[]{PublicKeyPacket.LIBREPGP_5, PublicKeyPacket.VERSION_6})
38+
for (int idx = 0; idx != 2; idx ++)
3939
{
40+
int version = (idx == 0) ? PublicKeyPacket.LIBREPGP_5 : PublicKeyPacket.VERSION_6;
4041
Date creationTime = new Date((new Date().getTime() / 1000) * 1000);
4142
SecretKeyPacket sk = new SecretKeyPacket(
4243
new PublicKeyPacket(

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ private void unlockTestVector()
101101
PGPSecretKeyRing keys = (PGPSecretKeyRing) objFact.nextObject();
102102

103103
Iterator<PGPSecretKey> it = keys.getSecretKeys();
104-
PGPSecretKey primaryKey = it.next();
105-
PGPSecretKey subkey = it.next();
104+
PGPSecretKey primaryKey = (PGPSecretKey)it.next();
105+
PGPSecretKey subkey = (PGPSecretKey)it.next();
106106

107107
// Test Bouncy Castle KeyDecryptor implementation
108108
BcPBESecretKeyDecryptorBuilder bcDecryptor = new BcPBESecretKeyDecryptorBuilder(new BcPGPDigestCalculatorProvider());
@@ -203,8 +203,9 @@ private void testUnlockKeyWithWrongPassphraseBc()
203203
AsymmetricCipherKeyPair kp = gen.generateKeyPair();
204204
Date creationTime = currentTimeRounded();
205205

206-
for (int version : new int[]{PublicKeyPacket.VERSION_4, PublicKeyPacket.VERSION_6})
206+
for (int idx = 0; idx != 2; idx ++)
207207
{
208+
int version = (idx == 0) ? PublicKeyPacket.VERSION_4 : PublicKeyPacket.VERSION_6;
208209
PGPKeyPair keyPair = new BcPGPKeyPair(version, PublicKeyAlgorithmTags.Ed25519, kp, creationTime);
209210

210211
BcAEADSecretKeyEncryptorBuilder bcEncBuilder = new BcAEADSecretKeyEncryptorBuilder(
@@ -245,8 +246,9 @@ private void testUnlockKeyWithWrongPassphraseJca()
245246
KeyPair kp = eddsaGen.generateKeyPair();
246247
Date creationTime = currentTimeRounded();
247248

248-
for (int version : new int[]{PublicKeyPacket.VERSION_4, PublicKeyPacket.VERSION_6})
249+
for (int idx = 0; idx != 2; idx ++)
249250
{
251+
int version = (idx == 0) ? PublicKeyPacket.VERSION_4 : PublicKeyPacket.VERSION_6;
250252
PGPKeyPair keyPair = new JcaPGPKeyPair(version, PublicKeyAlgorithmTags.Ed25519, kp, creationTime);
251253

252254
JcaAEADSecretKeyEncryptorBuilder jcaEncBuilder = new JcaAEADSecretKeyEncryptorBuilder(

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,9 @@ private void testConversionOfJcaKeyPair()
6969
gen.initialize(new EdDSAParameterSpec("Ed25519"));
7070
KeyPair kp = gen.generateKeyPair();
7171

72-
for (int version: new int[]{PublicKeyPacket.VERSION_4, PublicKeyPacket.VERSION_6})
72+
for (int idx = 0; idx != 2; idx ++)
7373
{
74+
int version = (idx == 0) ? PublicKeyPacket.VERSION_4 : PublicKeyPacket.VERSION_6;
7475
JcaPGPKeyPair j1 = new JcaPGPKeyPair(version, PublicKeyAlgorithmTags.Ed25519, kp, date);
7576
byte[] pubEnc = j1.getPublicKey().getEncoded();
7677
byte[] privEnc = j1.getPrivateKey().getPrivateKeyDataPacket().getEncoded();
@@ -116,8 +117,9 @@ private void testConversionOfBcKeyPair()
116117
gen.init(new Ed25519KeyGenerationParameters(new SecureRandom()));
117118
AsymmetricCipherKeyPair kp = gen.generateKeyPair();
118119

119-
for (int version: new int[]{PublicKeyPacket.VERSION_4, PublicKeyPacket.VERSION_6})
120+
for (int idx = 0; idx != 2; idx ++)
120121
{
122+
int version = (idx == 0) ? PublicKeyPacket.VERSION_4 : PublicKeyPacket.VERSION_6;
121123
BcPGPKeyPair b1 = new BcPGPKeyPair(version, PublicKeyAlgorithmTags.Ed25519, kp, date);
122124
byte[] pubEnc = b1.getPublicKey().getEncoded();
123125
byte[] privEnc = b1.getPrivateKey().getPrivateKeyDataPacket().getEncoded();
@@ -215,8 +217,9 @@ private void testConversionOfTestVectorKey()
215217
// ed25519 public key from https://www.rfc-editor.org/rfc/rfc9580.html#name-hashed-data-stream-for-sign
216218
Date creationTime = new Date(Pack.bigEndianToInt(Hex.decode("63877fe3"), 0) * 1000L);
217219
byte[] k = Hex.decode("f94da7bb48d60a61e567706a6587d0331999bb9d891a08242ead84543df895a3");
218-
for (int version: new int[]{PublicKeyPacket.VERSION_4, PublicKeyPacket.VERSION_6})
220+
for (int idx = 0; idx != 2; idx ++)
219221
{
222+
int version = (idx == 0) ? PublicKeyPacket.VERSION_4 : PublicKeyPacket.VERSION_6;
220223
PGPPublicKey pgpk = new PGPPublicKey(
221224
new PublicKeyPacket(version, PublicKeyAlgorithmTags.Ed25519, creationTime, new Ed25519PublicBCPGKey(k)),
222225
new BcKeyFingerprintCalculator()

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,9 @@ private void testConversionOfJcaKeyPair()
5959
gen.initialize(new EdDSAParameterSpec("Ed448"));
6060
KeyPair kp = gen.generateKeyPair();
6161

62-
for (int version: new int[]{PublicKeyPacket.VERSION_4, PublicKeyPacket.VERSION_6})
62+
for (int idx = 0; idx != 2; idx ++)
6363
{
64+
int version = (idx == 0) ? PublicKeyPacket.VERSION_4 : PublicKeyPacket.VERSION_6;
6465
JcaPGPKeyPair j1 = new JcaPGPKeyPair(version, PublicKeyAlgorithmTags.Ed448, kp, date);
6566
byte[] pubEnc = j1.getPublicKey().getEncoded();
6667
byte[] privEnc = j1.getPrivateKey().getPrivateKeyDataPacket().getEncoded();
@@ -106,8 +107,9 @@ private void testConversionOfBcKeyPair()
106107
gen.init(new Ed448KeyGenerationParameters(new SecureRandom()));
107108
AsymmetricCipherKeyPair kp = gen.generateKeyPair();
108109

109-
for (int version: new int[]{PublicKeyPacket.VERSION_4, PublicKeyPacket.VERSION_6})
110+
for (int idx = 0; idx != 2; idx ++)
110111
{
112+
int version = (idx == 0) ? PublicKeyPacket.VERSION_4 : PublicKeyPacket.VERSION_6;
111113
BcPGPKeyPair b1 = new BcPGPKeyPair(version, PublicKeyAlgorithmTags.Ed448, kp, date);
112114
byte[] pubEnc = b1.getPublicKey().getEncoded();
113115
byte[] privEnc = b1.getPrivateKey().getPrivateKeyDataPacket().getEncoded();

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,9 @@ private void testConversionOfJcaKeyPair()
7474
gen.initialize(new XDHParameterSpec("X25519"));
7575
KeyPair kp = gen.generateKeyPair();
7676

77-
for (int version: new int[]{PublicKeyPacket.VERSION_4, PublicKeyPacket.VERSION_6})
77+
for (int idx = 0; idx != 2; idx ++)
7878
{
79+
int version = (idx == 0) ? PublicKeyPacket.VERSION_4 : PublicKeyPacket.VERSION_6;
7980
JcaPGPKeyPair j1 = new JcaPGPKeyPair(version, PublicKeyAlgorithmTags.X25519, kp, date);
8081
byte[] pubEnc = j1.getPublicKey().getEncoded();
8182
byte[] privEnc = j1.getPrivateKey().getPrivateKeyDataPacket().getEncoded();
@@ -121,8 +122,9 @@ private void testConversionOfBcKeyPair()
121122
gen.init(new X25519KeyGenerationParameters(new SecureRandom()));
122123
AsymmetricCipherKeyPair kp = gen.generateKeyPair();
123124

124-
for (int version: new int[]{PublicKeyPacket.VERSION_4, PublicKeyPacket.VERSION_6})
125+
for (int idx = 0; idx != 2; idx ++)
125126
{
127+
int version = (idx == 0) ? PublicKeyPacket.VERSION_4 : PublicKeyPacket.VERSION_6;
126128
BcPGPKeyPair b1 = new BcPGPKeyPair(version, PublicKeyAlgorithmTags.X25519, kp, date);
127129
byte[] pubEnc = b1.getPublicKey().getEncoded();
128130
byte[] privEnc = b1.getPrivateKey().getPrivateKeyDataPacket().getEncoded();

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,9 @@ private void testConversionOfJcaKeyPair()
7474
gen.initialize(new XDHParameterSpec("X448"));
7575
KeyPair kp = gen.generateKeyPair();
7676

77-
for (int version: new int[]{PublicKeyPacket.VERSION_4, PublicKeyPacket.VERSION_6})
77+
for (int idx = 0; idx != 2; idx ++)
7878
{
79+
int version = (idx == 0) ? PublicKeyPacket.VERSION_4 : PublicKeyPacket.VERSION_6;
7980
JcaPGPKeyPair j1 = new JcaPGPKeyPair(version, PublicKeyAlgorithmTags.X448, kp, date);
8081
byte[] pubEnc = j1.getPublicKey().getEncoded();
8182
byte[] privEnc = j1.getPrivateKey().getPrivateKeyDataPacket().getEncoded();
@@ -121,8 +122,9 @@ private void testConversionOfBcKeyPair()
121122
gen.init(new X448KeyGenerationParameters(new SecureRandom()));
122123
AsymmetricCipherKeyPair kp = gen.generateKeyPair();
123124

124-
for (int version: new int[]{PublicKeyPacket.VERSION_4, PublicKeyPacket.VERSION_6})
125+
for (int idx = 0; idx != 2; idx ++)
125126
{
127+
int version = (idx == 0) ? PublicKeyPacket.VERSION_4 : PublicKeyPacket.VERSION_6;
126128
BcPGPKeyPair b1 = new BcPGPKeyPair(version, PublicKeyAlgorithmTags.X448, kp, date);
127129
byte[] pubEnc = b1.getPublicKey().getEncoded();
128130
byte[] privEnc = b1.getPrivateKey().getPrivateKeyDataPacket().getEncoded();

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,16 +218,18 @@ private PGPKeyPair parseBc(String armored)
218218
private void testConversionOfFreshJcaKeyPair()
219219
throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, PGPException, IOException
220220
{
221-
for (String curve : new String[] {
221+
String[] curves = new String[] {
222222
"prime256v1",
223223
"secp384r1",
224224
"secp521r1",
225225
"brainpoolP256r1",
226226
"brainpoolP384r1",
227227
"brainpoolP512r1"
228-
})
228+
};
229+
230+
for (int i = 0; i != curves.length; i++)
229231
{
230-
testConversionOfFreshJcaKeyPair(curve);
232+
testConversionOfFreshJcaKeyPair(curves[i]);
231233
}
232234
}
233235

0 commit comments

Comments
 (0)