Removed unused code.

This commit is contained in:
akwizgran
2011-08-19 11:21:59 +02:00
parent 9dea4d0299
commit a59ad23e77
5 changed files with 2 additions and 214 deletions

View File

@@ -15,8 +15,9 @@ public class CryptoModule extends AbstractModule {
protected void configure() {
bind(CryptoComponent.class).to(
CryptoComponentImpl.class).in(Singleton.class);
// FIXME: Use a real key
bind(SecretKey.class).annotatedWith(SecretStorageKey.class).toInstance(
new SecretKeySpec(new byte[32], "AES")); // FIXME
new SecretKeySpec(new byte[32], "AES"));
}
}

View File

@@ -1,43 +0,0 @@
package net.sf.briar.protocol;
import java.io.IOException;
import java.security.Signature;
import java.security.SignatureException;
import net.sf.briar.api.serial.Consumer;
// FIXME: This class is no longer used - remove it?
/** A consumer that passes its input through a signature. */
class SigningConsumer implements Consumer {
private final Signature signature;
SigningConsumer(Signature signature) {
this.signature = signature;
}
public void write(byte b) throws IOException {
try {
signature.update(b);
} catch(SignatureException e) {
throw new IOException(e.getMessage());
}
}
public void write(byte[] b) throws IOException {
try {
signature.update(b);
} catch(SignatureException e) {
throw new IOException(e.getMessage());
}
}
public void write(byte[] b, int off, int len) throws IOException {
try {
signature.update(b, off, len);
} catch(SignatureException e) {
throw new IOException(e.getMessage());
}
}
}

View File

@@ -1,67 +0,0 @@
package net.sf.briar.protocol;
import java.io.FilterOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.security.MessageDigest;
import java.security.Signature;
import java.security.SignatureException;
// FIXME: This class is no longer used - remove it?
/**
* An output stream that passes its output through a signature and a message
* digest.
*/
class SigningDigestingOutputStream extends FilterOutputStream {
private final Signature signature;
private final MessageDigest messageDigest;
private boolean signing = false, digesting = false;
public SigningDigestingOutputStream(OutputStream out, Signature signature,
MessageDigest messageDigest) {
super(out);
this.signature = signature;
this.messageDigest = messageDigest;
}
void setSigning(boolean signing) {
this.signing = signing;
}
void setDigesting(boolean digesting) {
this.digesting = digesting;
}
@Override
public void write(byte[] b) throws IOException {
write(b, 0, b.length);
}
@Override
public void write(byte[] b, int off, int len) throws IOException {
out.write(b, off, len);
if(signing) {
try {
signature.update(b, off, len);
} catch(SignatureException e) {
throw new IOException(e.getMessage());
}
}
if(digesting) messageDigest.update(b, off, len);
}
@Override
public void write(int b) throws IOException {
out.write(b);
if(signing) {
try {
signature.update((byte) b);
} catch(SignatureException e) {
throw new IOException(e.getMessage());
}
}
if(digesting) messageDigest.update((byte) b);
}
}

View File

@@ -1,8 +1,6 @@
package net.sf.briar.protocol;
import java.security.KeyPair;
import java.security.MessageDigest;
import java.security.Signature;
import java.util.Arrays;
import java.util.Random;
@@ -27,25 +25,6 @@ public class ConsumersTest extends TestCase {
crypto = i.getInstance(CryptoComponent.class);
}
@Test
public void testSigningConsumer() throws Exception {
Signature signature = crypto.getSignature();
KeyPair keyPair = crypto.generateKeyPair();
byte[] data = new byte[1234];
// Generate some random data and sign it
new Random().nextBytes(data);
signature.initSign(keyPair.getPrivate());
signature.update(data);
byte[] sig = signature.sign();
// Check that a SigningConsumer fed with the same data verifies the sig
signature.initVerify(keyPair.getPublic());
SigningConsumer sc = new SigningConsumer(signature);
sc.write(data[0]);
sc.write(data, 1, data.length - 2);
sc.write(data[data.length - 1]);
assertTrue(signature.verify(sig));
}
@Test
public void testDigestingConsumer() throws Exception {
MessageDigest messageDigest = crypto.getMessageDigest();

View File

@@ -1,82 +0,0 @@
package net.sf.briar.protocol;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.security.KeyPair;
import java.security.MessageDigest;
import java.security.Signature;
import java.util.Arrays;
import java.util.Random;
import junit.framework.TestCase;
import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.crypto.CryptoModule;
import org.junit.Before;
import org.junit.Test;
import com.google.inject.Guice;
import com.google.inject.Injector;
public class SigningDigestingOutputStreamTest extends TestCase {
private CryptoComponent crypto = null;
@Before
public void setUp() throws Exception {
Injector i = Guice.createInjector(new CryptoModule());
crypto = i.getInstance(CryptoComponent.class);
}
@Test
public void testStopAndStart() throws Exception {
Signature signature = crypto.getSignature();
KeyPair keyPair = crypto.generateKeyPair();
MessageDigest messageDigest = crypto.getMessageDigest();
byte[] input = new byte[1024];
new Random().nextBytes(input);
ByteArrayOutputStream out = new ByteArrayOutputStream(input.length);
SigningDigestingOutputStream s =
new SigningDigestingOutputStream(out, signature, messageDigest);
signature.initSign(keyPair.getPrivate());
messageDigest.reset();
// Sign the first 256 bytes, digest all but the last 256 bytes
s.setDigesting(true);
s.setSigning(true);
s.write(input, 0, 256);
s.setSigning(false);
s.write(input, 256, 512);
s.setDigesting(false);
s.write(input, 768, 256);
s.close();
// Get the signature and the digest
byte[] sig = signature.sign();
byte[] digest = messageDigest.digest();
// Check that the output matches the input
assertTrue(Arrays.equals(input, out.toByteArray()));
// Verify the signature over the first 256 bytes
signature.initVerify(keyPair.getPublic());
signature.update(input, 0, 256);
assertTrue(signature.verify(sig));
// Check that the digest matches a digest over all but the last 256
// bytes
messageDigest.reset();
messageDigest.update(input, 0, 768);
byte[] directDigest = messageDigest.digest();
assertTrue(Arrays.equals(directDigest, digest));
}
@Test
public void testSignatureExceptionThrowsIOException() throws Exception {
Signature signature = crypto.getSignature();
MessageDigest messageDigest = crypto.getMessageDigest();
ByteArrayOutputStream out = new ByteArrayOutputStream();
SigningDigestingOutputStream s =
new SigningDigestingOutputStream(out, signature, messageDigest);
s.setSigning(true); // Signature hasn't been initialised yet
try {
s.write((byte) 0);
fail();
} catch(IOException expected) {};
}
}