Skip to content

Commit b8e4716

Browse files
committed
Add ECNamedDomainParameters.lookup
1 parent ce8409d commit b8e4716

File tree

4 files changed

+15
-24
lines changed

4 files changed

+15
-24
lines changed

core/src/main/java/org/bouncycastle/crypto/params/ECNamedDomainParameters.java

+12
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,26 @@
33
import java.math.BigInteger;
44

55
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
6+
import org.bouncycastle.asn1.x9.ECNamedCurveTable;
67
import org.bouncycastle.asn1.x9.X9ECParameters;
8+
import org.bouncycastle.crypto.ec.CustomNamedCurves;
79
import org.bouncycastle.math.ec.ECConstants;
810
import org.bouncycastle.math.ec.ECCurve;
911
import org.bouncycastle.math.ec.ECPoint;
1012

1113
public class ECNamedDomainParameters
1214
extends ECDomainParameters
1315
{
16+
public static ECNamedDomainParameters lookup(ASN1ObjectIdentifier name)
17+
{
18+
X9ECParameters x9 = CustomNamedCurves.getByOID(name);
19+
if (x9 == null)
20+
{
21+
x9 = ECNamedCurveTable.getByOID(name);
22+
}
23+
return new ECNamedDomainParameters(name, x9);
24+
}
25+
1426
private ASN1ObjectIdentifier name;
1527

1628
public ECNamedDomainParameters(ASN1ObjectIdentifier name, ECCurve curve, ECPoint G, BigInteger n)

core/src/main/java/org/bouncycastle/crypto/util/OpenSSHPrivateKeyUtil.java

+1-8
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,9 @@
1313
import org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
1414
import org.bouncycastle.asn1.pkcs.RSAPrivateKey;
1515
import org.bouncycastle.asn1.sec.ECPrivateKey;
16-
import org.bouncycastle.asn1.x9.ECNamedCurveTable;
1716
import org.bouncycastle.asn1.x9.X962Parameters;
1817
import org.bouncycastle.asn1.x9.X9ECParameters;
1918
import org.bouncycastle.crypto.CryptoServicesRegistrar;
20-
import org.bouncycastle.crypto.ec.CustomNamedCurves;
2119
import org.bouncycastle.crypto.params.AsymmetricKeyParameter;
2220
import org.bouncycastle.crypto.params.DSAParameters;
2321
import org.bouncycastle.crypto.params.DSAPrivateKeyParameters;
@@ -209,12 +207,7 @@ else if (sequence.size() == 4)
209207
if (parameters.isNamedCurve())
210208
{
211209
ASN1ObjectIdentifier oid = ASN1ObjectIdentifier.getInstance(parameters.getParameters());
212-
X9ECParameters x9 = CustomNamedCurves.getByOID(oid);
213-
if (x9 == null)
214-
{
215-
x9 = ECNamedCurveTable.getByOID(oid);
216-
}
217-
domainParams = new ECNamedDomainParameters(oid, x9);
210+
domainParams = ECNamedDomainParameters.lookup(oid);
218211
}
219212
else
220213
{

core/src/main/java/org/bouncycastle/crypto/util/PrivateKeyFactory.java

+1-7
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import org.bouncycastle.asn1.x9.X962Parameters;
2727
import org.bouncycastle.asn1.x9.X9ECParameters;
2828
import org.bouncycastle.asn1.x9.X9ObjectIdentifiers;
29-
import org.bouncycastle.crypto.ec.CustomNamedCurves;
3029
import org.bouncycastle.crypto.params.AsymmetricKeyParameter;
3130
import org.bouncycastle.crypto.params.DHParameters;
3231
import org.bouncycastle.crypto.params.DHPrivateKeyParameters;
@@ -162,12 +161,7 @@ else if (algOID.equals(X9ObjectIdentifiers.id_ecPublicKey))
162161
if (parameters.isNamedCurve())
163162
{
164163
ASN1ObjectIdentifier oid = ASN1ObjectIdentifier.getInstance(parameters.getParameters());
165-
X9ECParameters x9 = CustomNamedCurves.getByOID(oid);
166-
if (x9 == null)
167-
{
168-
x9 = ECNamedCurveTable.getByOID(oid);
169-
}
170-
domainParams = new ECNamedDomainParameters(oid, x9);
164+
domainParams = ECNamedDomainParameters.lookup(oid);
171165
}
172166
else
173167
{

core/src/main/java/org/bouncycastle/crypto/util/PublicKeyFactory.java

+1-9
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,12 @@
3232
import org.bouncycastle.asn1.x509.X509ObjectIdentifiers;
3333
import org.bouncycastle.asn1.x9.DHPublicKey;
3434
import org.bouncycastle.asn1.x9.DomainParameters;
35-
import org.bouncycastle.asn1.x9.ECNamedCurveTable;
3635
import org.bouncycastle.asn1.x9.ValidationParams;
3736
import org.bouncycastle.asn1.x9.X962Parameters;
3837
import org.bouncycastle.asn1.x9.X9ECParameters;
3938
import org.bouncycastle.asn1.x9.X9ECPoint;
4039
import org.bouncycastle.asn1.x9.X9IntegerConverter;
4140
import org.bouncycastle.asn1.x9.X9ObjectIdentifiers;
42-
import org.bouncycastle.crypto.ec.CustomNamedCurves;
4341
import org.bouncycastle.crypto.params.AsymmetricKeyParameter;
4442
import org.bouncycastle.crypto.params.DHParameters;
4543
import org.bouncycastle.crypto.params.DHPublicKeyParameters;
@@ -291,13 +289,7 @@ AsymmetricKeyParameter getPublicKeyParameters(SubjectPublicKeyInfo keyInfo, Obje
291289
if (params.isNamedCurve())
292290
{
293291
ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier)params.getParameters();
294-
295-
X9ECParameters x9 = CustomNamedCurves.getByOID(oid);
296-
if (x9 == null)
297-
{
298-
x9 = ECNamedCurveTable.getByOID(oid);
299-
}
300-
dParams = new ECNamedDomainParameters(oid, x9);
292+
dParams = ECNamedDomainParameters.lookup(oid);
301293
}
302294
else if (params.isImplicitlyCA())
303295
{

0 commit comments

Comments
 (0)