package org.bouncycastle.crypto.tls; import org.bouncycastle.crypto.DSA; import org.bouncycastle.crypto.params.AsymmetricKeyParameter; import org.bouncycastle.crypto.params.ECPublicKeyParameters; import org.bouncycastle.crypto.signers.ECDSASigner; import org.bouncycastle.crypto.signers.HMacDSAKCalculator; public class TlsECDSASigner extends TlsDSASigner { public boolean isValidPublicKey(AsymmetricKeyParameter publicKey) { return publicKey instanceof ECPublicKeyParameters; } protected DSA createDSAImpl(short hashAlgorithm) { return new ECDSASigner(new HMacDSAKCalculator(TlsUtils.createHash(hashAlgorithm))); } protected short getSignatureAlgorithm() { return SignatureAlgorithm.ecdsa; } }