Skip to content
Snippets Groups Projects
Commit b109a941 authored by akwizgran's avatar akwizgran
Browse files

Added a factory method for local authors.

parent 95484b5a
No related branches found
No related tags found
No related merge requests found
......@@ -5,4 +5,7 @@ import java.io.IOException;
public interface AuthorFactory {
Author createAuthor(String name, byte[] publicKey) throws IOException;
LocalAuthor createLocalAuthor(String name, byte[] publicKey,
byte[] privateKey) throws IOException;
}
......@@ -8,6 +8,7 @@ import java.io.IOException;
import net.sf.briar.api.Author;
import net.sf.briar.api.AuthorFactory;
import net.sf.briar.api.AuthorId;
import net.sf.briar.api.LocalAuthor;
import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.crypto.MessageDigest;
import net.sf.briar.api.serial.Writer;
......@@ -28,6 +29,16 @@ class AuthorFactoryImpl implements AuthorFactory {
public Author createAuthor(String name, byte[] publicKey)
throws IOException {
return new Author(getId(name, publicKey), name, publicKey);
}
public LocalAuthor createLocalAuthor(String name, byte[] publicKey,
byte[] privateKey) throws IOException {
return new LocalAuthor(getId(name, publicKey), name, publicKey,
privateKey);
}
private AuthorId getId(String name, byte[] publicKey) throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
Writer w = writerFactory.createWriter(out);
w.writeStructId(AUTHOR);
......@@ -35,7 +46,6 @@ class AuthorFactoryImpl implements AuthorFactory {
w.writeBytes(publicKey);
MessageDigest messageDigest = crypto.getMessageDigest();
messageDigest.update(out.toByteArray());
AuthorId id = new AuthorId(messageDigest.digest());
return new Author(id, name, publicKey);
return new AuthorId(messageDigest.digest());
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment