List of usage examples for org.bouncycastle.crypto AsymmetricCipherKeyPairGenerator generateKeyPair
public AsymmetricCipherKeyPair generateKeyPair();
From source file:beta01.SimpleRootCA.java
/** * Create a random 2048 bit RSA key pair *//*ww w .ja va2s . c om*/ public static AsymmetricCipherKeyPair generateRSAKeyPair() throws Exception { AsymmetricCipherKeyPairGenerator kpGen = new RSAKeyPairGenerator(); kpGen.init(new RSAKeyGenerationParameters(BigInteger.valueOf(0x11), new SecureRandom(), 2048, 12)); return kpGen.generateKeyPair(); }
From source file:eu.betaas.taas.securitymanager.common.ec.ECKeyPairGen.java
License:Apache License
/** * Generate a random EC (Elliptic Curve) random 192-bit key pair (equivalent * to 1536-bit RSA) based on NIST and SECG, using Bc (Bouncy Castle) classes * @return a pair of EC keys (AsymmetricCipherKeyPair type) *//*w w w .j a v a2s . c om*/ public static AsymmetricCipherKeyPair generateECKeyPair192() { AsymmetricCipherKeyPairGenerator kpGen = new ECKeyPairGenerator(); // First, define an EC curve // ECCurve.Fp(p, a, b); p = prime; a,b = constants defined in equation E: y^2=x^3+ax+b (mod p) ECCurve curve = new ECCurve.Fp(new BigInteger(ECParams.P_192_R1, 16), // p new BigInteger(ECParams.A_192_R1, 16), // a new BigInteger(ECParams.B_192_R1, 16)); // b byte[] seed = Hex.decode(ECParams.SEED_192_R1); // finally use the seed in the ECKeyGenerationParameters along with the others // ECKeyGenerationParameters(ECDomainParameters(ECCurve, G, n, h),random) kpGen.init(new ECKeyGenerationParameters( new ECDomainParameters(curve, curve.decodePoint(Hex.decode(ECParams.G_192_R1_NCOMP)), // G new BigInteger(ECParams.N_192_R1, 16), // n new BigInteger(ECParams.H_192_R1, 16), // h seed), // seed new SecureRandom())); return kpGen.generateKeyPair(); }
From source file:eu.betaas.taas.securitymanager.common.ec.ECKeyPairGen.java
License:Apache License
/** * Generate a random EC (Elliptic Curve) random 224-bit key pair (equivalent * to 2048-bit RSA) based on NIST and SECG, using Bc (Bouncy Castle) classes * @return a pair of EC keys (AsymmetricCipherKeyPair type) */// w w w .j a va 2 s . c o m public static AsymmetricCipherKeyPair generateECKeyPair224() { AsymmetricCipherKeyPairGenerator kpGen = new ECKeyPairGenerator(); // ECCurve.Fp(p, a, b); p = prime; a,b = constants defined in equation E: y^2=x^3+ax+b (mod p) ECCurve curve = new ECCurve.Fp(new BigInteger(ECParams.P_224_R1, 16), new BigInteger(ECParams.A_224_R1, 16), new BigInteger(ECParams.B_224_R1, 16)); byte[] seed = Hex.decode(ECParams.SEED_224_R1); // finally use the seed in the ECKeyGenerationParameters along with the others // ECKeyGenerationParameters(ECDomainParameters(ECCurve, G, n, h),random) kpGen.init(new ECKeyGenerationParameters( new ECDomainParameters(curve, curve.decodePoint(Hex.decode(ECParams.G_224_R1_NCOMP)), new BigInteger(ECParams.N_224_R1, 16), new BigInteger(ECParams.H_224_R1, 16), seed), new SecureRandom())); return kpGen.generateKeyPair(); }
From source file:exchange.User.java
public User(String nick, String passw, String fonct) throws NoSuchAlgorithmException, PGPException { this.nickname = nick; this.password = passw; this.fonction = fonct; // Initialisation de la paire de cls PGP AsymmetricCipherKeyPairGenerator gen = new RSAKeyPairGenerator(); gen.init(new RSAKeyGenerationParameters(new BigInteger("10001", 16), //publicExponent SecureRandom.getInstance("SHA1PRNG"), //prng 1024, //strength 80//certainty ));/* www . j a v a2 s. co m*/ AsymmetricCipherKeyPair kPair = gen.generateKeyPair(); keyPair = new BcPGPKeyPair(PublicKeyAlgorithmTags.RSA_SIGN, kPair, new Date()); privateKey = keyPair.getPrivateKey(); keyAlgorithm = keyPair.getPublicKey().getAlgorithm(); }
From source file:org.spout.api.security.SecurityHandler.java
License:Open Source License
public AsymmetricCipherKeyPair getKeyPair(int keySize, String algorithm, String RNGAlgorithm, String RNGProvider) {//www . j a v a 2 s . c o m AsymmetricCipherKeyPair pair = serverKeys.get(algorithm); if (pair != null) { return pair; } if (provider == null) { return pair; } SecureRandom secureRandom = getSecureRandom(RNGAlgorithm, RNGProvider); if (secureRandom == null) { return null; } AsymmetricCipherKeyPairGenerator generator = getGenerator(algorithm); if (generator == null) { return null; } initGenerator(keySize, algorithm, generator, secureRandom); AsymmetricCipherKeyPair newPair = generator.generateKeyPair(); AsymmetricCipherKeyPair oldPair = serverKeys.putIfAbsent(algorithm, newPair); if (oldPair != null) { return oldPair; } return newPair; }
From source file:org.xwiki.crypto.internal.asymmetric.generator.BcDHKeyPairGenerator.java
License:Open Source License
@Override public AsymmetricKeyPair generate(KeyGenerationParameters parameters) { org.bouncycastle.crypto.params.DHParameters keyGenParams; if (parameters instanceof DHKeyParametersGenerationParameters) { keyGenParams = BcDHKeyParameterGenerator.getDhParameters(random.get(), (DHKeyParametersGenerationParameters) parameters); } else if (parameters instanceof DHKeyGenerationParameters) { keyGenParams = getDhParameters((DHKeyGenerationParameters) parameters); } else {//from ww w. ja v a 2s . c o m throw new IllegalArgumentException( "Invalid parameters for DSA key generator: " + parameters.getClass().getName()); } AsymmetricCipherKeyPairGenerator generator = new DHKeyPairGenerator(); generator.init(new org.bouncycastle.crypto.params.DHKeyGenerationParameters(random.get(), keyGenParams)); return getKeyPair(generator.generateKeyPair()); }
From source file:org.xwiki.crypto.internal.asymmetric.generator.BcDSAKeyPairGenerator.java
License:Open Source License
@Override public AsymmetricKeyPair generate(KeyGenerationParameters parameters) { org.bouncycastle.crypto.params.DSAParameters keyGenParams; if (parameters instanceof DSAKeyParametersGenerationParameters) { keyGenParams = getDsaParameters((DSAKeyGenerationParameters) parametersGenerator .generate((DSAKeyParametersGenerationParameters) parameters)); } else if (parameters instanceof DSAKeyGenerationParameters) { keyGenParams = getDsaParameters((DSAKeyGenerationParameters) parameters); } else {//from ww w. j av a 2s .co m throw new IllegalArgumentException( "Invalid parameters for DSA key generator: " + parameters.getClass().getName()); } AsymmetricCipherKeyPairGenerator generator = new DSAKeyPairGenerator(); generator.init(new org.bouncycastle.crypto.params.DSAKeyGenerationParameters(random.get(), keyGenParams)); return getKeyPair(generator.generateKeyPair()); }
From source file:org.xwiki.crypto.internal.asymmetric.generator.BcRSAKeyPairGenerator.java
License:Open Source License
@Override public AsymmetricKeyPair generate(KeyGenerationParameters parameters) { if (!(parameters instanceof RSAKeyGenerationParameters)) { throw new IllegalArgumentException( "Invalid parameters for RSA key generator: " + parameters.getClass().getName()); }/*from w w w . j a va2 s . c o m*/ RSAKeyGenerationParameters params = (RSAKeyGenerationParameters) parameters; org.bouncycastle.crypto.params.RSAKeyGenerationParameters genParam = new org.bouncycastle.crypto.params.RSAKeyGenerationParameters( params.getPublicExponent(), random.get(), params.getStrength() * 8, params.getCertainty()); AsymmetricCipherKeyPairGenerator generator = new RSAKeyPairGenerator(); generator.init(genParam); return getKeyPair(generator.generateKeyPair()); }