blob: 868c39b239f5c8d7947c7cbeb5b4f172b86e4867 [file] [log] [blame]
/* GENERATED SOURCE. DO NOT MODIFY. */
package com.android.internal.org.bouncycastle.crypto.params;
import java.math.BigInteger;
/**
* @hide This class is not part of the Android public SDK API
*/
public class DSAPublicKeyParameters
extends DSAKeyParameters
{
private static final BigInteger ONE = BigInteger.valueOf(1);
private static final BigInteger TWO = BigInteger.valueOf(2);
private BigInteger y;
public DSAPublicKeyParameters(
BigInteger y,
DSAParameters params)
{
super(false, params);
this.y = validate(y, params);
}
private BigInteger validate(BigInteger y, DSAParameters params)
{
if (params != null)
{
if (TWO.compareTo(y) <= 0 && params.getP().subtract(TWO).compareTo(y) >= 0
&& ONE.equals(y.modPow(params.getQ(), params.getP())))
{
return y;
}
throw new IllegalArgumentException("y value does not appear to be in correct group");
}
else
{
return y; // we can't validate without params, fortunately we can't use the key either...
}
}
public BigInteger getY()
{
return y;
}
}