blob: e90d30f9e2e34046bbc4d10a81fcbc674f99dd58 [file] [log] [blame]
package org.bouncycastle.crypto.params;
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
public class ECGOST3410Parameters
extends ECNamedDomainParameters
{
private final ASN1ObjectIdentifier publicKeyParamSet;
private final ASN1ObjectIdentifier digestParamSet;
private final ASN1ObjectIdentifier encryptionParamSet;
public ECGOST3410Parameters(ECDomainParameters ecParameters, ASN1ObjectIdentifier publicKeyParamSet, ASN1ObjectIdentifier digestParamSet)
{
this(ecParameters, publicKeyParamSet, digestParamSet, null);
}
public ECGOST3410Parameters(ECDomainParameters ecParameters, ASN1ObjectIdentifier publicKeyParamSet, ASN1ObjectIdentifier digestParamSet, ASN1ObjectIdentifier encryptionParamSet)
{
super(publicKeyParamSet, ecParameters.getCurve(), ecParameters.getG(), ecParameters.getN(), ecParameters.getH(), ecParameters.getSeed());
if (ecParameters instanceof ECNamedDomainParameters)
{
if (!publicKeyParamSet.equals(((ECNamedDomainParameters)ecParameters).getName()))
{
throw new IllegalArgumentException("named parameters do not match publicKeyParamSet value");
}
}
this.publicKeyParamSet = publicKeyParamSet;
this.digestParamSet = digestParamSet;
this.encryptionParamSet = encryptionParamSet;
}
public ASN1ObjectIdentifier getPublicKeyParamSet()
{
return publicKeyParamSet;
}
public ASN1ObjectIdentifier getDigestParamSet()
{
return digestParamSet;
}
public ASN1ObjectIdentifier getEncryptionParamSet()
{
return encryptionParamSet;
}
}