本文整理汇总了Java中org.bouncycastle.crypto.params.DHPrivateKeyParameters类的典型用法代码示例。如果您正苦于以下问题:Java DHPrivateKeyParameters类的具体用法?Java DHPrivateKeyParameters怎么用?Java DHPrivateKeyParameters使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DHPrivateKeyParameters类属于org.bouncycastle.crypto.params包,在下文中一共展示了DHPrivateKeyParameters类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: generateKeyPair
import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public AsymmetricCipherKeyPair generateKeyPair()
{
BigInteger p, g, x, y;
int qLength = param.getStrength() - 1;
DHParameters dhParams = param.getParameters();
p = dhParams.getP();
g = dhParams.getG();
//
// calculate the private key
//
x = new BigInteger(qLength, param.getRandom());
//
// calculate the public key.
//
y = g.modPow(x, p);
return new AsymmetricCipherKeyPair(
new DHPublicKeyParameters(y, dhParams),
new DHPrivateKeyParameters(x, dhParams));
}
开发者ID:thangbn,项目名称:Direct-File-Downloader,代码行数:24,代码来源:DHKeyPairGenerator.java
示例2: generateKeyPair
import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public AsymmetricCipherKeyPair generateKeyPair()
{
BigInteger p, g, x, y;
int qLength = param.getStrength() - 1;
DHParameters dhParams = param.getParameters();
p = dhParams.getP();
g = dhParams.getG();
//
// calculate the private key
//
x = new BigInteger(qLength, param.getRandom());
//
// calculate the public key.
//
y = g.modPow(x, p);
return new AsymmetricCipherKeyPair(
new DHPublicKeyParameters(y, dhParams),
new DHPrivateKeyParameters(x, dhParams));
}
开发者ID:thangbn,项目名称:Direct-File-Downloader,代码行数:24,代码来源:DHBasicKeyPairGenerator.java
示例3: init
import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public void init(
CipherParameters param)
{
AsymmetricKeyParameter kParam;
if (param instanceof ParametersWithRandom)
{
ParametersWithRandom rParam = (ParametersWithRandom)param;
kParam = (AsymmetricKeyParameter)rParam.getParameters();
}
else
{
kParam = (AsymmetricKeyParameter)param;
}
if (!(kParam instanceof DHPrivateKeyParameters))
{
throw new IllegalArgumentException("DHEngine expects DHPrivateKeyParameters");
}
this.key = (DHPrivateKeyParameters)kParam;
this.dhParams = key.getParameters();
}
开发者ID:redfish64,项目名称:TinyTravelTracker,代码行数:24,代码来源:DHBasicAgreement.java
示例4: generatePrivateKeyParameter
import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
static public AsymmetricKeyParameter generatePrivateKeyParameter(
PrivateKey key)
throws InvalidKeyException
{
if (key instanceof DHPrivateKey)
{
DHPrivateKey k = (DHPrivateKey)key;
return new DHPrivateKeyParameters(k.getX(),
new DHParameters(k.getParams().getP(), k.getParams().getG(), null, k.getParams().getL()));
}
throw new InvalidKeyException("can't identify DH private key.");
}
开发者ID:Appdome,项目名称:ipack,代码行数:15,代码来源:DHUtil.java
示例5: calculateDHBasicAgreement
import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public static byte[] calculateDHBasicAgreement(DHPublicKeyParameters publicKey,
DHPrivateKeyParameters privateKey)
{
DHBasicAgreement basicAgreement = new DHBasicAgreement();
basicAgreement.init(privateKey);
BigInteger agreementValue = basicAgreement.calculateAgreement(publicKey);
/*
* RFC 5246 8.1.2. Leading bytes of Z that contain all zero bits are stripped before it is
* used as the pre_master_secret.
*/
return BigIntegers.asUnsignedByteArray(agreementValue);
}
开发者ID:Appdome,项目名称:ipack,代码行数:15,代码来源:TlsDHUtils.java
示例6: generateEphemeralClientKeyExchange
import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public static DHPrivateKeyParameters generateEphemeralClientKeyExchange(SecureRandom random,
DHParameters dhParams, OutputStream output)
throws IOException
{
AsymmetricCipherKeyPair dhAgreeClientKeyPair = generateDHKeyPair(random, dhParams);
DHPrivateKeyParameters dhAgreeClientPrivateKey = (DHPrivateKeyParameters)dhAgreeClientKeyPair
.getPrivate();
BigInteger Yc = ((DHPublicKeyParameters)dhAgreeClientKeyPair.getPublic()).getY();
byte[] keData = BigIntegers.asUnsignedByteArray(Yc);
TlsUtils.writeOpaque16(keData, output);
return dhAgreeClientPrivateKey;
}
开发者ID:Appdome,项目名称:ipack,代码行数:16,代码来源:TlsDHUtils.java
示例7: calculateMessage
import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
/**
* calculate our initial message.
*/
public BigInteger calculateMessage()
{
DHKeyPairGenerator dhGen = new DHKeyPairGenerator();
dhGen.init(new DHKeyGenerationParameters(random, dhParams));
AsymmetricCipherKeyPair dhPair = dhGen.generateKeyPair();
this.privateValue = ((DHPrivateKeyParameters)dhPair.getPrivate()).getX();
return ((DHPublicKeyParameters)dhPair.getPublic()).getY();
}
开发者ID:Appdome,项目名称:ipack,代码行数:14,代码来源:DHAgreement.java
示例8: generateKeyPair
import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public AsymmetricCipherKeyPair generateKeyPair()
{
DHKeyGeneratorHelper helper = DHKeyGeneratorHelper.INSTANCE;
DHParameters dhp = param.getParameters();
BigInteger x = helper.calculatePrivate(dhp, param.getRandom());
BigInteger y = helper.calculatePublic(dhp, x);
return new AsymmetricCipherKeyPair(
new DHPublicKeyParameters(y, dhp),
new DHPrivateKeyParameters(x, dhp));
}
开发者ID:Appdome,项目名称:ipack,代码行数:13,代码来源:DHKeyPairGenerator.java
示例9: calculateDHBasicAgreement
import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public static byte[] calculateDHBasicAgreement(DHPublicKeyParameters publicKey, DHPrivateKeyParameters privateKey)
{
DHBasicAgreement basicAgreement = new DHBasicAgreement();
basicAgreement.init(privateKey);
BigInteger agreementValue = basicAgreement.calculateAgreement(publicKey);
/*
* RFC 5246 8.1.2. Leading bytes of Z that contain all zero bits are stripped before it is
* used as the pre_master_secret.
*/
return BigIntegers.asUnsignedByteArray(agreementValue);
}
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:13,代码来源:TlsDHUtils.java
示例10: generateEphemeralClientKeyExchange
import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public static DHPrivateKeyParameters generateEphemeralClientKeyExchange(SecureRandom random, DHParameters dhParams,
OutputStream output) throws IOException
{
AsymmetricCipherKeyPair kp = generateDHKeyPair(random, dhParams);
DHPublicKeyParameters dhPublic = (DHPublicKeyParameters) kp.getPublic();
writeDHParameter(dhPublic.getY(), output);
return (DHPrivateKeyParameters) kp.getPrivate();
}
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:11,代码来源:TlsDHUtils.java
示例11: generateEphemeralServerKeyExchange
import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public static DHPrivateKeyParameters generateEphemeralServerKeyExchange(SecureRandom random, DHParameters dhParams,
OutputStream output) throws IOException
{
AsymmetricCipherKeyPair kp = generateDHKeyPair(random, dhParams);
DHPublicKeyParameters dhPublic = (DHPublicKeyParameters)kp.getPublic();
new ServerDHParams(dhPublic).encode(output);
return (DHPrivateKeyParameters)kp.getPrivate();
}
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:11,代码来源:TlsDHUtils.java
示例12: checkKeySize
import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
private void checkKeySize(
int privateValueSize,
DHPrivateKeyParameters priv)
{
if (privateValueSize != 0)
{
if (priv.getX().bitLength() != privateValueSize)
{
fail("limited key check failed for key size " + privateValueSize);
}
}
}
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:13,代码来源:DHTest.java
示例13: testGPWithRandom
import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
private void testGPWithRandom(
DHKeyPairGenerator kpGen)
{
//
// generate first pair
//
AsymmetricCipherKeyPair pair = kpGen.generateKeyPair();
DHPublicKeyParameters pu1 = (DHPublicKeyParameters)pair.getPublic();
DHPrivateKeyParameters pv1 = (DHPrivateKeyParameters)pair.getPrivate();
//
// generate second pair
//
pair = kpGen.generateKeyPair();
DHPublicKeyParameters pu2 = (DHPublicKeyParameters)pair.getPublic();
DHPrivateKeyParameters pv2 = (DHPrivateKeyParameters)pair.getPrivate();
//
// two way
//
DHAgreement e1 = new DHAgreement();
DHAgreement e2 = new DHAgreement();
e1.init(new ParametersWithRandom(pv1, new SecureRandom()));
e2.init(new ParametersWithRandom(pv2, new SecureRandom()));
BigInteger m1 = e1.calculateMessage();
BigInteger m2 = e2.calculateMessage();
BigInteger k1 = e1.calculateAgreement(pu2, m2);
BigInteger k2 = e2.calculateAgreement(pu1, m1);
if (!k1.equals(k2))
{
fail("basic with random 2-way test failed");
}
}
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:39,代码来源:DHTest.java
示例14: testSimpleWithRandom
import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
private void testSimpleWithRandom(
DHBasicKeyPairGenerator kpGen)
{
//
// generate first pair
//
AsymmetricCipherKeyPair pair = kpGen.generateKeyPair();
DHPublicKeyParameters pu1 = (DHPublicKeyParameters)pair.getPublic();
DHPrivateKeyParameters pv1 = (DHPrivateKeyParameters)pair.getPrivate();
//
// generate second pair
//
pair = kpGen.generateKeyPair();
DHPublicKeyParameters pu2 = (DHPublicKeyParameters)pair.getPublic();
DHPrivateKeyParameters pv2 = (DHPrivateKeyParameters)pair.getPrivate();
//
// two way
//
DHBasicAgreement e1 = new DHBasicAgreement();
DHBasicAgreement e2 = new DHBasicAgreement();
e1.init(new ParametersWithRandom(pv1, new SecureRandom()));
e2.init(new ParametersWithRandom(pv2, new SecureRandom()));
BigInteger k1 = e1.calculateAgreement(pu2);
BigInteger k2 = e2.calculateAgreement(pu1);
if (!k1.equals(k2))
{
fail("basic with random 2-way test failed");
}
}
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:36,代码来源:DHTest.java
示例15: init
import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public void init(
CipherParameters param)
{
AsymmetricKeyParameter kParam;
if (param instanceof ParametersWithRandom)
{
ParametersWithRandom rParam = (ParametersWithRandom)param;
this.random = rParam.getRandom();
kParam = (AsymmetricKeyParameter)rParam.getParameters();
}
else
{
this.random = new SecureRandom();
kParam = (AsymmetricKeyParameter)param;
}
if (!(kParam instanceof DHPrivateKeyParameters))
{
throw new IllegalArgumentException("DHEngine expects DHPrivateKeyParameters");
}
this.key = (DHPrivateKeyParameters)kParam;
this.dhParams = key.getParameters();
}
开发者ID:redfish64,项目名称:TinyTravelTracker,代码行数:28,代码来源:DHAgreement.java
注:本文中的org.bouncycastle.crypto.params.DHPrivateKeyParameters类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论