mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-12 18:59:06 +01:00
41 lines
1.6 KiB
Java
41 lines
1.6 KiB
Java
package org.briarproject.crypto;
|
|
|
|
import org.briarproject.BriarTestCase;
|
|
import org.briarproject.TestSeedProvider;
|
|
import org.briarproject.api.crypto.CryptoComponent;
|
|
import org.briarproject.api.crypto.KeyPair;
|
|
import org.briarproject.api.crypto.SecretKey;
|
|
import org.briarproject.api.system.SeedProvider;
|
|
import org.junit.Test;
|
|
|
|
import static org.junit.Assert.assertArrayEquals;
|
|
|
|
public class KeyAgreementTest extends BriarTestCase {
|
|
|
|
@Test
|
|
public void testBTKeyAgreement() throws Exception {
|
|
SeedProvider seedProvider = new TestSeedProvider();
|
|
CryptoComponent crypto = new CryptoComponentImpl(seedProvider);
|
|
KeyPair aPair = crypto.generateAgreementKeyPair();
|
|
byte[] aPub = aPair.getPublic().getEncoded();
|
|
KeyPair bPair = crypto.generateAgreementKeyPair();
|
|
byte[] bPub = bPair.getPublic().getEncoded();
|
|
SecretKey aMaster = crypto.deriveMasterSecret(aPub, bPair, true);
|
|
SecretKey bMaster = crypto.deriveMasterSecret(bPub, aPair, false);
|
|
assertArrayEquals(aMaster.getBytes(), bMaster.getBytes());
|
|
}
|
|
|
|
@Test
|
|
public void testKeyAgreement() throws Exception {
|
|
SeedProvider seedProvider = new TestSeedProvider();
|
|
CryptoComponent crypto = new CryptoComponentImpl(seedProvider);
|
|
KeyPair aPair = crypto.generateAgreementKeyPair();
|
|
byte[] aPub = aPair.getPublic().getEncoded();
|
|
KeyPair bPair = crypto.generateAgreementKeyPair();
|
|
byte[] bPub = bPair.getPublic().getEncoded();
|
|
SecretKey aShared = crypto.deriveSharedSecret(bPub, aPair, true);
|
|
SecretKey bShared = crypto.deriveSharedSecret(aPub, bPair, false);
|
|
assertArrayEquals(aShared.getBytes(), bShared.getBytes());
|
|
}
|
|
}
|