本文整理汇总了Java中org.bouncycastle.crypto.signers.DSASigner类的典型用法代码示例。如果您正苦于以下问题:Java DSASigner类的具体用法?Java DSASigner怎么用?Java DSASigner使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
DSASigner类属于org.bouncycastle.crypto.signers包,在下文中一共展示了DSASigner类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createSigner
import org.bouncycastle.crypto.signers.DSASigner; //导入依赖的package包/类
static Signer createSigner(int keyAlgorithm, int hashAlgorithm)
throws PGPException
{
switch(keyAlgorithm)
{
case PublicKeyAlgorithmTags.RSA_GENERAL:
case PublicKeyAlgorithmTags.RSA_SIGN:
return new RSADigestSigner(createDigest(hashAlgorithm));
case PublicKeyAlgorithmTags.DSA:
return new DSADigestSigner(new DSASigner(), createDigest(hashAlgorithm));
case PublicKeyAlgorithmTags.ECDSA:
return new DSADigestSigner(new ECDSASigner(), createDigest(hashAlgorithm));
default:
throw new PGPException("cannot recognise keyAlgorithm: " + keyAlgorithm);
}
}
示例2: createSigner
import org.bouncycastle.crypto.signers.DSASigner; //导入依赖的package包/类
protected Signer createSigner(AlgorithmIdentifier sigAlgId)
throws OperatorCreationException
{
AlgorithmIdentifier digAlg = digestAlgorithmFinder.find(sigAlgId);
Digest dig = digestProvider.get(digAlg);
return new DSADigestSigner(new DSASigner(), dig);
}
示例3: createSigner
import org.bouncycastle.crypto.signers.DSASigner; //导入依赖的package包/类
protected Signer createSigner(AlgorithmIdentifier sigAlgId, AlgorithmIdentifier digAlgId)
throws OperatorCreationException
{
Digest dig = digestProvider.get(digAlgId);
return new DSADigestSigner(new DSASigner(), dig);
}
示例4: createSigner
import org.bouncycastle.crypto.signers.DSASigner; //导入依赖的package包/类
protected Signer createSigner(AlgorithmIdentifier sigAlgId, AlgorithmIdentifier digAlgId)
throws OperatorCreationException {
if (!AlgorithmUtil.isDSASigAlg(sigAlgId)) {
throw new OperatorCreationException(
"the given algorithm is not a valid DSA signature algirthm '"
+ sigAlgId.getAlgorithm().getId() + "'");
}
Digest dig = digestProvider.get(digAlgId);
DSASigner dsaSigner = new DSASigner();
return plain ? new DSAPlainDigestSigner(dsaSigner, dig)
: new DSADigestSigner(dsaSigner, dig);
}
示例5: createSigner
import org.bouncycastle.crypto.signers.DSASigner; //导入依赖的package包/类
static Signer createSigner(int keyAlgorithm, int hashAlgorithm)
throws PGPException
{
switch(keyAlgorithm)
{
case PublicKeyAlgorithmTags.RSA_GENERAL:
case PublicKeyAlgorithmTags.RSA_SIGN:
return new RSADigestSigner(createDigest(hashAlgorithm));
case PublicKeyAlgorithmTags.DSA:
return new DSADigestSigner(new DSASigner(), createDigest(hashAlgorithm));
default:
throw new PGPException("cannot recognise keyAlgorithm");
}
}
示例6: calculateRawSignature
import org.bouncycastle.crypto.signers.DSASigner; //导入依赖的package包/类
public byte[] calculateRawSignature(AsymmetricKeyParameter privateKey, byte[] md5andsha1)
throws CryptoException
{
// Note: Only use the SHA1 part of the hash
Signer sig = new DSADigestSigner(new DSASigner(), new NullDigest());
sig.init(true, privateKey);
sig.update(md5andsha1, 16, 20);
return sig.generateSignature();
}
示例7: createDSAImpl
import org.bouncycastle.crypto.signers.DSASigner; //导入依赖的package包/类
protected DSA createDSAImpl()
{
return new DSASigner();
}
示例8: createDSAImpl
import org.bouncycastle.crypto.signers.DSASigner; //导入依赖的package包/类
protected DSA createDSAImpl(short hashAlgorithm)
{
return new DSASigner(new HMacDSAKCalculator(TlsUtils.createHash(hashAlgorithm)));
}
示例9: performTest
import org.bouncycastle.crypto.signers.DSASigner; //导入依赖的package包/类
public void performTest()
{
BigInteger r = new BigInteger("68076202252361894315274692543577577550894681403");
BigInteger s = new BigInteger("1089214853334067536215539335472893651470583479365");
DSAParametersGenerator pGen = new DSAParametersGenerator();
pGen.init(512, 80, random);
DSAParameters params = pGen.generateParameters();
DSAValidationParameters pValid = params.getValidationParameters();
if (pValid.getCounter() != 105)
{
fail("Counter wrong");
}
if (!pValue.equals(params.getP()) || !qValue.equals(params.getQ()))
{
fail("p or q wrong");
}
DSAKeyPairGenerator dsaKeyGen = new DSAKeyPairGenerator();
DSAKeyGenerationParameters genParam = new DSAKeyGenerationParameters(keyRandom, params);
dsaKeyGen.init(genParam);
AsymmetricCipherKeyPair pair = dsaKeyGen.generateKeyPair();
ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), keyRandom);
DSASigner dsa = new DSASigner();
dsa.init(true, param);
byte[] message = BigIntegers.asUnsignedByteArray(new BigInteger("968236873715988614170569073515315707566766479517"));
BigInteger[] sig = dsa.generateSignature(message);
if (!r.equals(sig[0]))
{
fail("r component wrong.", r, sig[0]);
}
if (!s.equals(sig[1]))
{
fail("s component wrong.", s, sig[1]);
}
dsa.init(false, pair.getPublic());
if (!dsa.verifySignature(message, sig[0], sig[1]))
{
fail("verification fails");
}
dsa2Test1();
dsa2Test2();
dsa2Test3();
dsa2Test4();
}
示例10: doTestHMACDetDSASample
import org.bouncycastle.crypto.signers.DSASigner; //导入依赖的package包/类
private void doTestHMACDetDSASample(Digest digest, DSAPrivateKeyParameters privKey, BigInteger r, BigInteger s)
{
doTestHMACDetECDSA(new DSASigner(new HMacDSAKCalculator(digest)), digest, SAMPLE, privKey, r, s);
}
示例11: doTestHMACDetDSATest
import org.bouncycastle.crypto.signers.DSASigner; //导入依赖的package包/类
private void doTestHMACDetDSATest(Digest digest, DSAPrivateKeyParameters privKey, BigInteger r, BigInteger s)
{
doTestHMACDetECDSA(new DSASigner(new HMacDSAKCalculator(digest)), digest, TEST, privKey, r, s);
}
示例12: performTest
import org.bouncycastle.crypto.signers.DSASigner; //导入依赖的package包/类
public void performTest()
{
BigInteger r = new BigInteger("68076202252361894315274692543577577550894681403");
BigInteger s = new BigInteger("1089214853334067536215539335472893651470583479365");
DSAParametersGenerator pGen = new DSAParametersGenerator();
pGen.init(512, 20, random);
DSAParameters params = pGen.generateParameters();
DSAValidationParameters pValid = params.getValidationParameters();
if (pValid.getCounter() != 105)
{
fail("Counter wrong");
}
if (!pValue.equals(params.getP()) || !qValue.equals(params.getQ()))
{
fail("p or q wrong");
}
DSAKeyPairGenerator dsaKeyGen = new DSAKeyPairGenerator();
DSAKeyGenerationParameters genParam = new DSAKeyGenerationParameters(keyRandom, params);
dsaKeyGen.init(genParam);
AsymmetricCipherKeyPair pair = dsaKeyGen.generateKeyPair();
ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), keyRandom);
DSASigner dsa = new DSASigner();
dsa.init(true, param);
byte[] message = BigIntegers.asUnsignedByteArray(new BigInteger("968236873715988614170569073515315707566766479517"));
BigInteger[] sig = dsa.generateSignature(message);
if (!r.equals(sig[0]))
{
fail("r component wrong.", r, sig[0]);
}
if (!s.equals(sig[1]))
{
fail("s component wrong.", s, sig[1]);
}
dsa.init(false, pair.getPublic());
if (!dsa.verifySignature(message, sig[0], sig[1]))
{
fail("verification fails");
}
//dsa2Test1();
//dsa2Test2();
//dsa2Test3();
//dsa2Test4();
}
示例13: createVerifyer
import org.bouncycastle.crypto.signers.DSASigner; //导入依赖的package包/类
public Signer createVerifyer(AsymmetricKeyParameter publicKey)
{
Signer s = new DSADigestSigner(new DSASigner(), new SHA1Digest());
s.init(false, publicKey);
return s;
}
示例14: DSASignature
import org.bouncycastle.crypto.signers.DSASigner; //导入依赖的package包/类
/**
* Creates a new DSA signature class that uses the given digest algorithm
* for message digest computation.
*
* @param d
* Message digest algorithm.
*/
public DSASignature(final DigestAlgorithm d) {
super(ALGORITHM);
digest = d;
signer = new DSASigner();
}
示例15: testNONEwithDSA
import org.bouncycastle.crypto.signers.DSASigner; //导入依赖的package包/类
private void testNONEwithDSA()
throws Exception
{
byte[] dummySha1 = Hex.decode("01020304050607080910111213141516");
KeyPairGenerator kpGen = KeyPairGenerator.getInstance("DSA", "BC");
kpGen.initialize(512);
KeyPair kp = kpGen.generateKeyPair();
Signature sig = Signature.getInstance("NONEwithDSA", "BC");
sig.initSign(kp.getPrivate());
sig.update(dummySha1);
byte[] sigBytes = sig.sign();
sig.initVerify(kp.getPublic());
sig.update(dummySha1);
sig.verify(sigBytes);
// reset test
sig.update(dummySha1);
if (!sig.verify(sigBytes))
{
fail("NONEwithDSA failed to reset");
}
// lightweight test
DSAPublicKey key = (DSAPublicKey)kp.getPublic();
DSAParameters params = new DSAParameters(key.getParams().getP(), key.getParams().getQ(), key.getParams().getG());
DSAPublicKeyParameters keyParams = new DSAPublicKeyParameters(key.getY(), params);
DSASigner signer = new DSASigner();
ASN1Sequence derSig = ASN1Sequence.getInstance(ASN1Primitive.fromByteArray(sigBytes));
signer.init(false, keyParams);
if (!signer.verifySignature(dummySha1, DERInteger.getInstance(derSig.getObjectAt(0)).getValue(), DERInteger.getInstance(derSig.getObjectAt(1)).getValue()))
{
fail("NONEwithDSA not really NONE!");
}
}