diff --git a/briar-core/.classpath b/briar-core/.classpath
index 9e7ecd15e..7a5ed364f 100644
--- a/briar-core/.classpath
+++ b/briar-core/.classpath
@@ -3,10 +3,10 @@
-
+
diff --git a/briar-core/libs/lcrypto-jdk15on-150.jar b/briar-core/libs/lcrypto-jdk15on-150.jar
new file mode 100644
index 000000000..75d3917bb
Binary files /dev/null and b/briar-core/libs/lcrypto-jdk15on-150.jar differ
diff --git a/briar-core/libs/sc-light-jdk15on-1.47.0.3-SNAPSHOT.jar b/briar-core/libs/sc-light-jdk15on-1.47.0.3-SNAPSHOT.jar
deleted file mode 100644
index 628b56b6b..000000000
Binary files a/briar-core/libs/sc-light-jdk15on-1.47.0.3-SNAPSHOT.jar and /dev/null differ
diff --git a/briar-core/libs/source/lcrypto-jdk15on-150-source.jar b/briar-core/libs/source/lcrypto-jdk15on-150-source.jar
new file mode 100644
index 000000000..b007552c1
Binary files /dev/null and b/briar-core/libs/source/lcrypto-jdk15on-150-source.jar differ
diff --git a/briar-core/libs/source/sc-light-jdk15on-1.47.0.3-SNAPSHOT-source.jar b/briar-core/libs/source/sc-light-jdk15on-1.47.0.3-SNAPSHOT-source.jar
deleted file mode 100644
index 5e609448d..000000000
Binary files a/briar-core/libs/source/sc-light-jdk15on-1.47.0.3-SNAPSHOT-source.jar and /dev/null differ
diff --git a/briar-core/src/org/briarproject/crypto/EllipticCurveConstants.java b/briar-core/src/org/briarproject/crypto/EllipticCurveConstants.java
index 79d24b904..97e94aed3 100644
--- a/briar-core/src/org/briarproject/crypto/EllipticCurveConstants.java
+++ b/briar-core/src/org/briarproject/crypto/EllipticCurveConstants.java
@@ -4,7 +4,6 @@ import java.math.BigInteger;
import org.spongycastle.crypto.params.ECDomainParameters;
import org.spongycastle.math.ec.ECCurve;
-import org.spongycastle.math.ec.ECFieldElement;
import org.spongycastle.math.ec.ECPoint;
/** Parameters for curve brainpoolP384r1 - see RFC 5639. */
@@ -63,8 +62,6 @@ interface EllipticCurveConstants {
// Static parameter objects derived from the above parameters
ECCurve CURVE = new ECCurve.Fp(P, A, B);
- ECPoint G = new ECPoint.Fp(CURVE,
- new ECFieldElement.Fp(P, X),
- new ECFieldElement.Fp(P, Y));
+ ECPoint G = CURVE.createPoint(X, Y);
ECDomainParameters PARAMETERS = new ECDomainParameters(CURVE, G, Q, H);
}
diff --git a/briar-core/src/org/briarproject/crypto/Sec1KeyParser.java b/briar-core/src/org/briarproject/crypto/Sec1KeyParser.java
index b9077ffb5..e64de28aa 100644
--- a/briar-core/src/org/briarproject/crypto/Sec1KeyParser.java
+++ b/briar-core/src/org/briarproject/crypto/Sec1KeyParser.java
@@ -6,11 +6,9 @@ import java.security.GeneralSecurityException;
import org.briarproject.api.crypto.KeyParser;
import org.briarproject.api.crypto.PrivateKey;
import org.briarproject.api.crypto.PublicKey;
-
import org.spongycastle.crypto.params.ECDomainParameters;
import org.spongycastle.crypto.params.ECPrivateKeyParameters;
import org.spongycastle.crypto.params.ECPublicKeyParameters;
-import org.spongycastle.math.ec.ECFieldElement;
import org.spongycastle.math.ec.ECPoint;
/**
@@ -58,9 +56,7 @@ class Sec1KeyParser implements KeyParser {
BigInteger rhs = x.multiply(x).add(a).multiply(x).add(b).mod(modulus);
if(!lhs.equals(rhs)) throw new GeneralSecurityException();
// We know the point (x, y) is on the curve, so we can create the point
- ECFieldElement elementX = new ECFieldElement.Fp(modulus, x);
- ECFieldElement elementY = new ECFieldElement.Fp(modulus, y);
- ECPoint pub = new ECPoint.Fp(params.getCurve(), elementX, elementY);
+ ECPoint pub = params.getCurve().createPoint(x, y);
// Verify that the point (x, y) is not the point at infinity
if(pub.isInfinity()) throw new GeneralSecurityException();
// Verify that the point (x, y) times n is the point at infinity
diff --git a/briar-core/src/org/briarproject/crypto/Sec1PublicKey.java b/briar-core/src/org/briarproject/crypto/Sec1PublicKey.java
index eefdfde74..290f35ce1 100644
--- a/briar-core/src/org/briarproject/crypto/Sec1PublicKey.java
+++ b/briar-core/src/org/briarproject/crypto/Sec1PublicKey.java
@@ -23,9 +23,9 @@ class Sec1PublicKey implements PublicKey {
public byte[] getEncoded() {
byte[] encodedKey = new byte[publicKeyBytes];
encodedKey[0] = 4;
- byte[] x = key.getQ().getX().toBigInteger().toByteArray();
+ byte[] x = key.getQ().getAffineXCoord().toBigInteger().toByteArray();
Sec1Utils.convertToFixedLength(x, encodedKey, 1, bytesPerInt);
- byte[] y = key.getQ().getY().toBigInteger().toByteArray();
+ byte[] y = key.getQ().getAffineYCoord().toBigInteger().toByteArray();
Sec1Utils.convertToFixedLength(y, encodedKey, 1 + bytesPerInt,
bytesPerInt);
return encodedKey;
diff --git a/briar-tests/.classpath b/briar-tests/.classpath
index 4d9d92d61..c93e2a667 100644
--- a/briar-tests/.classpath
+++ b/briar-tests/.classpath
@@ -12,6 +12,6 @@
-
+
diff --git a/spongy.sh b/spongy.sh
new file mode 100755
index 000000000..a0d404335
--- /dev/null
+++ b/spongy.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+dirs=(ant core docs jce mail pg pkix prov)
+
+for file in `find ${dirs[@]} -name bouncycastle`
+do
+ path=`dirname $file`
+ echo "Moving $file to $path/spongycastle"
+ mv $file $path/spongycastle
+done
+
+for file in `grep -Rl bouncycastle ${dirs[@]}`
+do
+ echo "Replacing string bouncycastle in $file"
+ sed -i 's/bouncycastle/spongycastle/g' $file
+done
+