createECGOSTRequest();
    public void performTest()        throws Exception    {        generationTest(512, "RSA", "SHA1withRSA", "BC");               generationTest(512, "GOST3410", "GOST3411withGOST3410", "BC");                if (Security.getProvider("SunRsaSign") != null)        {            generationTest(512, "RSA", "SHA1withRSA", "SunRsaSign");         }                // elliptic curve GOST A parameter set        PKCS10CertificationRequest req = new PKCS10CertificationRequest(gost3410EC_A);        if (!req.verify())        {            fail("Failed verify check gost3410EC_A.");        }        // elliptic curve GOST B parameter set        req = new PKCS10CertificationRequest(gost3410EC_B);        if (!req.verify())        {            fail("Failed verify check gost3410EC_B.");        }        // elliptic curve GOST C parameter set        req = new PKCS10CertificationRequest(gost3410EC_C);        if (!req.verify())        {            fail("Failed verify check gost3410EC_C.");        }                // elliptic curve GOST ExA parameter set        req = new PKCS10CertificationRequest(gost3410EC_ExA);        if (!req.verify())        {            fail("Failed verify check gost3410EC_ExA.");        }        // elliptic curve GOST ExB parameter set        req = new PKCS10CertificationRequest(gost3410EC_ExB);        if (!req.verify())        {            fail("Failed verify check gost3410EC_ExA.");        }                // elliptic curve openSSL        KeyPairGenerator g = KeyPairGenerator.getInstance("ECDSA", "BC");        ECCurve curve = new ECCurve.Fp(            new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"), // q            new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16), // a            new BigInteger("6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a", 16)); // b        ECParameterSpec ecSpec = new ECParameterSpec(            curve,            curve.decodePoint(Hex.decode("020ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf")), // G            new BigInteger("883423532389192164791648750360308884807550341691627752275345424702807307")); // n        g.initialize(ecSpec, new SecureRandom());        KeyPair kp = g.generateKeyPair();        req = new PKCS10CertificationRequest(                "ECDSAWITHSHA1", new X509Name("CN=XXX"), kp.getPublic(), null, kp.getPrivate());        if (!req.verify())        {            fail("Failed verify check EC.");        }                createECRequest("SHA1withECDSA", X9ObjectIdentifiers.ecdsa_with_SHA1);        createECRequest("SHA224withECDSA", X9ObjectIdentifiers.ecdsa_with_SHA224);        createECRequest("SHA256withECDSA", X9ObjectIdentifiers.ecdsa_with_SHA256);        createECRequest("SHA384withECDSA", X9ObjectIdentifiers.ecdsa_with_SHA384);        createECRequest("SHA512withECDSA", X9ObjectIdentifiers.ecdsa_with_SHA512);    }