diff --git a/core/java/build.xml b/core/java/build.xml
index a4e0f735ee..a1d8bde500 100644
--- a/core/java/build.xml
+++ b/core/java/build.xml
@@ -291,7 +291,6 @@
-
diff --git a/router/java/src/org/bouncycastle/oldcrypto/macs/I2PHMac.java b/router/java/src/net/i2p/router/transport/udp/I2PHMac.java
similarity index 98%
rename from router/java/src/org/bouncycastle/oldcrypto/macs/I2PHMac.java
rename to router/java/src/net/i2p/router/transport/udp/I2PHMac.java
index 646f8329e1..2ce5fa84e9 100644
--- a/router/java/src/org/bouncycastle/oldcrypto/macs/I2PHMac.java
+++ b/router/java/src/net/i2p/router/transport/udp/I2PHMac.java
@@ -1,4 +1,4 @@
-package org.bouncycastle.oldcrypto.macs;
+package net.i2p.router.transport.udp;
/*
* Copyright (c) 2000 - 2004 The Legion Of The Bouncy Castle
* (http://www.bouncycastle.org)
@@ -33,8 +33,6 @@ import java.util.Arrays;
import net.i2p.util.SimpleByteCache;
-import org.bouncycastle.oldcrypto.Mac;
-
/**
* HMAC implementation based on RFC2104
*
@@ -52,9 +50,10 @@ import org.bouncycastle.oldcrypto.Mac;
*
* Deprecated - Do not use outside of router or Syndie.
* Not a public API - Not for external use!
+ *
+ * @since 0.9.43 moved from org.bouncycastle.oldcrypto.macs
*/
-public class I2PHMac
-implements Mac
+class I2PHMac
{
private final static int BLOCK_LENGTH = 64;
diff --git a/router/java/src/net/i2p/router/transport/udp/SSUHMACGenerator.java b/router/java/src/net/i2p/router/transport/udp/SSUHMACGenerator.java
index cdd8edc5a0..a21a3784d3 100644
--- a/router/java/src/net/i2p/router/transport/udp/SSUHMACGenerator.java
+++ b/router/java/src/net/i2p/router/transport/udp/SSUHMACGenerator.java
@@ -18,11 +18,9 @@ import net.i2p.data.Hash;
import net.i2p.data.SessionKey;
import net.i2p.util.SimpleByteCache;
-import org.bouncycastle.oldcrypto.macs.I2PHMac;
-
/**
* Calculate the HMAC-MD5-128 of a key+message. All the good stuff occurs
- * in {@link org.bouncycastle.oldcrypto.macs.I2PHMac}
+ * in {@link I2PHMac}
*
* Keys are always 32 bytes.
* This is used only by UDP.
diff --git a/router/java/src/org/bouncycastle/oldcrypto/Mac.java b/router/java/src/org/bouncycastle/oldcrypto/Mac.java
deleted file mode 100644
index a55c19959e..0000000000
--- a/router/java/src/org/bouncycastle/oldcrypto/Mac.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.bouncycastle.oldcrypto;
-/*
- * Copyright (c) 2000 - 2004 The Legion Of The Bouncy Castle
- * (http://www.bouncycastle.org)
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated
- * documentation files (the "Software"), to deal in the Software
- * without restriction, including without limitation the rights to
- * use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following
- * conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- *
- */
-
-
-/**
- * The base interface for implementations of message authentication codes (MACs).
- *
- * modified by jrandom to use the session key byte array directly
- *
- * Not a public API - Not for external use!
- */
-public interface Mac
-{
- /**
- * Initialise the MAC.
- *
- * @param key the key required by the MAC.
- * @throws IllegalArgumentException if the params argument is
- * inappropriate.
- */
- public void init(byte key[])
- throws IllegalArgumentException;
-
- /**
- * Return the name of the algorithm the MAC implements.
- *
- * @return the name of the algorithm the MAC implements.
- */
- public String getAlgorithmName();
-
- /**
- * Return the block size for this cipher (in bytes).
- *
- * @return the block size for this cipher in bytes.
- */
- public int getMacSize();
-
- /**
- * add a single byte to the mac for processing.
- *
- * @param in the byte to be processed.
- * @throws IllegalStateException if the MAC is not initialised.
- */
- public void update(byte in)
- throws IllegalStateException;
-
- /**
- * @param in the array containing the input.
- * @param inOff the index in the array the data begins at.
- * @param len the length of the input starting at inOff.
- * @throws IllegalStateException if the MAC is not initialised.
- */
- public void update(byte[] in, int inOff, int len)
- throws IllegalStateException;
-
- /**
- * Compute the final statge of the MAC writing the output to the out
- * parameter.
- *
- * doFinal leaves the MAC in the same state it was after the last init.
- *
- * @param out the array the MAC is to be output to.
- * @param outOff the offset into the out buffer the output is to start at.
- * @throws IllegalStateException if the MAC is not initialised.
- */
- public int doFinal(byte[] out, int outOff)
- throws IllegalStateException;
-
- /**
- * Reset the MAC. At the end of resetting the MAC should be in the
- * in the same state it was after the last init (if there was one).
- */
- public void reset();
-}
diff --git a/router/java/src/org/bouncycastle/oldcrypto/macs/package.html b/router/java/src/org/bouncycastle/oldcrypto/macs/package.html
deleted file mode 100644
index 5b57a27104..0000000000
--- a/router/java/src/org/bouncycastle/oldcrypto/macs/package.html
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-This is from some very old version of bouncycastle, part of package org.bouncycastle.crypto.
-Android bundled something similar in pre-Gingerbread, but upgraded to a later, incompatible version
-in Gingerbread. As of Java 1.4 these are in javax.crypto - more or less.
-To avoid having to make two different versions of our Android app, we rename to org.bouncycastle.oldcrypto.
-
-Ref: javax.crypto
-and
-this android issue.
-
-Moved from i2p.jar to router.jar as of 0.9.42.
-Not a public API! Not for external use!
-
-
-
diff --git a/router/java/src/org/bouncycastle/oldcrypto/package.html b/router/java/src/org/bouncycastle/oldcrypto/package.html
deleted file mode 100644
index 5b57a27104..0000000000
--- a/router/java/src/org/bouncycastle/oldcrypto/package.html
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-This is from some very old version of bouncycastle, part of package org.bouncycastle.crypto.
-Android bundled something similar in pre-Gingerbread, but upgraded to a later, incompatible version
-in Gingerbread. As of Java 1.4 these are in javax.crypto - more or less.
-To avoid having to make two different versions of our Android app, we rename to org.bouncycastle.oldcrypto.
-
-Ref: javax.crypto
-and
-this android issue.
-
-Moved from i2p.jar to router.jar as of 0.9.42.
-Not a public API! Not for external use!
-
-
-