mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-14 11:49:04 +01:00
Upgraded to BouncyCastle 1.50. Added bouncy -> spongy conversion script.
This commit is contained in:
@@ -3,10 +3,10 @@
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/briar-api"/>
|
||||
<classpathentry kind="lib" path="/briar-api/libs/guice-3.0-no_aop.jar"/>
|
||||
<classpathentry kind="lib" path="libs/sc-light-jdk15on-1.47.0.3-SNAPSHOT.jar" sourcepath="libs/source/sc-light-jdk15on-1.47.0.3-SNAPSHOT-source.jar"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
|
||||
<classpathentry kind="lib" path="/briar-api/libs/javax.inject.jar"/>
|
||||
<classpathentry kind="lib" path="libs/h2small-1.3.170.jar"/>
|
||||
<classpathentry kind="lib" path="libs/weupnp-0.1.3-SNAPSHOT-briar.jar"/>
|
||||
<classpathentry kind="lib" path="libs/lcrypto-jdk15on-150.jar" sourcepath="libs/source/lcrypto-jdk15on-150-source.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
||||
BIN
briar-core/libs/lcrypto-jdk15on-150.jar
Normal file
BIN
briar-core/libs/lcrypto-jdk15on-150.jar
Normal file
Binary file not shown.
Binary file not shown.
BIN
briar-core/libs/source/lcrypto-jdk15on-150-source.jar
Normal file
BIN
briar-core/libs/source/lcrypto-jdk15on-150-source.jar
Normal file
Binary file not shown.
Binary file not shown.
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -12,6 +12,6 @@
|
||||
<classpathentry kind="lib" path="libs/jmock-2.5.1.jar"/>
|
||||
<classpathentry kind="lib" path="libs/junit-4.9b3.jar"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
|
||||
<classpathentry kind="lib" path="/briar-core/libs/sc-light-jdk15on-1.47.0.3-SNAPSHOT.jar" sourcepath="/briar-core/libs/source/sc-light-jdk15on-1.47.0.3-SNAPSHOT-source.jar"/>
|
||||
<classpathentry kind="lib" path="/briar-core/libs/lcrypto-jdk15on-150.jar" sourcepath="/briar-core/libs/source/lcrypto-jdk15on-150-source.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
||||
17
spongy.sh
Executable file
17
spongy.sh
Executable file
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user