diff options
Diffstat (limited to 'core/src/main/java/org/spongycastle/crypto/tls/TlsECDSASigner.java')
-rw-r--r-- | core/src/main/java/org/spongycastle/crypto/tls/TlsECDSASigner.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/core/src/main/java/org/spongycastle/crypto/tls/TlsECDSASigner.java b/core/src/main/java/org/spongycastle/crypto/tls/TlsECDSASigner.java new file mode 100644 index 00000000..308aabf0 --- /dev/null +++ b/core/src/main/java/org/spongycastle/crypto/tls/TlsECDSASigner.java @@ -0,0 +1,26 @@ +package org.spongycastle.crypto.tls; + +import org.spongycastle.crypto.DSA; +import org.spongycastle.crypto.params.AsymmetricKeyParameter; +import org.spongycastle.crypto.params.ECPublicKeyParameters; +import org.spongycastle.crypto.signers.ECDSASigner; +import org.spongycastle.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; + } +} |