From 5c3e81575721d79b0466aecc1a59e888fefa238a Mon Sep 17 00:00:00 2001
From: jrandom <jrandom>
Date: Tue, 22 Jun 2004 04:23:19 +0000
Subject: [PATCH] dummy DSA (for sim - dont run on live net)

---
 core/java/src/net/i2p/I2PAppContext.java      |  9 ++++--
 .../src/net/i2p/crypto/DummyDSAEngine.java    | 29 +++++++++++++++++++
 2 files changed, 36 insertions(+), 2 deletions(-)
 create mode 100644 core/java/src/net/i2p/crypto/DummyDSAEngine.java

diff --git a/core/java/src/net/i2p/I2PAppContext.java b/core/java/src/net/i2p/I2PAppContext.java
index 8034630225..4712c3b8ba 100644
--- a/core/java/src/net/i2p/I2PAppContext.java
+++ b/core/java/src/net/i2p/I2PAppContext.java
@@ -8,6 +8,7 @@ import net.i2p.client.naming.NamingService;
 import net.i2p.crypto.AESEngine;
 import net.i2p.crypto.CryptixAESEngine;
 import net.i2p.crypto.DSAEngine;
+import net.i2p.crypto.DummyDSAEngine;
 import net.i2p.crypto.DummyElGamalEngine;
 import net.i2p.crypto.ElGamalAESEngine;
 import net.i2p.crypto.ElGamalEngine;
@@ -373,8 +374,12 @@ public class I2PAppContext {
     }
     private void initializeDSA() {
         synchronized (this) {
-            if (_dsa == null)
-                _dsa = new DSAEngine(this);
+            if (_dsa == null) {
+                if ("off".equals(getProperty("i2p.encryption", "on")))
+                    _dsa = new DummyDSAEngine(this);
+                else
+                    _dsa = new DSAEngine(this);
+            }
             _dsaInitialized = true;
         }
     }
diff --git a/core/java/src/net/i2p/crypto/DummyDSAEngine.java b/core/java/src/net/i2p/crypto/DummyDSAEngine.java
new file mode 100644
index 0000000000..d7e5c64992
--- /dev/null
+++ b/core/java/src/net/i2p/crypto/DummyDSAEngine.java
@@ -0,0 +1,29 @@
+package net.i2p.crypto;
+
+import net.i2p.I2PAppContext;
+import net.i2p.data.Hash;
+import net.i2p.data.Signature;
+import net.i2p.data.SigningPrivateKey;
+import net.i2p.data.SigningPublicKey;
+import net.i2p.util.Log;
+import net.i2p.util.NativeBigInteger;
+
+/**
+ * Stub that offers no authentication.
+ *
+ */
+public class DummyDSAEngine extends DSAEngine {
+    public DummyDSAEngine(I2PAppContext context) {
+        super(context);
+    }
+    
+    public boolean verifySignature(Signature signature, byte signedData[], SigningPublicKey verifyingKey) {
+        return true;
+    }
+
+    public Signature sign(byte data[], SigningPrivateKey signingKey) {
+        Signature sig = new Signature();
+        sig.setData(Signature.FAKE_SIGNATURE);
+        return sig;
+    }
+}
\ No newline at end of file
-- 
GitLab