Check the return value from Signature.verify(). *cough*

This commit is contained in:
akwizgran
2011-07-12 17:08:31 +01:00
parent 3d549ea6ac
commit 2af6f19476
7 changed files with 65 additions and 22 deletions

View File

@@ -1,7 +1,7 @@
package net.sf.briar.protocol;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.GeneralSecurityException;
import java.security.KeyPair;
import java.security.MessageDigest;
import java.security.Signature;
@@ -24,13 +24,12 @@ public class IncomingBatchBuilder extends BatchBuilderImpl {
this.sig = sig;
}
public Batch build() throws IOException, SignatureException,
InvalidKeyException {
public Batch build() throws IOException, GeneralSecurityException {
if(sig == null) throw new IllegalStateException();
byte[] raw = getSignableRepresentation();
signature.initVerify(keyPair.getPublic());
signature.update(raw);
signature.verify(sig);
if(!signature.verify(sig)) throw new SignatureException();
messageDigest.reset();
messageDigest.update(raw);
messageDigest.update(sig);

View File

@@ -1,7 +1,7 @@
package net.sf.briar.protocol;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.GeneralSecurityException;
import java.security.KeyPair;
import java.security.MessageDigest;
import java.security.Signature;
@@ -28,13 +28,12 @@ class IncomingHeaderBuilder extends HeaderBuilderImpl {
this.sig = sig;
}
public Header build() throws IOException, SignatureException,
InvalidKeyException {
public Header build() throws IOException, GeneralSecurityException {
if(sig == null) throw new IllegalStateException();
byte[] raw = getSignableRepresentation();
signature.initVerify(keyPair.getPublic());
signature.update(raw);
signature.verify(sig);
if(!signature.verify(sig)) throw new SignatureException();
messageDigest.reset();
messageDigest.update(raw);
messageDigest.update(sig);

View File

@@ -1,11 +1,10 @@
package net.sf.briar.protocol;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.GeneralSecurityException;
import java.security.KeyPair;
import java.security.MessageDigest;
import java.security.Signature;
import java.security.SignatureException;
import net.sf.briar.api.protocol.Batch;
import net.sf.briar.api.protocol.BatchId;
@@ -22,8 +21,7 @@ public class OutgoingBatchBuilder extends BatchBuilderImpl {
throw new UnsupportedOperationException();
}
public Batch build() throws IOException, SignatureException,
InvalidKeyException {
public Batch build() throws IOException, GeneralSecurityException {
byte[] raw = getSignableRepresentation();
signature.initSign(keyPair.getPrivate());
signature.update(raw);

View File

@@ -1,11 +1,10 @@
package net.sf.briar.protocol;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.GeneralSecurityException;
import java.security.KeyPair;
import java.security.MessageDigest;
import java.security.Signature;
import java.security.SignatureException;
import java.util.HashSet;
import java.util.Set;
@@ -26,8 +25,7 @@ public class OutgoingHeaderBuilder extends HeaderBuilderImpl {
throw new UnsupportedOperationException();
}
public Header build() throws IOException, SignatureException,
InvalidKeyException {
public Header build() throws IOException, GeneralSecurityException {
byte[] raw = getSignableRepresentation();
signature.initSign(keyPair.getPrivate());
signature.update(raw);