|
52 | 52 | import org.bouncycastle.crypto.params.ECPublicKeyParameters;
|
53 | 53 | import org.bouncycastle.crypto.signers.ECDSASigner;
|
54 | 54 | import org.bouncycastle.jcajce.provider.asymmetric.util.EC5Util;
|
| 55 | +import org.bouncycastle.jcajce.provider.asymmetric.util.ECUtil; |
55 | 56 | import org.bouncycastle.jce.ECNamedCurveTable;
|
56 | 57 | import org.bouncycastle.jce.ECPointUtil;
|
57 | 58 | import org.bouncycastle.jce.spec.ECNamedCurveParameterSpec;
|
@@ -171,33 +172,19 @@ public static RubyArray builtin_curves(ThreadContext context, IRubyObject self)
|
171 | 172 | }
|
172 | 173 |
|
173 | 174 | private static Optional<ASN1ObjectIdentifier> getCurveOID(final String curveName) {
|
174 |
| - ASN1ObjectIdentifier id; |
175 |
| - id = org.bouncycastle.asn1.sec.SECNamedCurves.getOID(curveName); |
176 |
| - if ( id != null ) return Optional.of(id); |
177 |
| - id = org.bouncycastle.asn1.x9.X962NamedCurves.getOID(curveName); |
178 |
| - if ( id != null ) return Optional.of(id); |
179 |
| - id = org.bouncycastle.asn1.nist.NISTNamedCurves.getOID(curveName); |
180 |
| - if ( id != null ) return Optional.of(id); |
181 |
| - id = org.bouncycastle.asn1.teletrust.TeleTrusTNamedCurves.getOID(curveName); |
182 |
| - if ( id != null ) return Optional.of(id); |
183 |
| - return Optional.empty(); |
| 175 | + return Optional.ofNullable(ECUtil.getNamedCurveOid(curveName)); |
184 | 176 | }
|
185 | 177 |
|
186 | 178 | private static boolean isCurveName(final String curveName) {
|
187 | 179 | return getCurveOID(curveName).isPresent();
|
188 | 180 | }
|
189 | 181 |
|
190 | 182 | private static String getCurveName(final ASN1ObjectIdentifier oid) {
|
191 |
| - String name; |
192 |
| - name = org.bouncycastle.asn1.sec.SECNamedCurves.getName(oid); |
193 |
| - if ( name != null ) return name; |
194 |
| - name = org.bouncycastle.asn1.x9.X962NamedCurves.getName(oid); |
195 |
| - if ( name != null ) return name; |
196 |
| - name = org.bouncycastle.asn1.nist.NISTNamedCurves.getName(oid); |
197 |
| - if ( name != null ) return name; |
198 |
| - name = org.bouncycastle.asn1.teletrust.TeleTrusTNamedCurves.getName(oid); |
199 |
| - if ( name != null ) return name; |
200 |
| - throw new IllegalStateException("could not identify curve name from: " + oid); |
| 183 | + final String name = ECUtil.getCurveName(oid); |
| 184 | + if (name == null) { |
| 185 | + throw new IllegalStateException("could not identify curve name from: " + oid); |
| 186 | + } |
| 187 | + return name; |
201 | 188 | }
|
202 | 189 |
|
203 | 190 | public PKeyEC(Ruby runtime, RubyClass type) {
|
|
0 commit comments