Verified Commit 84e24024 authored by akwizgran's avatar akwizgran

Update key management terminology.

parent 5adc9d8d
Pipeline #3307 passed with stage
in 6 minutes and 59 seconds
...@@ -695,14 +695,14 @@ public abstract class JdbcDatabaseTest extends BrambleTestCase { ...@@ -695,14 +695,14 @@ public abstract class JdbcDatabaseTest extends BrambleTestCase {
} }
} }
// Rotate the transport keys // Update the transport keys
TransportKeys rotated = createTransportKeys(timePeriod + 1, active); TransportKeys updated = createTransportKeys(timePeriod + 1, active);
TransportKeys rotated1 = TransportKeys updated1 =
createTransportKeys(timePeriod1 + 1, active); createTransportKeys(timePeriod1 + 1, active);
db.updateTransportKeys(txn, new TransportKeySet(keySetId, contactId, db.updateTransportKeys(txn, new TransportKeySet(keySetId, contactId,
null, rotated)); null, updated));
db.updateTransportKeys(txn, new TransportKeySet(keySetId1, contactId, db.updateTransportKeys(txn, new TransportKeySet(keySetId1, contactId,
null, rotated1)); null, updated1));
// Retrieve the transport keys again // Retrieve the transport keys again
allKeys = db.getTransportKeys(txn, transportId); allKeys = db.getTransportKeys(txn, transportId);
...@@ -710,10 +710,10 @@ public abstract class JdbcDatabaseTest extends BrambleTestCase { ...@@ -710,10 +710,10 @@ public abstract class JdbcDatabaseTest extends BrambleTestCase {
for (TransportKeySet ks : allKeys) { for (TransportKeySet ks : allKeys) {
assertEquals(contactId, ks.getContactId()); assertEquals(contactId, ks.getContactId());
if (ks.getKeySetId().equals(keySetId)) { if (ks.getKeySetId().equals(keySetId)) {
assertKeysEquals(rotated, ks.getKeys()); assertKeysEquals(updated, ks.getKeys());
} else { } else {
assertEquals(keySetId1, ks.getKeySetId()); assertEquals(keySetId1, ks.getKeySetId());
assertKeysEquals(rotated1, ks.getKeys()); assertKeysEquals(updated1, ks.getKeys());
} }
} }
......
...@@ -69,15 +69,15 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -69,15 +69,15 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
private final Random random = new Random(); private final Random random = new Random();
@Test @Test
public void testKeysAreRotatedAtStartup() throws Exception { public void testKeysAreUpdatedAtStartup() throws Exception {
TransportKeys shouldRotate = createTransportKeys(900, 0, true); TransportKeys shouldUpdate = createTransportKeys(900, 0, true);
TransportKeys shouldNotRotate = createTransportKeys(1000, 0, true); TransportKeys shouldNotUpdate = createTransportKeys(1000, 0, true);
Collection<TransportKeySet> loaded = asList( Collection<TransportKeySet> loaded = asList(
new TransportKeySet(keySetId, contactId, null, shouldRotate), new TransportKeySet(keySetId, contactId, null, shouldUpdate),
new TransportKeySet(keySetId1, contactId1, null, new TransportKeySet(keySetId1, contactId1, null,
shouldNotRotate) shouldNotUpdate)
); );
TransportKeys rotated = createTransportKeys(1000, 0, true); TransportKeys updated = createTransportKeys(1000, 0, true);
Transaction txn = new Transaction(null, false); Transaction txn = new Transaction(null, false);
context.checking(new Expectations() {{ context.checking(new Expectations() {{
...@@ -87,11 +87,11 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -87,11 +87,11 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
// Load the transport keys // Load the transport keys
oneOf(db).getTransportKeys(txn, transportId); oneOf(db).getTransportKeys(txn, transportId);
will(returnValue(loaded)); will(returnValue(loaded));
// Rotate the transport keys // Update the transport keys
oneOf(transportCrypto).updateTransportKeys(shouldRotate, 1000); oneOf(transportCrypto).updateTransportKeys(shouldUpdate, 1000);
will(returnValue(rotated)); will(returnValue(updated));
oneOf(transportCrypto).updateTransportKeys(shouldNotRotate, 1000); oneOf(transportCrypto).updateTransportKeys(shouldNotUpdate, 1000);
will(returnValue(shouldNotRotate)); will(returnValue(shouldNotUpdate));
// Encode the tags (3 sets per contact) // Encode the tags (3 sets per contact)
for (long i = 0; i < REORDERING_WINDOW_SIZE; i++) { for (long i = 0; i < REORDERING_WINDOW_SIZE; i++) {
exactly(6).of(transportCrypto).encodeTag( exactly(6).of(transportCrypto).encodeTag(
...@@ -99,10 +99,10 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -99,10 +99,10 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
with(PROTOCOL_VERSION), with(i)); with(PROTOCOL_VERSION), with(i));
will(new EncodeTagAction()); will(new EncodeTagAction());
} }
// Save the keys that were rotated // Save the keys that were updated
oneOf(db).updateTransportKeys(txn, singletonList( oneOf(db).updateTransportKeys(txn, singletonList(
new TransportKeySet(keySetId, contactId, null, rotated))); new TransportKeySet(keySetId, contactId, null, updated)));
// Schedule key rotation at the start of the next time period // Schedule a key update at the start of the next time period
oneOf(scheduler).schedule(with(any(Runnable.class)), oneOf(scheduler).schedule(with(any(Runnable.class)),
with(timePeriodLength - 1), with(MILLISECONDS)); with(timePeriodLength - 1), with(MILLISECONDS));
}}); }});
...@@ -115,10 +115,10 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -115,10 +115,10 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
} }
@Test @Test
public void testKeysAreRotatedWhenAddingContact() throws Exception { public void testKeysAreUpdatedWhenAddingContact() throws Exception {
boolean alice = random.nextBoolean(); boolean alice = random.nextBoolean();
TransportKeys transportKeys = createTransportKeys(999, 0, true); TransportKeys transportKeys = createTransportKeys(999, 0, true);
TransportKeys rotated = createTransportKeys(1000, 0, true); TransportKeys updated = createTransportKeys(1000, 0, true);
Transaction txn = new Transaction(null, false); Transaction txn = new Transaction(null, false);
context.checking(new Expectations() {{ context.checking(new Expectations() {{
...@@ -128,9 +128,9 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -128,9 +128,9 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
// Get the current time (1 ms after start of time period 1000) // Get the current time (1 ms after start of time period 1000)
oneOf(clock).currentTimeMillis(); oneOf(clock).currentTimeMillis();
will(returnValue(timePeriodLength * 1000 + 1)); will(returnValue(timePeriodLength * 1000 + 1));
// Rotate the transport keys // Update the transport keys
oneOf(transportCrypto).updateTransportKeys(transportKeys, 1000); oneOf(transportCrypto).updateTransportKeys(transportKeys, 1000);
will(returnValue(rotated)); will(returnValue(updated));
// Encode the tags (3 sets) // Encode the tags (3 sets)
for (long i = 0; i < REORDERING_WINDOW_SIZE; i++) { for (long i = 0; i < REORDERING_WINDOW_SIZE; i++) {
exactly(3).of(transportCrypto).encodeTag( exactly(3).of(transportCrypto).encodeTag(
...@@ -139,7 +139,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -139,7 +139,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
will(new EncodeTagAction()); will(new EncodeTagAction());
} }
// Save the keys // Save the keys
oneOf(db).addTransportKeys(txn, contactId, rotated); oneOf(db).addTransportKeys(txn, contactId, updated);
will(returnValue(keySetId)); will(returnValue(keySetId));
}}); }});
...@@ -174,7 +174,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -174,7 +174,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
MAX_32_BIT_UNSIGNED + 1, true); MAX_32_BIT_UNSIGNED + 1, true);
Transaction txn = new Transaction(null, false); Transaction txn = new Transaction(null, false);
expectAddContactNoRotation(alice, true, transportKeys, txn); expectAddContactKeysNotUpdated(alice, true, transportKeys, txn);
TransportKeyManager transportKeyManager = new TransportKeyManagerImpl( TransportKeyManager transportKeyManager = new TransportKeyManagerImpl(
db, transportCrypto, dbExecutor, scheduler, clock, transportId, db, transportCrypto, dbExecutor, scheduler, clock, transportId,
...@@ -195,7 +195,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -195,7 +195,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
MAX_32_BIT_UNSIGNED, true); MAX_32_BIT_UNSIGNED, true);
Transaction txn = new Transaction(null, false); Transaction txn = new Transaction(null, false);
expectAddContactNoRotation(alice, true, transportKeys, txn); expectAddContactKeysNotUpdated(alice, true, transportKeys, txn);
context.checking(new Expectations() {{ context.checking(new Expectations() {{
// Increment the stream counter // Increment the stream counter
...@@ -232,7 +232,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -232,7 +232,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
TransportKeys transportKeys = createTransportKeys(1000, 0, active); TransportKeys transportKeys = createTransportKeys(1000, 0, active);
Transaction txn = new Transaction(null, false); Transaction txn = new Transaction(null, false);
expectAddContactNoRotation(alice, active, transportKeys, txn); expectAddContactKeysNotUpdated(alice, active, transportKeys, txn);
TransportKeyManager transportKeyManager = new TransportKeyManagerImpl( TransportKeyManager transportKeyManager = new TransportKeyManagerImpl(
db, transportCrypto, dbExecutor, scheduler, clock, transportId, db, transportCrypto, dbExecutor, scheduler, clock, transportId,
...@@ -271,7 +271,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -271,7 +271,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
with(PROTOCOL_VERSION), with(i)); with(PROTOCOL_VERSION), with(i));
will(new EncodeTagAction(tags)); will(new EncodeTagAction(tags));
} }
// Rotate the transport keys (the keys are unaffected) // Updated the transport keys (the keys are unaffected)
oneOf(transportCrypto).updateTransportKeys(transportKeys, 1000); oneOf(transportCrypto).updateTransportKeys(transportKeys, 1000);
will(returnValue(transportKeys)); will(returnValue(transportKeys));
// Save the keys // Save the keys
...@@ -313,11 +313,11 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -313,11 +313,11 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
} }
@Test @Test
public void testKeysAreRotatedToCurrentPeriod() throws Exception { public void testKeysAreUpdatedToCurrentPeriod() throws Exception {
TransportKeys transportKeys = createTransportKeys(1000, 0, true); TransportKeys transportKeys = createTransportKeys(1000, 0, true);
Collection<TransportKeySet> loaded = singletonList( Collection<TransportKeySet> loaded = singletonList(
new TransportKeySet(keySetId, contactId, null, transportKeys)); new TransportKeySet(keySetId, contactId, null, transportKeys));
TransportKeys rotated = createTransportKeys(1001, 0, true); TransportKeys updated = createTransportKeys(1001, 0, true);
Transaction txn = new Transaction(null, false); Transaction txn = new Transaction(null, false);
Transaction txn1 = new Transaction(null, false); Transaction txn1 = new Transaction(null, false);
...@@ -328,7 +328,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -328,7 +328,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
// Load the transport keys // Load the transport keys
oneOf(db).getTransportKeys(txn, transportId); oneOf(db).getTransportKeys(txn, transportId);
will(returnValue(loaded)); will(returnValue(loaded));
// Rotate the transport keys (the keys are unaffected) // Update the transport keys (the keys are unaffected)
oneOf(transportCrypto).updateTransportKeys(transportKeys, 1000); oneOf(transportCrypto).updateTransportKeys(transportKeys, 1000);
will(returnValue(transportKeys)); will(returnValue(transportKeys));
// Encode the tags (3 sets) // Encode the tags (3 sets)
...@@ -338,21 +338,21 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -338,21 +338,21 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
with(PROTOCOL_VERSION), with(i)); with(PROTOCOL_VERSION), with(i));
will(new EncodeTagAction()); will(new EncodeTagAction());
} }
// Schedule key rotation at the start of the next time period // Schedule a key update at the start of the next time period
oneOf(scheduler).schedule(with(any(Runnable.class)), oneOf(scheduler).schedule(with(any(Runnable.class)),
with(timePeriodLength), with(MILLISECONDS)); with(timePeriodLength), with(MILLISECONDS));
will(new RunAction()); will(new RunAction());
oneOf(dbExecutor).execute(with(any(Runnable.class))); oneOf(dbExecutor).execute(with(any(Runnable.class)));
will(new RunAction()); will(new RunAction());
// Start a transaction for key rotation // Start a transaction for updating keys
oneOf(db).transaction(with(false), withDbRunnable(txn1)); oneOf(db).transaction(with(false), withDbRunnable(txn1));
// Get the current time (the start of time period 1001) // Get the current time (the start of time period 1001)
oneOf(clock).currentTimeMillis(); oneOf(clock).currentTimeMillis();
will(returnValue(timePeriodLength * 1001)); will(returnValue(timePeriodLength * 1001));
// Rotate the transport keys // Update the transport keys
oneOf(transportCrypto).updateTransportKeys( oneOf(transportCrypto).updateTransportKeys(
with(any(TransportKeys.class)), with(1001L)); with(any(TransportKeys.class)), with(1001L));
will(returnValue(rotated)); will(returnValue(updated));
// Encode the tags (3 sets) // Encode the tags (3 sets)
for (long i = 0; i < REORDERING_WINDOW_SIZE; i++) { for (long i = 0; i < REORDERING_WINDOW_SIZE; i++) {
exactly(3).of(transportCrypto).encodeTag( exactly(3).of(transportCrypto).encodeTag(
...@@ -360,10 +360,10 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -360,10 +360,10 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
with(PROTOCOL_VERSION), with(i)); with(PROTOCOL_VERSION), with(i));
will(new EncodeTagAction()); will(new EncodeTagAction());
} }
// Save the keys that were rotated // Save the keys that were updated
oneOf(db).updateTransportKeys(txn1, singletonList( oneOf(db).updateTransportKeys(txn1, singletonList(
new TransportKeySet(keySetId, contactId, null, rotated))); new TransportKeySet(keySetId, contactId, null, updated)));
// Schedule key rotation at the start of the next time period // Schedule a key update at the start of the next time period
oneOf(scheduler).schedule(with(any(Runnable.class)), oneOf(scheduler).schedule(with(any(Runnable.class)),
with(timePeriodLength), with(MILLISECONDS)); with(timePeriodLength), with(MILLISECONDS));
}}); }});
...@@ -381,7 +381,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -381,7 +381,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
TransportKeys transportKeys = createTransportKeys(1000, 0, false); TransportKeys transportKeys = createTransportKeys(1000, 0, false);
Transaction txn = new Transaction(null, false); Transaction txn = new Transaction(null, false);
expectAddContactNoRotation(alice, false, transportKeys, txn); expectAddContactKeysNotUpdated(alice, false, transportKeys, txn);
context.checking(new Expectations() {{ context.checking(new Expectations() {{
// Activate the keys // Activate the keys
...@@ -436,7 +436,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -436,7 +436,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
with(PROTOCOL_VERSION), with(i)); with(PROTOCOL_VERSION), with(i));
will(new EncodeTagAction(tags)); will(new EncodeTagAction(tags));
} }
// Rotate the transport keys (the keys are unaffected) // Update the transport keys (the keys are unaffected)
oneOf(transportCrypto).updateTransportKeys(transportKeys, 1000); oneOf(transportCrypto).updateTransportKeys(transportKeys, 1000);
will(returnValue(transportKeys)); will(returnValue(transportKeys));
// Save the keys // Save the keys
...@@ -487,7 +487,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -487,7 +487,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
assertEquals(0L, ctx.getStreamNumber()); assertEquals(0L, ctx.getStreamNumber());
} }
private void expectAddContactNoRotation(boolean alice, boolean active, private void expectAddContactKeysNotUpdated(boolean alice, boolean active,
TransportKeys transportKeys, Transaction txn) throws Exception { TransportKeys transportKeys, Transaction txn) throws Exception {
context.checking(new Expectations() {{ context.checking(new Expectations() {{
oneOf(transportCrypto).deriveRotationKeys(transportId, rootKey, oneOf(transportCrypto).deriveRotationKeys(transportId, rootKey,
...@@ -503,7 +503,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { ...@@ -503,7 +503,7 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase {
with(PROTOCOL_VERSION), with(i)); with(PROTOCOL_VERSION), with(i));
will(new EncodeTagAction()); will(new EncodeTagAction());
} }
// Rotate the transport keys (the keys are unaffected) // Upate the transport keys (the keys are unaffected)
oneOf(transportCrypto).updateTransportKeys(transportKeys, 1000); oneOf(transportCrypto).updateTransportKeys(transportKeys, 1000);
will(returnValue(transportKeys)); will(returnValue(transportKeys));
// Save the keys // Save the keys
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment