mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-12 10:49:06 +01:00
Rename constants to make public
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
package org.briarproject.bramble.contact;
|
||||
|
||||
public interface ContactExchangeConstants {
|
||||
|
||||
/**
|
||||
* The current version of the contact exchange protocol.
|
||||
*/
|
||||
byte PROTOCOL_VERSION = 1;
|
||||
|
||||
/**
|
||||
* Label for deriving Alice's header key from the master key.
|
||||
*/
|
||||
String ALICE_KEY_LABEL =
|
||||
"org.briarproject.bramble.contact/ALICE_HEADER_KEY";
|
||||
|
||||
/**
|
||||
* Label for deriving Bob's header key from the master key.
|
||||
*/
|
||||
String BOB_KEY_LABEL = "org.briarproject.bramble.contact/BOB_HEADER_KEY";
|
||||
|
||||
/**
|
||||
* Label for deriving Alice's key binding nonce from the master key.
|
||||
*/
|
||||
String ALICE_NONCE_LABEL = "org.briarproject.bramble.contact/ALICE_NONCE";
|
||||
|
||||
/**
|
||||
* Label for deriving Bob's key binding nonce from the master key.
|
||||
*/
|
||||
String BOB_NONCE_LABEL = "org.briarproject.bramble.contact/BOB_NONCE";
|
||||
|
||||
/**
|
||||
* Label for signing key binding nonces.
|
||||
*/
|
||||
String SIGNING_LABEL = "org.briarproject.briar.contact/EXCHANGE";
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package org.briarproject.bramble.contact;
|
||||
|
||||
import org.briarproject.bramble.api.crypto.PrivateKey;
|
||||
import org.briarproject.bramble.api.crypto.PublicKey;
|
||||
import org.briarproject.bramble.api.crypto.SecretKey;
|
||||
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||
|
||||
@NotNullByDefault
|
||||
public interface ContactExchangeCrypto {
|
||||
|
||||
/**
|
||||
* Derives the header key for a contact exchange stream from the master key.
|
||||
*
|
||||
* @param alice Whether the header key is for the stream sent by Alice
|
||||
*/
|
||||
SecretKey deriveHeaderKey(SecretKey masterKey, boolean alice);
|
||||
|
||||
/**
|
||||
* Creates and returns a signature that proves ownership of a pseudonym.
|
||||
*
|
||||
* @param privateKey The pseudonym's signature private key
|
||||
* @param alice Whether the pseudonym belongs to Alice
|
||||
*/
|
||||
byte[] sign(PrivateKey privateKey, SecretKey masterKey, boolean alice);
|
||||
|
||||
/**
|
||||
* Verifies a signature that proves ownership of a pseudonym.
|
||||
*
|
||||
* @param publicKey The pseudonym's signature public key
|
||||
* @param alice Whether the pseudonym belongs to Alice
|
||||
* @return True if the signature is valid
|
||||
*/
|
||||
boolean verify(PublicKey publicKey, SecretKey masterKey, boolean alice,
|
||||
byte[] signature);
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package org.briarproject.bramble.contact;
|
||||
|
||||
/**
|
||||
* Record types for the contact exchange protocol.
|
||||
*/
|
||||
public interface ContactExchangeRecordTypes {
|
||||
|
||||
byte CONTACT_INFO = 0;
|
||||
}
|
||||
Reference in New Issue
Block a user