mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-05 22:35:06 -05:00
nts: negotiate compliant export of AES-128-GCM-SIV keys
Add client and server support for a new NTS-KE record to negotiate use of the compliant key exporter context with the AES-128-GCM-SIV AEAD as specified here: https://chrony-project.org/doc/spec/nts-compliant-128gcm.html
This commit is contained in:
@@ -88,9 +88,12 @@ prepare_response(NKSN_Instance session, int valid)
|
||||
|
||||
if (random() % 2) {
|
||||
length = random() % (sizeof (data) + 1);
|
||||
TEST_CHECK(NKSN_AddRecord(session, 0, 1000 + random() % 1000, data, length));
|
||||
TEST_CHECK(NKSN_AddRecord(session, 0, 2000 + random() % 1000, data, length));
|
||||
}
|
||||
|
||||
if (random() % 2)
|
||||
TEST_CHECK(NKSN_AddRecord(session, 0, NKE_RECORD_COMPLIANT_128GCM_EXPORT, NULL, 0));
|
||||
|
||||
if (index != 8) {
|
||||
for (i = 0; i < NKE_MAX_COOKIES; i++) {
|
||||
length = (random() % sizeof (data) + 1) / 4 * 4;
|
||||
|
||||
@@ -92,7 +92,7 @@ prepare_request(NKSN_Instance session, int valid)
|
||||
|
||||
if (index == 8) {
|
||||
length = random() % (sizeof (data) + 1);
|
||||
TEST_CHECK(NKSN_AddRecord(session, 1, 1000 + random() % 1000, data, length));
|
||||
TEST_CHECK(NKSN_AddRecord(session, 1, 2000 + random() % 1000, data, length));
|
||||
}
|
||||
|
||||
if (random() % 2) {
|
||||
@@ -106,9 +106,12 @@ prepare_request(NKSN_Instance session, int valid)
|
||||
TEST_CHECK(NKSN_AddRecord(session, 0, NKE_RECORD_NTPV4_PORT_NEGOTIATION, data, length));
|
||||
}
|
||||
|
||||
if (random() % 2)
|
||||
TEST_CHECK(NKSN_AddRecord(session, 0, NKE_RECORD_COMPLIANT_128GCM_EXPORT, NULL, 0));
|
||||
|
||||
if (random() % 2) {
|
||||
length = random() % (sizeof (data) + 1);
|
||||
TEST_CHECK(NKSN_AddRecord(session, 0, 1000 + random() % 1000, data, length));
|
||||
TEST_CHECK(NKSN_AddRecord(session, 0, 2000 + random() % 1000, data, length));
|
||||
}
|
||||
|
||||
TEST_CHECK(NKSN_EndMessage(session));
|
||||
|
||||
Reference in New Issue
Block a user