package org.bouncycastle.tls.crypto.impl.bc; import org.bouncycastle.crypto.DSA; import org.bouncycastle.crypto.params.AsymmetricKeyParameter; import org.bouncycastle.crypto.signers.DSASigner; import org.bouncycastle.crypto.signers.HMacDSAKCalculator; import org.bouncycastle.tls.SignatureAlgorithm; /** * Implementation class for generation of the raw DSA signature type using the BC light-weight API. */ public class BcTlsDSASigner extends BcTlsDSSSigner { public BcTlsDSASigner(BcTlsCrypto crypto, AsymmetricKeyParameter privateKey) { super(crypto, privateKey); } protected DSA createDSAImpl(short hashAlgorithm) { return new DSASigner(new HMacDSAKCalculator(BcTlsCrypto.createDigest(hashAlgorithm))); } protected short getSignatureAlgorithm() { return SignatureAlgorithm.dsa; } }