Here are the examples of the java api class java.security.AlgorithmParameterGenerator taken from open source projects.
1. ElGamalTest#testRandom()
Project: bc-java
File: ElGamalTest.java
File: ElGamalTest.java
private void testRandom(int size) throws Exception { AlgorithmParameterGenerator a = AlgorithmParameterGenerator.getInstance("ElGamal", "BC"); a.init(size, new SecureRandom()); AlgorithmParameters params = a.generateParameters(); byte[] encodeParams = params.getEncoded(); AlgorithmParameters a2 = AlgorithmParameters.getInstance("ElGamal", "BC"); a2.init(encodeParams); // a and a2 should be equivalent! byte[] encodeParams_2 = a2.getEncoded(); if (!areEqual(encodeParams, encodeParams_2)) { fail(this.getName() + ": encode/decode parameters failed"); } DHParameterSpec elP = (DHParameterSpec) params.getParameterSpec(DHParameterSpec.class); testGP(size, 0, elP.getG(), elP.getP()); }
2. DHTest#testRandom()
Project: bc-java
File: DHTest.java
File: DHTest.java
private void testRandom(int size) throws Exception { AlgorithmParameterGenerator a = AlgorithmParameterGenerator.getInstance("DH", "BC"); a.init(size, new SecureRandom()); AlgorithmParameters params = a.generateParameters(); byte[] encodeParams = params.getEncoded(); AlgorithmParameters a2 = AlgorithmParameters.getInstance("DH", "BC"); a2.init(encodeParams); // a and a2 should be equivalent! byte[] encodeParams_2 = a2.getEncoded(); if (!areEqual(encodeParams, encodeParams_2)) { fail("encode/decode parameters failed"); } DHParameterSpec dhP = (DHParameterSpec) params.getParameterSpec(DHParameterSpec.class); testGP("DH", size, 0, dhP.getG(), dhP.getP()); }
3. DSATest#testDSA2Parameters()
Project: bc-java
File: DSATest.java
File: DSATest.java
private void testDSA2Parameters() throws Exception { byte[] seed = Hex.decode("4783081972865EA95D43318AB2EAF9C61A2FC7BBF1B772A09017BDF5A58F4FF0"); AlgorithmParameterGenerator a = AlgorithmParameterGenerator.getInstance("DSA", "BC"); a.init(2048, new DSATestSecureRandom(seed)); AlgorithmParameters params = a.generateParameters(); DSAParameterSpec dsaP = (DSAParameterSpec) params.getParameterSpec(DSAParameterSpec.class); if (!dsaP.getQ().equals(new BigInteger("C24ED361870B61E0D367F008F99F8A1F75525889C89DB1B673C45AF5867CB467", 16))) { fail("Q incorrect"); } if (!dsaP.getP().equals(new BigInteger("F56C2A7D366E3EBDEAA1891FD2A0D099" + "436438A673FED4D75F594959CFFEBCA7BE0FC72E4FE67D91" + "D801CBA0693AC4ED9E411B41D19E2FD1699C4390AD27D94C" + "69C0B143F1DC88932CFE2310C886412047BD9B1C7A67F8A2" + "5909132627F51A0C866877E672E555342BDF9355347DBD43" + "B47156B2C20BAD9D2B071BC2FDCF9757F75C168C5D9FC431" + "31BE162A0756D1BDEC2CA0EB0E3B018A8B38D3EF2487782A" + "EB9FBF99D8B30499C55E4F61E5C7DCEE2A2BB55BD7F75FCD" + "F00E48F2E8356BDB59D86114028F67B8E07B127744778AFF" + "1CF1399A4D679D92FDE7D941C5C85C5D7BFF91BA69F9489D" + "531D1EBFA727CFDA651390F8021719FA9F7216CEB177BD75", 16))) { fail("P incorrect"); } if (!dsaP.getG().equals(new BigInteger("8DC6CC814CAE4A1C05A3E186A6FE27EA" + "BA8CDB133FDCE14A963A92E809790CBA096EAA26140550C1" + "29FA2B98C16E84236AA33BF919CD6F587E048C52666576DB" + "6E925C6CBE9B9EC5C16020F9A44C9F1C8F7A8E611C1F6EC2" + "513EA6AA0B8D0F72FED73CA37DF240DB57BBB27431D61869" + "7B9E771B0B301D5DF05955425061A30DC6D33BB6D2A32BD0" + "A75A0A71D2184F506372ABF84A56AEEEA8EB693BF29A6403" + "45FA1298A16E85421B2208D00068A5A42915F82CF0B858C8" + "FA39D43D704B6927E0B2F916304E86FB6A1B487F07D8139E" + "428BB096C6D67A76EC0B8D4EF274B8A2CF556D279AD267CC" + "EF5AF477AFED029F485B5597739F5D0240F67C2D948A6279", 16))) { fail("G incorrect"); } KeyPairGenerator g = KeyPairGenerator.getInstance("DSA", "BC"); g.initialize(dsaP, new FixedSecureRandom(Hex.decode("0CAF2EF547EC49C4F3A6FE6DF4223A174D01F2C115D49A6F73437C29A2A8458C"))); KeyPair p = g.generateKeyPair(); DSAPrivateKey sKey = (DSAPrivateKey) p.getPrivate(); DSAPublicKey vKey = (DSAPublicKey) p.getPublic(); if (!vKey.getY().equals(new BigInteger("2828003D7C747199143C370FDD07A286" + "1524514ACC57F63F80C38C2087C6B795B62DE1C224BF8D1D" + "1424E60CE3F5AE3F76C754A2464AF292286D873A7A30B7EA" + "CBBC75AAFDE7191D9157598CDB0B60E0C5AA3F6EBE425500" + "C611957DBF5ED35490714A42811FDCDEB19AF2AB30BEADFF" + "2907931CEE7F3B55532CFFAEB371F84F01347630EB227A41" + "9B1F3F558BC8A509D64A765D8987D493B007C4412C297CAF" + "41566E26FAEE475137EC781A0DC088A26C8804A98C23140E" + "7C936281864B99571EE95C416AA38CEEBB41FDBFF1EB1D1D" + "C97B63CE1355257627C8B0FD840DDB20ED35BE92F08C49AE" + "A5613957D7E5C7A6D5A5834B4CB069E0831753ECF65BA02B", 16))) { fail("Y value incorrect"); } if (!sKey.getX().equals(new BigInteger("0CAF2EF547EC49C4F3A6FE6DF4223A174D01F2C115D49A6F73437C29A2A8458C", 16))) { fail("X value incorrect"); } byte[] encodeParams = params.getEncoded(); AlgorithmParameters a2 = AlgorithmParameters.getInstance("DSA", "BC"); a2.init(encodeParams); // a and a2 should be equivalent! byte[] encodeParams_2 = a2.getEncoded(); if (!areEqual(encodeParams, encodeParams_2)) { fail("encode/decode parameters failed"); } Signature s = Signature.getInstance("DSA", "BC"); byte[] data = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; s.initSign(sKey); s.update(data); byte[] sigBytes = s.sign(); s = Signature.getInstance("DSA", "BC"); s.initVerify(vKey); s.update(data); if (!s.verify(sigBytes)) { fail("DSA verification failed"); } }
4. DSATest#testParameters()
Project: bc-java
File: DSATest.java
File: DSATest.java
private void testParameters() throws Exception { AlgorithmParameterGenerator a = AlgorithmParameterGenerator.getInstance("DSA", "BC"); a.init(512, random); AlgorithmParameters params = a.generateParameters(); byte[] encodeParams = params.getEncoded(); AlgorithmParameters a2 = AlgorithmParameters.getInstance("DSA", "BC"); a2.init(encodeParams); // a and a2 should be equivalent! byte[] encodeParams_2 = a2.getEncoded(); if (!areEqual(encodeParams, encodeParams_2)) { fail("encode/decode parameters failed"); } DSAParameterSpec dsaP = (DSAParameterSpec) params.getParameterSpec(DSAParameterSpec.class); KeyPairGenerator g = KeyPairGenerator.getInstance("DSA", "BC"); g.initialize(dsaP, new SecureRandom()); KeyPair p = g.generateKeyPair(); PrivateKey sKey = p.getPrivate(); PublicKey vKey = p.getPublic(); Signature s = Signature.getInstance("DSA", "BC"); byte[] data = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; s.initSign(sKey); s.update(data); byte[] sigBytes = s.sign(); s = Signature.getInstance("DSA", "BC"); s.initVerify(vKey); s.update(data); if (!s.verify(sigBytes)) { fail("DSA verification failed"); } }
5. PublicKeySecurityHandler#createDERForRecipient()
Project: PdfBox-Android
File: PublicKeySecurityHandler.java
File: PublicKeySecurityHandler.java
private ASN1Primitive createDERForRecipient(byte[] in, X509Certificate cert) throws IOException, GeneralSecurityException { String algorithm = "1.2.840.113549.3.2"; AlgorithmParameterGenerator apg; KeyGenerator keygen; Cipher cipher; try { apg = AlgorithmParameterGenerator.getInstance(algorithm); keygen = KeyGenerator.getInstance(algorithm); cipher = Cipher.getInstance(algorithm); } catch (NoSuchAlgorithmException e) { throw new RuntimeException("Could not find a suitable javax.crypto provider", e); } catch (NoSuchPaddingException e) { throw new RuntimeException("Could not find a suitable javax.crypto provider", e); } AlgorithmParameters parameters = apg.generateParameters(); ASN1InputStream input = new ASN1InputStream(parameters.getEncoded("ASN.1")); ASN1Primitive object = input.readObject(); input.close(); keygen.init(128); SecretKey secretkey = keygen.generateKey(); cipher.init(1, secretkey, parameters); byte[] bytes = cipher.doFinal(in); KeyTransRecipientInfo recipientInfo = computeRecipientInfo(cert, secretkey.getEncoded()); DERSet set = new DERSet(new RecipientInfo(recipientInfo)); AlgorithmIdentifier algorithmId = new AlgorithmIdentifier(new ASN1ObjectIdentifier(algorithm), object); EncryptedContentInfo encryptedInfo = new EncryptedContentInfo(PKCSObjectIdentifiers.data, algorithmId, new DEROctetString(bytes)); EnvelopedData enveloped = new EnvelopedData(null, set, encryptedInfo, (ASN1Set) null); ContentInfo contentInfo = new ContentInfo(PKCSObjectIdentifiers.envelopedData, enveloped); return contentInfo.toASN1Primitive(); }
6. PublicKeySecurityHandler#createDERForRecipient()
Project: pdfbox
File: PublicKeySecurityHandler.java
File: PublicKeySecurityHandler.java
private ASN1Primitive createDERForRecipient(byte[] in, X509Certificate cert) throws IOException, GeneralSecurityException { String algorithm = "1.2.840.113549.3.2"; AlgorithmParameterGenerator apg; KeyGenerator keygen; Cipher cipher; try { apg = AlgorithmParameterGenerator.getInstance(algorithm); keygen = KeyGenerator.getInstance(algorithm); cipher = Cipher.getInstance(algorithm); } catch (NoSuchAlgorithmException e) { throw new RuntimeException("Could not find a suitable javax.crypto provider", e); } catch (NoSuchPaddingException e) { throw new RuntimeException("Could not find a suitable javax.crypto provider", e); } AlgorithmParameters parameters = apg.generateParameters(); ASN1InputStream input = new ASN1InputStream(parameters.getEncoded("ASN.1")); ASN1Primitive object = input.readObject(); input.close(); keygen.init(128); SecretKey secretkey = keygen.generateKey(); cipher.init(1, secretkey, parameters); byte[] bytes = cipher.doFinal(in); KeyTransRecipientInfo recipientInfo = computeRecipientInfo(cert, secretkey.getEncoded()); DERSet set = new DERSet(new RecipientInfo(recipientInfo)); AlgorithmIdentifier algorithmId = new AlgorithmIdentifier(new ASN1ObjectIdentifier(algorithm), object); EncryptedContentInfo encryptedInfo = new EncryptedContentInfo(PKCSObjectIdentifiers.data, algorithmId, new DEROctetString(bytes)); EnvelopedData enveloped = new EnvelopedData(null, set, encryptedInfo, (ASN1Set) null); ContentInfo contentInfo = new ContentInfo(PKCSObjectIdentifiers.envelopedData, enveloped); return contentInfo.toASN1Primitive(); }
7. TestDSAGenParameterSpec#testDSAGenParameterSpec()
Project: openjdk
File: TestDSAGenParameterSpec.java
File: TestDSAGenParameterSpec.java
private static void testDSAGenParameterSpec(DataTuple dataTuple) throws NoSuchAlgorithmException, NoSuchProviderException, InvalidParameterSpecException, InvalidAlgorithmParameterException { System.out.printf("Test case: primePLen=%d, " + "subprimeQLen=%d%n", dataTuple.primePLen, dataTuple.subprimeQLen); AlgorithmParameterGenerator apg = AlgorithmParameterGenerator.getInstance(ALGORITHM_NAME, PROVIDER_NAME); DSAGenParameterSpec genParamSpec = createGenParameterSpec(dataTuple); // genParamSpec will be null if IllegalAE is thrown when expected. if (genParamSpec == null) { return; } try { apg.init(genParamSpec, null); AlgorithmParameters param = apg.generateParameters(); checkParam(param, genParamSpec); System.out.println("Test case passed"); } catch (InvalidParameterException ipe) { throw new RuntimeException("Test case failed.", ipe); } }
8. TestAlgParameterGenerator#main()
Project: openjdk
File: TestAlgParameterGenerator.java
File: TestAlgParameterGenerator.java
public static void main(String[] args) throws Exception { AlgorithmParameterGenerator apg = AlgorithmParameterGenerator.getInstance("DSA", "SUN"); long start, stop; // make sure no-init still works start = System.currentTimeMillis(); AlgorithmParameters param = apg.generateParameters(); stop = System.currentTimeMillis(); System.out.println("Time: " + (stop - start) + " ms."); checkParamStrength(param, 1024); // make sure the old model works int[] strengths = { 512, 768, 1024 }; for (int sizeP : strengths) { System.out.println("Generating " + sizeP + "-bit DSA Parameters"); start = System.currentTimeMillis(); apg.init(sizeP); param = apg.generateParameters(); stop = System.currentTimeMillis(); System.out.println("Time: " + (stop - start) + " ms."); checkParamStrength(param, sizeP); } // now the newer model DSAGenParameterSpec[] specSet = { new DSAGenParameterSpec(1024, 160), new DSAGenParameterSpec(2048, 224), new DSAGenParameterSpec(2048, 256) }; for (DSAGenParameterSpec genParam : specSet) { System.out.println("Generating (" + genParam.getPrimePLength() + ", " + genParam.getSubprimeQLength() + ") DSA Parameters"); start = System.currentTimeMillis(); apg.init(genParam, null); param = apg.generateParameters(); stop = System.currentTimeMillis(); System.out.println("Time: " + (stop - start) + " ms."); checkParamStrength(param, genParam); } }