diff options
Diffstat (limited to 'core/src/main/java/org/spongycastle/crypto/tls/TlsDSSSigner.java')
-rw-r--r-- | core/src/main/java/org/spongycastle/crypto/tls/TlsDSSSigner.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/core/src/main/java/org/spongycastle/crypto/tls/TlsDSSSigner.java b/core/src/main/java/org/spongycastle/crypto/tls/TlsDSSSigner.java new file mode 100644 index 00000000..bc26c036 --- /dev/null +++ b/core/src/main/java/org/spongycastle/crypto/tls/TlsDSSSigner.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.DSAPublicKeyParameters; +import org.spongycastle.crypto.signers.DSASigner; +import org.spongycastle.crypto.signers.HMacDSAKCalculator; + +public class TlsDSSSigner + extends TlsDSASigner +{ + public boolean isValidPublicKey(AsymmetricKeyParameter publicKey) + { + return publicKey instanceof DSAPublicKeyParameters; + } + + protected DSA createDSAImpl(short hashAlgorithm) + { + return new DSASigner(new HMacDSAKCalculator(TlsUtils.createHash(hashAlgorithm))); + } + + protected short getSignatureAlgorithm() + { + return SignatureAlgorithm.dsa; + } +} |