本文整理汇总了Java中java.security.AlgorithmParameterGenerator.init方法的典型用法代码示例。如果您正苦于以下问题:Java AlgorithmParameterGenerator.init方法的具体用法?Java AlgorithmParameterGenerator.init怎么用?Java AlgorithmParameterGenerator.init使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.security.AlgorithmParameterGenerator
的用法示例。
在下文中一共展示了AlgorithmParameterGenerator.init方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: 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);
}
}
示例2: 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);
}
}
示例3: 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);
}
示例4: 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());
}
示例5: 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");
}
}
示例6: 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();
}
示例7: test_initI
import java.security.AlgorithmParameterGenerator; //导入方法依赖的package包/类
public void test_initI() throws Exception {
// Test for method void
// java.security.AlgorithmParameterGenerator.init(int)
// checks that no exception is thrown
int[] valid = {512, 576, 640, 960, 1024};
AlgorithmParameterGenerator gen = AlgorithmParameterGenerator
.getInstance("DSA");
for (int i = 0; i < valid.length; i++) {
try {
gen.init(valid[i]);
} catch (Exception e) {
fail("Exception should not be thrown for valid parameter" + valid[i]);
}
}
}
示例8: test_initILjava_security_SecureRandom
import java.security.AlgorithmParameterGenerator; //导入方法依赖的package包/类
public void test_initILjava_security_SecureRandom() throws Exception {
// Test for method void
// java.security.AlgorithmParameterGenerator.init(int,
// java.security.SecureRandom)
// checks that no exception is thrown
int[] valid = {512, 576, 640, 960, 1024};
AlgorithmParameterGenerator gen = AlgorithmParameterGenerator
.getInstance("DSA");
for (int i = 0; i < valid.length; i++) {
try {
gen.init(valid[i], new SecureRandom());
gen.init(valid[i], null);
} catch (Exception e) {
fail("Exception should not be thrown for valid parameter" + valid[i]);
}
}
}
示例9: test_initLjava_security_spec_AlgorithmParameterSpec
import java.security.AlgorithmParameterGenerator; //导入方法依赖的package包/类
/**
* @tests java.security.AlgorithmParameterGenerator#init(java.security.spec.AlgorithmParameterSpec)
*/
public void test_initLjava_security_spec_AlgorithmParameterSpec() throws Exception {
// Test for method void
// java.security.AlgorithmParameterGenerator.init(java.security.spec.AlgorithmParameterSpec)
// checks that InvalidAlgorithmParameterException is thrown
DSAParameterSpec spec = new DSAParameterSpec(BigInteger.ONE,
BigInteger.ONE, BigInteger.ONE);
AlgorithmParameterGenerator gen = AlgorithmParameterGenerator
.getInstance("DSA");
try {
gen.init(spec);
fail("No expected InvalidAlgorithmParameterException");
} catch (InvalidAlgorithmParameterException e) {
//expected
}
}
示例10: test_initLjava_security_spec_AlgorithmParameterSpecLjava_security_SecureRandom
import java.security.AlgorithmParameterGenerator; //导入方法依赖的package包/类
/**
* @tests java.security.AlgorithmParameterGenerator#init(java.security.spec.AlgorithmParameterSpec,
* java.security.SecureRandom)
*/
public void test_initLjava_security_spec_AlgorithmParameterSpecLjava_security_SecureRandom() throws Exception {
// Test for method void
// java.security.AlgorithmParameterGenerator.init(java.security.spec.AlgorithmParameterSpec,
// java.security.SecureRandom)
// checks that InvalidAlgorithmParameterException is thrown
DSAParameterSpec spec = new DSAParameterSpec(BigInteger.ONE,
BigInteger.ONE, BigInteger.ONE);
AlgorithmParameterGenerator gen = AlgorithmParameterGenerator
.getInstance("DSA");
try {
gen.init(spec, new SecureRandom());
fail("No expected InvalidAlgorithmParameterException");
} catch (InvalidAlgorithmParameterException e) {
//expected
}
}
示例11: testRandom
import java.security.AlgorithmParameterGenerator; //导入方法依赖的package包/类
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());
}
示例12: testRandom
import java.security.AlgorithmParameterGenerator; //导入方法依赖的package包/类
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());
}
示例13: 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) {
// The DSAGenParameterSpec API support this, but the real
// implementation in SUN doesn't
if (!dataTuple.isSunProviderSupported) {
System.out.println("Test case passed: expected "
+ "InvalidParameterException is caught");
} else {
throw new RuntimeException("Test case failed.", ipe);
}
}
}
示例14: initKey
import java.security.AlgorithmParameterGenerator; //导入方法依赖的package包/类
/**
* 初始化密钥对
* @return Map 甲方密钥的Map
* */
public static Map<String,Object> initKey() throws Exception{
//加入对BouncyCastle支持
Security.addProvider(new BouncyCastleProvider());
AlgorithmParameterGenerator apg=AlgorithmParameterGenerator.getInstance(KEY_ALGORITHM);
//初始化参数生成器
apg.init(KEY_SIZE);
//生成算法参数
AlgorithmParameters params=apg.generateParameters();
//构建参数材料
DHParameterSpec elParams=(DHParameterSpec)params.getParameterSpec(DHParameterSpec.class);
//实例化密钥生成器
KeyPairGenerator kpg=KeyPairGenerator.getInstance(KEY_ALGORITHM) ;
//初始化密钥对生成器
kpg.initialize(elParams,new SecureRandom());
KeyPair keyPair=kpg.generateKeyPair();
//甲方公钥
PublicKey publicKey= keyPair.getPublic();
//甲方私钥
PrivateKey privateKey= keyPair.getPrivate();
//将密钥存储在map中
Map<String,Object> keyMap=new HashMap<String,Object>();
keyMap.put(PUBLIC_KEY, publicKey);
keyMap.put(PRIVATE_KEY, privateKey);
return keyMap;
}
示例15: testAlgorithmParameterGenerator
import java.security.AlgorithmParameterGenerator; //导入方法依赖的package包/类
@TestTargets({
@TestTargetNew(
level=TestLevel.ADDITIONAL,
method="getInstance",
args={String.class}
),
@TestTargetNew(
level=TestLevel.ADDITIONAL,
method="init",
args={int.class}
),
@TestTargetNew(
level=TestLevel.COMPLETE,
method="method",
args={}
)
})
public void testAlgorithmParameterGenerator() {
AlgorithmParameterGenerator generator = null;
try {
generator = AlgorithmParameterGenerator.getInstance(algorithmName);
} catch (NoSuchAlgorithmException e) {
fail(e.getMessage());
}
generator.init(1024);
AlgorithmParameters parameters = generator.generateParameters();
assertNotNull("generated parameters are null", parameters);
helper.test(parameters);
}