本文整理汇总了Java中java.security.AlgorithmParameterGenerator类的典型用法代码示例。如果您正苦于以下问题:Java AlgorithmParameterGenerator类的具体用法?Java AlgorithmParameterGenerator怎么用?Java AlgorithmParameterGenerator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
AlgorithmParameterGenerator类属于java.security包,在下文中一共展示了AlgorithmParameterGenerator类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: generateParameterSpec
import java.security.AlgorithmParameterGenerator; //导入依赖的package包/类
protected AlgorithmParameterSpec generateParameterSpec(ASN1ObjectIdentifier macOID, SecretKey encKey)
throws CMSException
{
try
{
if (macOID.equals(PKCSObjectIdentifiers.RC2_CBC))
{
byte[] iv = new byte[8];
random.nextBytes(iv);
return new RC2ParameterSpec(encKey.getEncoded().length * 8, iv);
}
AlgorithmParameterGenerator pGen = helper.createAlgorithmParameterGenerator(macOID);
AlgorithmParameters p = pGen.generateParameters();
return p.getParameterSpec(IvParameterSpec.class);
}
catch (GeneralSecurityException e)
{
return null;
}
}
示例2: createAlgorithmParameterGenerator
import java.security.AlgorithmParameterGenerator; //导入依赖的package包/类
AlgorithmParameterGenerator createAlgorithmParameterGenerator(ASN1ObjectIdentifier algorithm)
throws GeneralSecurityException
{
String algorithmName = (String)BASE_CIPHER_NAMES.get(algorithm);
if (algorithmName != null)
{
try
{
// this is reversed as the Sun policy files now allow unlimited strength RSA
return helper.createAlgorithmParameterGenerator(algorithmName);
}
catch (NoSuchAlgorithmException e)
{
// Ignore
}
}
return helper.createAlgorithmParameterGenerator(algorithm.getId());
}
示例3: testDSAGenParameterSpec
import java.security.AlgorithmParameterGenerator; //导入依赖的package包/类
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);
}
}
示例4: testDSAGenParameterSpec
import java.security.AlgorithmParameterGenerator; //导入依赖的package包/类
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);
}
}
示例5: testDefaultTagSizeAlgorithmParameterGenerator
import java.security.AlgorithmParameterGenerator; //导入依赖的package包/类
/**
* The default authentication tag size should be 128-bit by default for the following reasons:
* <br>
* (1) Security: Ferguson, N., Authentication Weaknesses in GCM, Natl. Inst. Stand. Technol. [Web
* page], http://www.csrc.nist.gov/groups/ST/toolkit/BCM/documents/comments/
* CWC-GCM/Ferguson2.pdf, May 20, 2005. This paper points out that a n-bit tag has lower strength
* than expected. <br>
* (2) Compatibility: Assume an implementer tests some code using one provider than switches to
* another provider. Such a switch should ideally not lower the security. <br>
* BouncyCastle used to have only 12-byte authentication tag (b/26186727).
*/
@Test
public void testDefaultTagSizeAlgorithmParameterGenerator() throws Exception {
byte[] input = new byte[10];
byte[] key = new byte[16];
Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding");
try {
AlgorithmParameterGenerator.getInstance("GCM");
} catch (NoSuchAlgorithmException ex) {
// Conscrypt does not support AlgorithmParameterGenerator for GCM.
System.out.println("testDefaultTagSizeAlgorithmParameterGenerator:" + ex.toString());
return;
}
AlgorithmParameters param = AlgorithmParameterGenerator.getInstance("GCM").generateParameters();
cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(key, "AES"), param);
byte[] output = cipher.doFinal(input);
assertEquals(input.length + 16, output.length);
}
示例6: DHExchange
import java.security.AlgorithmParameterGenerator; //导入依赖的package包/类
/**
* Use 1536 for Fast Prime Generation (less secure) or 2048 for slow prime generation (secure)
* @param strength
* @throws InvalidKeyException
* @throws IllegalStateException
* @throws InvalidAlgorithmParameterException
* @throws NoSuchAlgorithmException
* @throws NoSuchProviderException
* @throws InvalidKeySpecException
* @throws InvalidParameterSpecException
*/
public DHExchange(int strength) throws InvalidKeyException, IllegalStateException, InvalidAlgorithmParameterException, NoSuchAlgorithmException, NoSuchProviderException, InvalidKeySpecException, InvalidParameterSpecException {
Security.addProvider(new org.spongycastle.jce.provider.BouncyCastleProvider());
AlgorithmParameterGenerator paramGen = AlgorithmParameterGenerator.getInstance("DH", "SC");
paramGen.init(strength); // number of bits
AlgorithmParameters params = paramGen.generateParameters();
DHParameterSpec dhSpec = (DHParameterSpec)params.getParameterSpec(DHParameterSpec.class);
BigInteger p = dhSpec.getP();
BigInteger g = dhSpec.getG();
DHParameterSpec dhParams = new DHParameterSpec(p, g);
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DH", "SC");
keyGen.initialize(dhParams, new SecureRandom());
KeyAgreement aKeyAgree = KeyAgreement.getInstance("DH", "SC");
KeyPair aPair = keyGen.generateKeyPair();
KeyAgreement bKeyAgree = KeyAgreement.getInstance("DH", "SC");
KeyPair bPair = keyGen.generateKeyPair();
aKeyAgree.init(aPair.getPrivate());
bKeyAgree.init(bPair.getPrivate());
aKeyAgree.doPhase(bPair.getPublic(), true);
bKeyAgree.doPhase(aPair.getPublic(), true);
}
示例7: createAPGen
import java.security.AlgorithmParameterGenerator; //导入依赖的package包/类
protected AlgorithmParameterGenerator[] createAPGen() {
if (!DSASupported) {
fail(validAlgName + " algorithm is not supported");
return null;
}
AlgorithmParameterGenerator[] apg = new AlgorithmParameterGenerator[3];
try {
apg[0] = AlgorithmParameterGenerator.getInstance(validAlgName);
apg[1] = AlgorithmParameterGenerator.getInstance(validAlgName,
validProvider);
apg[2] = AlgorithmParameterGenerator.getInstance(validAlgName,
validProviderName);
return apg;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
示例8: testAlgorithmParameterGenerator02
import java.security.AlgorithmParameterGenerator; //导入依赖的package包/类
/**
* Test for <code>getInstance(String algorithm)</code> method
* Assertion: returns AlgorithmParameterGenerator instance
* when algorithm is DSA
*/
@TestTargetNew(
level = TestLevel.PARTIAL_COMPLETE,
notes = "",
method = "getInstance",
args = {java.lang.String.class}
)
public void testAlgorithmParameterGenerator02()
throws NoSuchAlgorithmException {
if (!DSASupported) {
fail(validAlgName + " algorithm is not supported");
return;
}
AlgorithmParameterGenerator apg;
for (int i = 0; i < algs.length; i++) {
apg = AlgorithmParameterGenerator.getInstance(algs[i]);
assertEquals("Incorrect algorithm", apg.getAlgorithm(), algs[i]);
}
}
示例9: testAlgorithmParameterGenerator04
import java.security.AlgorithmParameterGenerator; //导入依赖的package包/类
/**
* Test for <code>getInstance(String algorithm, String provider)</code>
* method
* Assertion: throws NoSuchProviderException if provider is not
* available
*/
@TestTargetNew(
level = TestLevel.PARTIAL_COMPLETE,
notes = "",
method = "getInstance",
args = {java.lang.String.class, java.lang.String.class}
)
public void testAlgorithmParameterGenerator04()
throws NoSuchAlgorithmException {
if (!DSASupported) {
fail(validAlgName + " algorithm is not supported");
return;
}
for (int i = 0; i < algs.length; i++) {
for (int j = 1; j < invalidValues.length; j++) {
try {
AlgorithmParameterGenerator.getInstance(algs[i],
invalidValues[j]);
fail("NoSuchProviderException must be thrown (provider: "
.concat(invalidValues[j]));
} catch (NoSuchProviderException e) {
}
}
}
}
示例10: testAlgorithmParameterGenerator06
import java.security.AlgorithmParameterGenerator; //导入依赖的package包/类
/**
* Test for <code>getInstance(String algorithm, String provider)</code>
* method
* Assertion: return AlgorithmParameterGenerator
*/
@TestTargetNew(
level = TestLevel.PARTIAL_COMPLETE,
notes = "",
method = "getInstance",
args = {java.lang.String.class, java.lang.String.class}
)
public void testAlgorithmParameterGenerator06()
throws NoSuchAlgorithmException, NoSuchProviderException {
if (!DSASupported) {
fail(validAlgName + " algorithm is not supported");
return;
}
AlgorithmParameterGenerator apg;
for (int i = 0; i < algs.length; i++) {
apg = AlgorithmParameterGenerator.getInstance(algs[i],
validProviderName);
assertEquals("Incorrect algorithm", algs[i], apg.getAlgorithm());
assertEquals("Incorrect provider", apg.getProvider().getName(),
validProviderName);
}
}
示例11: testAlgorithmParameterGenerator07
import java.security.AlgorithmParameterGenerator; //导入依赖的package包/类
/**
* Test for <code>getInstance(String algorithm, Provider provider)</code>
* method
* Assertion: throws IllegalArgumentException when provider is null
*/
@TestTargetNew(
level = TestLevel.PARTIAL_COMPLETE,
notes = "",
method = "getInstance",
args = {java.lang.String.class, java.security.Provider.class}
)
public void testAlgorithmParameterGenerator07()
throws NoSuchAlgorithmException {
if (!DSASupported) {
fail(validAlgName + " algorithm is not supported");
return;
}
Provider provider = null;
for (int i = 0; i < algs.length; i++) {
try {
AlgorithmParameterGenerator.getInstance(algs[i], provider);
fail("IllegalArgumentException must be thrown when provider is null");
} catch (IllegalArgumentException e) {
}
}
}
示例12: testAlgorithmParameterGenerator09
import java.security.AlgorithmParameterGenerator; //导入依赖的package包/类
/**
* Test for <code>getInstance(String algorithm, Provider provider)</code>
* method
* Assertion: returns AlgorithmParameterGenerator object
*/
@TestTargetNew(
level = TestLevel.PARTIAL_COMPLETE,
notes = "",
method = "getInstance",
args = {java.lang.String.class, java.security.Provider.class}
)
public void testAlgorithmParameterGenerator09()
throws NoSuchAlgorithmException {
if (!DSASupported) {
fail(validAlgName + " algorithm is not supported");
return;
}
AlgorithmParameterGenerator apg;
for (int i = 0; i < algs.length; i++) {
apg = AlgorithmParameterGenerator.getInstance(algs[i],
validProvider);
assertEquals("Incorrect algorithm", apg.getAlgorithm(), algs[i]);
assertEquals("Incorrect provider", apg.getProvider(), validProvider);
}
}
示例13: testAlgorithmParameterGenerator10
import java.security.AlgorithmParameterGenerator; //导入依赖的package包/类
/**
* Test for <code>generateParameters()</code> method
* Assertion: returns AlgorithmParameters object
*/
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "",
method = "generateParameters",
args = {}
)
public void testAlgorithmParameterGenerator10()
throws NoSuchAlgorithmException {
if (!DSASupported) {
fail(validAlgName + " algorithm is not supported");
return;
}
AlgorithmParameterGenerator apg = AlgorithmParameterGenerator
.getInstance(validAlgName);
apg.init(512);
AlgorithmParameters ap = apg.generateParameters();
assertEquals("Incorrect algorithm", ap.getAlgorithm().toUpperCase(),
apg.getAlgorithm().toUpperCase());
}
示例14: test
import java.security.AlgorithmParameterGenerator; //导入依赖的package包/类
@Override
public void test() throws Exception {
AlgorithmParameterGenerator apg = AlgorithmParameterGenerator.getInstance("DH");
apg.init(1024, new SecureRandom());
AlgorithmParameters ap = apg.generateParameters();
DHParameterSpec ps = ap.getParameterSpec(DHParameterSpec.class);
KeyAgreementGen kag1 = new KeyAgreementGen(ps);
KeyAgreementGen kag2 = new KeyAgreementGen(ps);
byte[] bArray1 = kag1.getPublicKeyBytes();
byte[] bArray2 = kag2.getPublicKeyBytes();
byte[] sk1 = kag1.getSecretKey(algName, bArray2);
byte[] sk2 = kag2.getSecretKey(algName, bArray1);
if (Arrays.areEqual(sk1, sk2) == false) {
throw new Exception ("Generated keys are not the same");
}
}
示例15: testDHGen
import java.security.AlgorithmParameterGenerator; //导入依赖的package包/类
@TestTargetNew(
level = TestLevel.ADDITIONAL,
method = "method",
args = {}
)
@BrokenTest("Suffers from DH slowness, disabling for now")
public void testDHGen() throws Exception {
KeyPairGenerator gen = null;
try {
gen = KeyPairGenerator.getInstance("DH");
} catch (NoSuchAlgorithmException e) {
fail(e.getMessage());
}
AlgorithmParameterGenerator algorithmparametergenerator = AlgorithmParameterGenerator.getInstance("DH");
algorithmparametergenerator.init(1024, new SecureRandom());
AlgorithmParameters algorithmparameters = algorithmparametergenerator.generateParameters();
DHParameterSpec dhparameterspec = algorithmparameters.getParameterSpec(DHParameterSpec.class);
//gen.initialize(1024);
gen.initialize(dhparameterspec);
KeyPair key = gen.generateKeyPair();
}