Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.java26
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;
+ }
+}