List of usage examples for org.bouncycastle.crypto.generators DSAKeyPairGenerator DSAKeyPairGenerator
DSAKeyPairGenerator
From source file:com.geoxp.oss.CryptoHelperTest.java
License:Apache License
@Test public void testSSHSignatureBlobSign_DSA() throws Exception { DSAKeyPairGenerator dsakpg = new DSAKeyPairGenerator(); DSAParametersGenerator dpg = new DSAParametersGenerator(); dpg.init(1024, 8, new SecureRandom()); DSAParameters dsaparams = dpg.generateParameters(); DSAKeyGenerationParameters params = new DSAKeyGenerationParameters(new SecureRandom(), dsaparams); dsakpg.init(params);//from w w w . ja va 2 s .c om AsymmetricCipherKeyPair kp = dsakpg.generateKeyPair(); DSAPrivateKeyParameters privParams = (DSAPrivateKeyParameters) kp.getPrivate(); DSAPublicKeyParameters pubParams = (DSAPublicKeyParameters) kp.getPublic(); KeySpec ks = new DSAPrivateKeySpec(privParams.getX(), privParams.getParameters().getP(), privParams.getParameters().getQ(), privParams.getParameters().getG()); PrivateKey priv = KeyFactory.getInstance("DSA").generatePrivate(ks); ks = new DSAPublicKeySpec(pubParams.getY(), pubParams.getParameters().getP(), pubParams.getParameters().getQ(), pubParams.getParameters().getG()); PublicKey pub = KeyFactory.getInstance("DSA").generatePublic(ks); byte[] data = PLAINTEXT.getBytes(); byte[] sig = CryptoHelper.sshSignatureBlobSign(data, priv); Assert.assertTrue(CryptoHelper.sshSignatureBlobVerify(data, sig, pub)); }
From source file:com.licel.jcardsim.crypto.KeyPairImpl.java
License:Apache License
/** * Init key pair generation engine//from w w w . j a v a 2 s.c om */ private void initEngine() { // only public key params, see specification if (publicKey != null) { keyGenerationParameters = ((KeyImpl) publicKey).getKeyGenerationParameters(rnd); } switch (algorithm) { case KeyPair.ALG_RSA: case KeyPair.ALG_RSA_CRT: if (keyGenerationParameters == null) { keyGenerationParameters = RSAKeyImpl.getDefaultKeyGenerationParameters(keyLength, rnd); } engine = new RSAKeyPairGenerator(); break; // case KeyPair.ALG_DSA: if (keyLength < 512 || keyLength > 1024 || keyLength % 64 != 0) { CryptoException.throwIt(CryptoException.ILLEGAL_VALUE); } if (keyGenerationParameters == null) { keyGenerationParameters = DSAKeyImpl.getDefaultKeyGenerationParameters(keyLength, rnd); } engine = new DSAKeyPairGenerator(); break; // ecc case KeyPair.ALG_EC_F2M: case KeyPair.ALG_EC_FP: if (keyGenerationParameters == null) { keyGenerationParameters = ECKeyImpl.getDefaultKeyGenerationParameters(algorithm, keyLength, rnd); } engine = new ECKeyPairGenerator(); break; default: CryptoException.throwIt(CryptoException.NO_SUCH_ALGORITHM); break; } engine.init(keyGenerationParameters); }
From source file:dorkbox.util.crypto.CryptoDSA.java
License:Apache License
/** * Generates the DSA key (using RSA and SHA1) * <p/>//w ww. j ava 2 s . c om * Note: this is here just for keeping track of how this is done. This should NOT be used, and instead use ECC crypto. */ public static AsymmetricCipherKeyPair generateKeyPair(SecureRandom secureRandom, int keyLength) { DSAKeyPairGenerator keyGen = new DSAKeyPairGenerator(); DSAParametersGenerator dsaParametersGenerator = new DSAParametersGenerator(); dsaParametersGenerator.init(keyLength, 20, secureRandom); DSAParameters generateParameters = dsaParametersGenerator.generateParameters(); DSAKeyGenerationParameters params = new DSAKeyGenerationParameters(secureRandom, generateParameters); keyGen.init(params); return keyGen.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 av a 2 s. 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()); }