Extract contact exchange protocol from BT introduction protocol

This commit is contained in:
str4d
2016-02-25 22:01:15 +00:00
parent d7c7a72710
commit 701cfdba48
8 changed files with 317 additions and 6 deletions

View File

@@ -0,0 +1,14 @@
package org.briarproject.api.contact;
import org.briarproject.api.identity.Author;
public interface ContactExchangeListener {
void contactExchangeSucceeded(Author remoteAuthor);
/** The exchange failed because the contact already exists. */
void duplicateContact(Author remoteAuthor);
/** A general failure. */
void contactExchangeFailed();
}

View File

@@ -0,0 +1,20 @@
package org.briarproject.api.contact;
import org.briarproject.api.TransportId;
import org.briarproject.api.crypto.SecretKey;
import org.briarproject.api.identity.LocalAuthor;
import org.briarproject.api.plugins.duplex.DuplexTransportConnection;
/**
* A task for conducting a contact information exchange with a remote peer.
*/
public interface ContactExchangeTask {
/**
* Exchange contact information with a remote peer.
*/
void startExchange(ContactExchangeListener listener,
LocalAuthor localAuthor, SecretKey masterSecret,
DuplexTransportConnection conn, TransportId transportId,
boolean alice, boolean reuseConnection);
}

View File

@@ -47,7 +47,7 @@ public interface CryptoComponent {
* sign.
* @param alice whether the nonce is for use by Alice or Bob.
*/
byte[] deriveBTSignatureNonce(SecretKey master, boolean alice);
byte[] deriveSignatureNonce(SecretKey master, boolean alice);
/**
* Derives a commitment to the provided public key.