| 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; |
| } |
| } |