Search in sources :

Example 1 with GOST3410PrivateKeySpec

use of com.github.zhenwei.provider.jce.spec.GOST3410PrivateKeySpec 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);
}
Also used : GOST3410PrivateKeySpec(com.github.zhenwei.provider.jce.spec.GOST3410PrivateKeySpec) GOST3410PublicKey(com.github.zhenwei.provider.jce.interfaces.GOST3410PublicKey) GOST3410PublicKeySpec(com.github.zhenwei.provider.jce.spec.GOST3410PublicKeySpec) GOST3410PrivateKey(com.github.zhenwei.provider.jce.interfaces.GOST3410PrivateKey) GOST3410PublicKeyParameterSetSpec(com.github.zhenwei.provider.jce.spec.GOST3410PublicKeyParameterSetSpec)

Aggregations

GOST3410PrivateKey (com.github.zhenwei.provider.jce.interfaces.GOST3410PrivateKey)1 GOST3410PublicKey (com.github.zhenwei.provider.jce.interfaces.GOST3410PublicKey)1 GOST3410PrivateKeySpec (com.github.zhenwei.provider.jce.spec.GOST3410PrivateKeySpec)1 GOST3410PublicKeyParameterSetSpec (com.github.zhenwei.provider.jce.spec.GOST3410PublicKeyParameterSetSpec)1 GOST3410PublicKeySpec (com.github.zhenwei.provider.jce.spec.GOST3410PublicKeySpec)1