public void initialize( int strength, SecureRandom random) { param = new RSAKeyGenerationParameters(defaultPublicExponent, random, strength, defaultTests); engine.init(param); }
public KeyPairGeneratorSpi() { super("RSA"); engine = new RSAKeyPairGenerator(); param = new RSAKeyGenerationParameters(defaultPublicExponent, new SecureRandom(), 2048, defaultTests); engine.init(param); }
public KeyPairGeneratorSpi() { super("RSA"); engine = new RSAKeyPairGenerator(); param = new RSAKeyGenerationParameters(defaultPublicExponent, new SecureRandom(), 2048, PrimeCertaintyCalculator.getDefaultCertainty(2048)); engine.init(param); }
public void initialize( int strength, SecureRandom random) { param = new RSAKeyGenerationParameters(defaultPublicExponent, random, strength, PrimeCertaintyCalculator.getDefaultCertainty(strength)); engine.init(param); }
public void initialize( AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException { if (!(params instanceof RSAKeyGenParameterSpec)) { throw new InvalidAlgorithmParameterException("parameter object not a RSAKeyGenParameterSpec"); } RSAKeyGenParameterSpec rsaParams = (RSAKeyGenParameterSpec)params; param = new RSAKeyGenerationParameters( rsaParams.getPublicExponent(), random, rsaParams.getKeysize(), defaultTests); engine.init(param); }
public void initialize( AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException { if (!(params instanceof RSAKeyGenParameterSpec)) { throw new InvalidAlgorithmParameterException("parameter object not a RSAKeyGenParameterSpec"); } RSAKeyGenParameterSpec rsaParams = (RSAKeyGenParameterSpec)params; param = new RSAKeyGenerationParameters( rsaParams.getPublicExponent(), random, rsaParams.getKeysize(), PrimeCertaintyCalculator.getDefaultCertainty(2048)); engine.init(param); }
/** * Generate a new key pair, with all options specified. * * @param bitStrength bit strength of the key, e.g. 2048 * @param e RSA public exponent * @param certainty RSA key generation certainty * @param mgf1HashType The type of the hash(digest) function used for OAEP MGF1 hash generation. */ public void generate(int bitStrength, byte[] e, int certainty, HashType oaepHashType, HashType mgf1HashType) { final RSAKeyPairGenerator keyGen = new RSAKeyPairGenerator(); keyGen.init(new RSAKeyGenerationParameters( BigIntegers.fromUnsignedByteArray(e), new SecureRandom(), bitStrength, certainty)); final AsymmetricCipherKeyPair keyPair = keyGen.generateKeyPair(); final RSAPrivateCrtKeyParameters privateKey = (RSAPrivateCrtKeyParameters) keyPair.getPrivate(); if (mgf1HashType == null) { mgf1HashType = DEFAULT_MGF1_HASH; } // Don't worry we are passing thread-unsafe hash and mgf1Hash Digest instances: // init() will clone them anyway. init(e, BigIntegers.asUnsignedByteArray(privateKey.getP()), BigIntegers.asUnsignedByteArray(privateKey.getQ()), oaepHashType, mgf1HashType, new SecureRandom()); }
/** * Generate a fresh hashname key pair for a newly provisioned Telehash node. * * @return The new hashname key pair. * @throws TelehashException */ @Override public HashNameKeyPair generateHashNameKeyPair() throws TelehashException { // generate a 2048 bit key pair RSAKeyPairGenerator generator = new RSAKeyPairGenerator(); generator.init( new RSAKeyGenerationParameters( new BigInteger("10001", 16),//publicExponent // TODO: see warning in getRandomBytes()! new SecureRandom(), 2048, // key length 80 // prime certainty ) ); AsymmetricCipherKeyPair keyPair = generator.generateKeyPair(); AsymmetricKeyParameter publicKey = keyPair.getPublic(); AsymmetricKeyParameter privateKey = keyPair.getPrivate(); if (! (privateKey instanceof RSAPrivateCrtKeyParameters)) { throw new TelehashException("generated key is not an RSA private key."); } return new HashNameKeyPairImpl( new HashNamePublicKeyImpl(publicKey), new HashNamePrivateKeyImpl((RSAPrivateCrtKeyParameters)privateKey) ); }
int keySize = KEY_SIZES[rng.nextInt(KEY_SIZES.length)]; keyGen.init(new RSAKeyGenerationParameters(BigInteger.valueOf(publicExponent), new SecureRandom(), keySize, RSA_KEY_CERTAINTY)); AsymmetricCipherKeyPair keyPair = keyGen.generateKeyPair();