Example usage for org.bouncycastle.crypto AsymmetricCipherKeyPairGenerator init

List of usage examples for org.bouncycastle.crypto AsymmetricCipherKeyPairGenerator init

Introduction

In this page you can find the example usage for org.bouncycastle.crypto AsymmetricCipherKeyPairGenerator init.

Prototype

public void init(KeyGenerationParameters param);

Source Link

Document

intialise the key pair generator.

Usage

From source file:beta01.SimpleRootCA.java

/**
 * Create a random 2048 bit RSA key pair
 */// w ww.  j  a  va2 s . c o  m
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)
 *//*ww  w .j a  v a  2  s .  c o m*/
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)
 *///from   ww w  .  j a  va  2s. 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
    ));//from   www.  j a v a2s.  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 void initGenerator(int keySize, String algorithm, AsymmetricCipherKeyPairGenerator generator,
        SecureRandom random) {//  ww  w  . j av  a2 s. co m
    if (algorithm.equals("RSA")) {
        RSAKeyGenerationParameters params = new RSAKeyGenerationParameters(new BigInteger("10001", 16), random,
                keySize, 80);
        generator.init(params);
    }
}

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 {//w  ww  .  j  a v  a2  s .  c om
        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 {//  ww w .j  ava2  s .c o  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  ww  . j  a  va  2  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());
}