Skip to content

Commit 8226026

Browse files
committed
Avoid reflection when generating keys
1 parent dd3fb44 commit 8226026

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

prov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/edec/KeyPairGeneratorSpi.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@
1717
import org.bouncycastle.crypto.params.Ed25519KeyGenerationParameters;
1818
import org.bouncycastle.crypto.params.Ed448KeyGenerationParameters;
1919
import org.bouncycastle.crypto.params.X25519KeyGenerationParameters;
20-
import org.bouncycastle.crypto.params.X25519PrivateKeyParameters;
2120
import org.bouncycastle.crypto.params.X448KeyGenerationParameters;
22-
import org.bouncycastle.crypto.params.X448PrivateKeyParameters;
2321
import org.bouncycastle.jcajce.provider.asymmetric.util.ECUtil;
2422
import org.bouncycastle.jcajce.spec.EdDSAParameterSpec;
2523
import org.bouncycastle.jcajce.spec.XDHParameterSpec;
@@ -207,13 +205,14 @@ public KeyPair generateKeyPair()
207205

208206
AsymmetricCipherKeyPair kp = generator.generateKeyPair();
209207

210-
if (kp.getPrivate() instanceof X448PrivateKeyParameters
211-
|| kp.getPrivate() instanceof X25519PrivateKeyParameters)
208+
switch (algorithm)
212209
{
210+
case XDH:
211+
case X25519:
212+
case X448:
213213
return new KeyPair(new BCXDHPublicKey(kp.getPublic()), new BCXDHPrivateKey(kp.getPrivate()));
214-
}
215-
else
216-
{
214+
215+
default:
217216
return new KeyPair(new BCEdDSAPublicKey(kp.getPublic()), new BCEdDSAPrivateKey(kp.getPrivate()));
218217
}
219218
}

0 commit comments

Comments
 (0)