/** * Gets an elliptic curve domain parameter specification from a named curve * OID. * * @param curveOid Named elliptic curve object identifier. * * @return Domain parameters for named curve. */ public static ECParameterSpec fromNamedCurve( final DERObjectIdentifier curveOid) { return convertParams(ECUtil.getNamedCurveByOid(curveOid)); }
/** {@inheritDoc} */ public void initVerify() { if (verifyKey == null) { throw new IllegalStateException( "Verify key must be set prior to initialization."); } try { init(false, ECUtil.generatePublicKeyParameter(verifyKey)); } catch (InvalidKeyException e) { throw new RuntimeException("Cannot convert public key to BC format", e); } }
/** {@inheritDoc} */ public void initSign() { if (signKey == null) { throw new IllegalStateException( "Sign key must be set prior to initialization."); } try { init(true, ECUtil.generatePrivateKeyParameter(signKey)); } catch (InvalidKeyException e) { throw new RuntimeException("Cannot convert private key to BC format", e); } }
/** * Converts a BC elliptic curve domain parameter type into JCE type. * * @param params BC elliptic curve domain parameters. * * @return Equivalent JCE elliptic curve domain parameters. */ private static ECParameterSpec convertParams(final X9ECParameters params) { final EllipticCurve curve = EC5Util.convertCurve( params.getCurve(), params.getSeed()); final org.bouncycastle.jce.spec.ECParameterSpec spec = new org.bouncycastle.jce.spec.ECParameterSpec( params.getCurve(), params.getG(), params.getN(), params.getH(), params.getSeed()); return EC5Util.convertSpec(curve, spec); } }