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 +