aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/crypto/sasl/ScramSha256.java
diff options
context:
space:
mode:
authorSam Whited <sam@samwhited.com>2017-01-12 14:26:58 -0600
committerSam Whited <sam@samwhited.com>2017-01-15 23:43:44 -0600
commitbfc2cffc2f7818e090c70d0d65cc97acb08ad5ba (patch)
treee9132dd346b8bd36f5022f43ed71fa8cd97fad14 /src/main/java/eu/siacs/conversations/crypto/sasl/ScramSha256.java
parent9bdd2bf1ae38ee688538d7d4a0e446c3b869d47e (diff)
Add SCRAM-SHA-2 support
Diffstat (limited to 'src/main/java/eu/siacs/conversations/crypto/sasl/ScramSha256.java')
-rw-r--r--src/main/java/eu/siacs/conversations/crypto/sasl/ScramSha256.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/main/java/eu/siacs/conversations/crypto/sasl/ScramSha256.java b/src/main/java/eu/siacs/conversations/crypto/sasl/ScramSha256.java
new file mode 100644
index 00000000..1b7a969d
--- /dev/null
+++ b/src/main/java/eu/siacs/conversations/crypto/sasl/ScramSha256.java
@@ -0,0 +1,30 @@
+package eu.siacs.conversations.crypto.sasl;
+
+import org.bouncycastle.crypto.digests.SHA256Digest;
+import org.bouncycastle.crypto.macs.HMac;
+
+import java.security.SecureRandom;
+
+import eu.siacs.conversations.entities.Account;
+import eu.siacs.conversations.xml.TagWriter;
+
+public class ScramSha256 extends ScramMechanism {
+ static {
+ DIGEST = new SHA256Digest();
+ HMAC = new HMac(new SHA256Digest());
+ }
+
+ public ScramSha256(final TagWriter tagWriter, final Account account, final SecureRandom rng) {
+ super(tagWriter, account, rng);
+ }
+
+ @Override
+ public int getPriority() {
+ return 25;
+ }
+
+ @Override
+ public String getMechanism() {
+ return "SCRAM-SHA-256";
+ }
+}