use of com.github.zhenwei.provider.jce.interfaces.GOST3410PrivateKey in project LinLong-Java by zhenwei1108.
the class KeyFactorySpi method engineGetKeySpec.
protected KeySpec engineGetKeySpec(Key key, Class spec) throws InvalidKeySpecException {
if (spec.isAssignableFrom(GOST3410PublicKeySpec.class) && key instanceof GOST3410PublicKey) {
GOST3410PublicKey k = (GOST3410PublicKey) key;
GOST3410PublicKeyParameterSetSpec parameters = k.getParameters().getPublicKeyParameters();
return new GOST3410PublicKeySpec(k.getY(), parameters.getP(), parameters.getQ(), parameters.getA());
} else if (spec.isAssignableFrom(GOST3410PrivateKeySpec.class) && key instanceof GOST3410PrivateKey) {
GOST3410PrivateKey k = (GOST3410PrivateKey) key;
GOST3410PublicKeyParameterSetSpec parameters = k.getParameters().getPublicKeyParameters();
return new GOST3410PrivateKeySpec(k.getX(), parameters.getP(), parameters.getQ(), parameters.getA());
}
return super.engineGetKeySpec(key, spec);
}
use of com.github.zhenwei.provider.jce.interfaces.GOST3410PrivateKey in project LinLong-Java by zhenwei1108.
the class GOST3410Util method generatePrivateKeyParameter.
public static AsymmetricKeyParameter generatePrivateKeyParameter(PrivateKey key) throws InvalidKeyException {
if (key instanceof GOST3410PrivateKey) {
GOST3410PrivateKey k = (GOST3410PrivateKey) key;
GOST3410PublicKeyParameterSetSpec p = k.getParameters().getPublicKeyParameters();
return new GOST3410PrivateKeyParameters(k.getX(), new GOST3410Parameters(p.getP(), p.getQ(), p.getA()));
}
throw new InvalidKeyException("can't identify GOST3410 private key.");
}
Aggregations