//
// private key encoding test
//
byte[] privEnc = sKey.getEncoded();
PKCS8EncodedKeySpec privPKCS8 = new PKCS8EncodedKeySpec(privEnc);
ECPrivateKey privKey = (ECPrivateKey)keyFac.generatePrivate(privPKCS8);
if (!privKey.getS().equals(((ECPrivateKey)sKey).getS()))
{
fail("GOST private key encoding (S test) failed");
}
if (!(privKey.getParams() instanceof ECNamedCurveSpec))
{
fail("GOST private key encoding not named curve");
}
ECNamedCurveSpec privSpec = (ECNamedCurveSpec)privKey.getParams();
if (!privSpec.getName().equalsIgnoreCase(name)
&& !privSpec.getName().equalsIgnoreCase((String)CURVE_ALIASES.get(name)))
{
fail("GOST private key encoding wrong named curve. Expected: " + name + " got " + privSpec.getName());
}