org.bouncycastle.crypto.params.RSAKeyGenerationParameters Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bouncycastle Show documentation
Show all versions of bouncycastle Show documentation
The Bouncy Castle Java APIs for CMS, PKCS, EAC, TSP, CMP, CRMF, OCSP, and certificate generation. This jar
contains APIs for JDK 1.5 and up. The APIs can be used in conjunction with a JCE/JCA provider such as the one
provided with the Bouncy Castle Cryptography APIs.
package org.bouncycastle.crypto.params;
import java.math.BigInteger;
import java.security.SecureRandom;
import org.bouncycastle.crypto.KeyGenerationParameters;
public class RSAKeyGenerationParameters
extends KeyGenerationParameters
{
private BigInteger publicExponent;
private int certainty;
public RSAKeyGenerationParameters(
BigInteger publicExponent,
SecureRandom random,
int strength,
int certainty)
{
super(random, strength);
if (strength < 12)
{
throw new IllegalArgumentException("key strength too small");
}
//
// public exponent cannot be even
//
if (!publicExponent.testBit(0))
{
throw new IllegalArgumentException("public exponent cannot be even");
}
this.publicExponent = publicExponent;
this.certainty = certainty;
}
public BigInteger getPublicExponent()
{
return publicExponent;
}
public int getCertainty()
{
return certainty;
}
}