Java 类org.bouncycastle.crypto.signers.DSASigner 实例源码

项目:gwt-crypto    文件:BcImplProvider.java   
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);
    }
}
项目:ipack    文件:BcDSAContentVerifierProviderBuilder.java   
protected Signer createSigner(AlgorithmIdentifier sigAlgId)
    throws OperatorCreationException
{
    AlgorithmIdentifier digAlg = digestAlgorithmFinder.find(sigAlgId);
    Digest dig = digestProvider.get(digAlg);

    return new DSADigestSigner(new DSASigner(), dig);
}
项目:ipack    文件:BcDSAContentSignerBuilder.java   
protected Signer createSigner(AlgorithmIdentifier sigAlgId, AlgorithmIdentifier digAlgId)
    throws OperatorCreationException
{
    Digest dig = digestProvider.get(digAlgId);

    return new DSADigestSigner(new DSASigner(), dig);
}
项目:xitk    文件:SoftTokenContentSignerBuilder.java   
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);
}
项目:gwt-crypto    文件:BcDSAContentVerifierProviderBuilder.java   
protected Signer createSigner(AlgorithmIdentifier sigAlgId)
    throws OperatorCreationException
{
    AlgorithmIdentifier digAlg = digestAlgorithmFinder.find(sigAlgId);
    Digest dig = digestProvider.get(digAlg);

    return new DSADigestSigner(new DSASigner(), dig);
}
项目:gwt-crypto    文件:BcDSAContentSignerBuilder.java   
protected Signer createSigner(AlgorithmIdentifier sigAlgId, AlgorithmIdentifier digAlgId)
    throws OperatorCreationException
{
    Digest dig = digestProvider.get(digAlgId);

    return new DSADigestSigner(new DSASigner(), dig);
}
项目:Aki-SSL    文件:BcDSAContentVerifierProviderBuilder.java   
protected Signer createSigner(AlgorithmIdentifier sigAlgId)
    throws OperatorCreationException
{
    AlgorithmIdentifier digAlg = digestAlgorithmFinder.find(sigAlgId);
    Digest dig = digestProvider.get(digAlg);

    return new DSADigestSigner(new DSASigner(), dig);
}
项目:Aki-SSL    文件:BcDSAContentSignerBuilder.java   
protected Signer createSigner(AlgorithmIdentifier sigAlgId, AlgorithmIdentifier digAlgId)
    throws OperatorCreationException
{
    Digest dig = digestProvider.get(digAlgId);

    return new DSADigestSigner(new DSASigner(), dig);
}
项目:CryptMeme    文件:BcImplProvider.java   
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");
    }
}
项目:irma_future_id    文件:BcDSAContentVerifierProviderBuilder.java   
protected Signer createSigner(AlgorithmIdentifier sigAlgId)
    throws OperatorCreationException
{
    AlgorithmIdentifier digAlg = digestAlgorithmFinder.find(sigAlgId);
    Digest dig = digestProvider.get(digAlg);

    return new DSADigestSigner(new DSASigner(), dig);
}
项目:irma_future_id    文件:BcDSAContentSignerBuilder.java   
protected Signer createSigner(AlgorithmIdentifier sigAlgId, AlgorithmIdentifier digAlgId)
    throws OperatorCreationException
{
    Digest dig = digestProvider.get(digAlgId);

    return new DSADigestSigner(new DSASigner(), dig);
}
项目:irma_future_id    文件:BcImplProvider.java   
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");
    }
}
项目:bc-java    文件:BcDSAContentVerifierProviderBuilder.java   
protected Signer createSigner(AlgorithmIdentifier sigAlgId)
    throws OperatorCreationException
{
    AlgorithmIdentifier digAlg = digestAlgorithmFinder.find(sigAlgId);
    Digest dig = digestProvider.get(digAlg);

    return new DSADigestSigner(new DSASigner(), dig);
}
项目:bc-java    文件:BcDSAContentSignerBuilder.java   
protected Signer createSigner(AlgorithmIdentifier sigAlgId, AlgorithmIdentifier digAlgId)
    throws OperatorCreationException
{
    Digest dig = digestProvider.get(digAlgId);

    return new DSADigestSigner(new DSASigner(), dig);
}
项目:bc-java    文件:BcImplProvider.java   
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");
    }
}
项目:jradius    文件:TlsDSSSigner.java   
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();
}
项目:ipack    文件:TlsDSSSigner.java   
protected DSA createDSAImpl()
{
    return new DSASigner();
}
项目:gwt-crypto    文件:TlsDSSSigner.java   
protected DSA createDSAImpl(short hashAlgorithm)
{
    return new DSASigner(new HMacDSAKCalculator(TlsUtils.createHash(hashAlgorithm)));
}
项目:gwt-crypto    文件:DSATest.java   
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();
}
项目:gwt-crypto    文件:DeterministicDSATest.java   
private void doTestHMACDetDSASample(Digest digest, DSAPrivateKeyParameters privKey, BigInteger r, BigInteger s)
{
    doTestHMACDetECDSA(new DSASigner(new HMacDSAKCalculator(digest)), digest, SAMPLE, privKey, r, s);
}
项目:gwt-crypto    文件:DeterministicDSATest.java   
private void doTestHMACDetDSATest(Digest digest, DSAPrivateKeyParameters privKey, BigInteger r, BigInteger s)
{
    doTestHMACDetECDSA(new DSASigner(new HMacDSAKCalculator(digest)), digest, TEST, privKey, r, s);
}
项目:Aki-SSL    文件:TlsDSSSigner.java   
protected DSA createDSAImpl(short hashAlgorithm)
{
    return new DSASigner(new HMacDSAKCalculator(TlsUtils.createHash(hashAlgorithm)));
}
项目:TinyTravelTracker    文件:TlsDSSSigner.java   
protected DSA createDSAImpl(short hashAlgorithm)
{
    return new DSASigner(new HMacDSAKCalculator(TlsUtils.createHash(hashAlgorithm)));
}
项目:CryptMeme    文件:TlsDSSSigner.java   
protected DSA createDSAImpl()
{
    return new DSASigner();
}
项目:irma_future_id    文件:TlsDSSSigner.java   
protected DSA createDSAImpl()
{
    return new DSASigner();
}
项目:irma_future_id    文件:DSATest.java   
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();
}
项目:irma_future_id    文件:DSATest.java   
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();
}
项目:bc-java    文件:TlsDSSSigner.java   
protected DSA createDSAImpl()
{
    return new DSASigner();
}
项目:bc-java    文件:DSATest.java   
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();
}
项目:bc-java    文件:DSATest.java   
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();
}
项目:jradius    文件:TlsDSSSigner.java   
public Signer createVerifyer(AsymmetricKeyParameter publicKey)
{
    Signer s = new DSADigestSigner(new DSASigner(), new SHA1Digest());
    s.init(false, publicKey);
    return s;
}
项目:Java-Security    文件:DSASignature.java   
/**
 * 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();
}
项目:CryptMeme    文件:DSATest.java   
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!");
    }
}
项目:irma_future_id    文件:DSATest.java   
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!");
    }
}
项目:bc-java    文件:DSATest.java   
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!");
    }
}