List of usage examples for org.bouncycastle.crypto.params RSAPrivateCrtKeyParameters getExponent
public BigInteger getExponent()
From source file:co.lqnt.lockbox.key.KeyFactory.java
License:Open Source License
/** * Generate a new private key.//from www. j a va 2s. c om * * @param size The size of the key in bits. * * @return The private key. */ public PrivateKey generatePrivateKey(final int size) { this.keyGenerator().init(new RSAKeyGenerationParameters(BigInteger.valueOf(65537), this.random().jceSecureRandom(), size, 80)); AsymmetricKeyParameter keyParameters = this.keyGenerator().generateKeyPair().getPrivate(); RSAPrivateCrtKeyParameters rsaKeyParameters; if (keyParameters instanceof RSAPrivateCrtKeyParameters) { rsaKeyParameters = (RSAPrivateCrtKeyParameters) keyParameters; } else { throw new RuntimeException("Invalid key pair generated by Bouncy Castle."); } return new PrivateKey(rsaKeyParameters.getModulus(), rsaKeyParameters.getPublicExponent(), rsaKeyParameters.getExponent(), rsaKeyParameters.getP(), rsaKeyParameters.getQ(), rsaKeyParameters.getDP(), rsaKeyParameters.getDQ(), rsaKeyParameters.getQInv()); }
From source file:co.lqnt.lockbox.key.KeyFactory.java
License:Open Source License
/** * Convert Bouncy Castle private key info to a Lockbox private key. * * @param keyInformation The private key information. * * @return The private key.//from w ww .ja va2 s . com * @throws PrivateKeyReadException If reading of the private key fails. */ protected PrivateKey convertPrivateKey(final PrivateKeyInfo keyInformation) throws PrivateKeyReadException { AsymmetricKeyParameter keyParameter; try { keyParameter = this.bcKeyParametersFactory().createPrivateKeyParameters(keyInformation); } catch (IOException e) { throw new PrivateKeyReadException(e); } RSAPrivateCrtKeyParameters privateKeyParameters; if (keyParameter instanceof RSAPrivateCrtKeyParameters) { privateKeyParameters = (RSAPrivateCrtKeyParameters) keyParameter; } else { throw new PrivateKeyReadException(); } return new PrivateKey(privateKeyParameters.getModulus(), privateKeyParameters.getPublicExponent(), privateKeyParameters.getExponent(), privateKeyParameters.getP(), privateKeyParameters.getQ(), privateKeyParameters.getDP(), privateKeyParameters.getDQ(), privateKeyParameters.getQInv()); }
From source file:com.foilen.smalltools.crypt.bouncycastle.cert.RSATools.java
License:Open Source License
/** * Create a {@link Key} from the private {@link AsymmetricKeys}. * * @param asymmetricKeys/*from www. ja v a 2 s.c om*/ * the asymmetric keys * @return the Java key */ public static PrivateKey createPrivateKey(AsymmetricKeys asymmetricKeys) { try { KeyFactory keyFactory = KeyFactory.getInstance("RSA"); RSAPrivateCrtKeyParameters privateKeyParameters = (RSAPrivateCrtKeyParameters) asymmetricKeys .getPrivateKey(); RSAPrivateCrtKeySpec keySpec = new RSAPrivateCrtKeySpec(privateKeyParameters.getModulus(), privateKeyParameters.getPublicExponent(), privateKeyParameters.getExponent(), privateKeyParameters.getP(), privateKeyParameters.getQ(), privateKeyParameters.getDP(), privateKeyParameters.getDQ(), privateKeyParameters.getQInv()); return keyFactory.generatePrivate(keySpec); } catch (Exception e) { throw new SmallToolsException("Problem generating the key", e); } }
From source file:com.geoxp.oss.CryptoHelperTest.java
License:Apache License
@Test public void testSSHSignatureBlobSign_RSA() throws Exception { RSAKeyPairGenerator rsakpg = new RSAKeyPairGenerator(); RSAKeyGenerationParameters params = new RSAKeyGenerationParameters(new BigInteger("35"), new SecureRandom(), 2048, 8);//w ww . j av a 2 s . c om rsakpg.init(params); AsymmetricCipherKeyPair kp = rsakpg.generateKeyPair(); RSAPrivateCrtKeyParameters privParams = (RSAPrivateCrtKeyParameters) kp.getPrivate(); RSAKeyParameters pubParams = (RSAKeyParameters) kp.getPublic(); KeySpec ks = new RSAPrivateKeySpec(privParams.getModulus(), privParams.getExponent()); PrivateKey priv = KeyFactory.getInstance("RSA").generatePrivate(ks); ks = new RSAPublicKeySpec(pubParams.getModulus(), pubParams.getExponent()); PublicKey pub = KeyFactory.getInstance("RSA").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.RSAPrivateCrtKeyImpl.java
License:Apache License
/** * Construct and initialize rsa key with RSAPrivateCrtKeyParameters. * Use in KeyPairImpl//from ww w .j a v a 2 s . c o m * @see javacard.security.KeyPair * @see RSAPrivateCrtKeyParameters * @param params key params from BouncyCastle API */ public RSAPrivateCrtKeyImpl(RSAPrivateCrtKeyParameters params) { super(new RSAKeyParameters(true, params.getModulus(), params.getExponent())); type = KeyBuilder.TYPE_RSA_CRT_PRIVATE; setParameters(params); }
From source file:de.r2soft.empires.framework.security.CertificateUtil.java
License:Open Source License
/** * Generate an RSA private key/*ww w . ja v a2s . com*/ * * @param cipherParameters * @param cipherParameters2 * @return * @throws InvalidKeySpecException * @throws NoSuchAlgorithmException */ private PrivateKey generatePrivateKey(CipherParameters cipherParameters, CipherParameters cipherParameters2) throws InvalidKeySpecException, NoSuchAlgorithmException { RSAPrivateCrtKeyParameters privateKeyParameters = (RSAPrivateCrtKeyParameters) cipherParameters; RSAKeyParameters publicKeyParameters = (RSAKeyParameters) cipherParameters2; RSAPrivateCrtKeySpec rsaPrivateKeySpec = new RSAPrivateCrtKeySpec(publicKeyParameters.getModulus(), publicKeyParameters.getExponent(), privateKeyParameters.getExponent(), privateKeyParameters.getP(), privateKeyParameters.getQ(), privateKeyParameters.getDP(), privateKeyParameters.getDQ(), privateKeyParameters.getQInv()); return KeyFactory.getInstance("RSA").generatePrivate(rsaPrivateKeySpec); }
From source file:dorkbox.util.crypto.CryptoRSA.java
License:Apache License
@SuppressWarnings("RedundantIfStatement") public static boolean compare(RSAPrivateCrtKeyParameters private1, RSAPrivateCrtKeyParameters private2) { if (!private1.getModulus().equals(private2.getModulus())) { return false; }/*from w w w. ja va 2 s. co m*/ if (!private1.getExponent().equals(private2.getExponent())) { return false; } if (!private1.getDP().equals(private2.getDP())) { return false; } if (!private1.getDQ().equals(private2.getDQ())) { return false; } if (!private1.getP().equals(private2.getP())) { return false; } if (!private1.getPublicExponent().equals(private2.getPublicExponent())) { return false; } if (!private1.getQ().equals(private2.getQ())) { return false; } if (!private1.getQInv().equals(private2.getQInv())) { return false; } return true; }
From source file:dorkbox.util.serialization.RsaPrivateKeySerializer.java
License:Apache License
@Override public void write(Kryo kryo, Output output, RSAPrivateCrtKeyParameters key) { byte[] bytes; int length;//from ww w . j a v a2 s. c om ///////////// bytes = key.getDP().toByteArray(); length = bytes.length; output.writeInt(length, true); output.writeBytes(bytes, 0, length); ///////////// bytes = key.getDQ().toByteArray(); length = bytes.length; output.writeInt(length, true); output.writeBytes(bytes, 0, length); ///////////// bytes = key.getExponent().toByteArray(); length = bytes.length; output.writeInt(length, true); output.writeBytes(bytes, 0, length); ///////////// bytes = key.getModulus().toByteArray(); length = bytes.length; output.writeInt(length, true); output.writeBytes(bytes, 0, length); ///////////// bytes = key.getP().toByteArray(); length = bytes.length; output.writeInt(length, true); output.writeBytes(bytes, 0, length); ///////////// bytes = key.getPublicExponent().toByteArray(); length = bytes.length; output.writeInt(length, true); output.writeBytes(bytes, 0, length); ///////////// bytes = key.getQ().toByteArray(); length = bytes.length; output.writeInt(length, true); output.writeBytes(bytes, 0, length); ///////////// bytes = key.getQInv().toByteArray(); length = bytes.length; output.writeInt(length, true); output.writeBytes(bytes, 0, length); }
From source file:frost.crypt.FrostCrypt.java
License:Open Source License
/** * Generate a new RSA 1024 bit key pair. * @returns String[0] is private key; String[1] is public key *//*w w w .j a v a 2 s . c o m*/ public synchronized String[] generateKeys() { RSAKeyPairGenerator keygen = new RSAKeyPairGenerator(); keygen.init(new RSAKeyGenerationParameters( new BigInteger("3490529510847650949147849619903898133417764638493387843990820577"), getSecureRandom(), 1024, 80)); //this big integer is the winner of some competition as far as I remember AsymmetricCipherKeyPair keys = keygen.generateKeyPair(); //extract the keys RSAKeyParameters pubKey = (RSAKeyParameters) keys.getPublic(); RSAPrivateCrtKeyParameters privKey = (RSAPrivateCrtKeyParameters) keys.getPrivate(); //the return value String[] result = new String[2]; StringBuffer temp = new StringBuffer(); //create the keys temp.append(new String(Base64.encode(pubKey.getExponent().toByteArray()))); temp.append(":"); temp.append(new String(Base64.encode(pubKey.getModulus().toByteArray()))); result[1] = temp.toString(); // public key //rince and repeat, this time exactly the way its done in the constructor temp = new StringBuffer(); temp.append(new String(Base64.encode(privKey.getModulus().toByteArray()))); temp.append(":"); temp.append(new String(Base64.encode(privKey.getPublicExponent().toByteArray()))); temp.append(":"); temp.append(new String(Base64.encode(privKey.getExponent().toByteArray()))); temp.append(":"); temp.append(new String(Base64.encode(privKey.getP().toByteArray()))); temp.append(":"); temp.append(new String(Base64.encode(privKey.getQ().toByteArray()))); temp.append(":"); temp.append(new String(Base64.encode(privKey.getDP().toByteArray()))); temp.append(":"); temp.append(new String(Base64.encode(privKey.getDQ().toByteArray()))); temp.append(":"); temp.append(new String(Base64.encode(privKey.getQInv().toByteArray()))); result[0] = temp.toString(); // private key return result; }
From source file:org.fnppl.opensdx.security.AsymmetricKeyPair.java
License:Open Source License
public AsymmetricKeyPair(AsymmetricCipherKeyPair keyPair) { type = OSDXKey.ALGO_RSA;/* w ww . j a va 2s. c o m*/ CipherParameters pub = keyPair.getPublic(); CipherParameters priv = keyPair.getPrivate(); RSAKeyParameters rpub = (RSAKeyParameters) pub; RSAPrivateCrtKeyParameters rpriv = (RSAPrivateCrtKeyParameters) priv; this.pubkey = new PublicKey(rpub.getModulus(), rpub.getExponent()); this.privkey = new PrivateKey(rpriv.getModulus(), rpriv.getExponent()); this.bitcount = rpub.getModulus().bitLength(); }