ODK unit tests for release request
PiperOrigin-RevId: 584427947 Change-Id: I7a131739c5ea0d27c2f9e9c5ecb7b138176ce049
This commit is contained in:
@@ -235,12 +235,12 @@ OEMCryptoResult ODK_PrepareCoreLicenseRequest(
|
||||
|
||||
OEMCryptoResult ODK_PrepareCoreReleaseRequest(
|
||||
uint8_t* message, size_t message_length, size_t* core_message_size,
|
||||
const ODK_NonceValues* nonce_values,
|
||||
const ODK_MessageCounterInfo* counter_info, uint32_t status,
|
||||
ODK_NonceValues* nonce_values, uint32_t status,
|
||||
uint32_t clock_security_level, int64_t seconds_since_license_requested,
|
||||
int64_t seconds_since_first_decrypt) {
|
||||
int64_t seconds_since_first_decrypt, ODK_ClockValues* clock_values,
|
||||
uint64_t system_time_seconds) {
|
||||
if (core_message_size == NULL || nonce_values == NULL ||
|
||||
counter_info == NULL) {
|
||||
clock_values == NULL) {
|
||||
return ODK_ERROR_CORE_MESSAGE;
|
||||
}
|
||||
if (nonce_values->api_major_version >= 19) {
|
||||
@@ -251,8 +251,9 @@ OEMCryptoResult ODK_PrepareCoreReleaseRequest(
|
||||
} else {
|
||||
// If the version is pre 19 when license release isn't supported, create a
|
||||
// license request.
|
||||
return ODK_PrepareCoreLicenseRequest(
|
||||
message, message_length, core_message_size, nonce_values, counter_info);
|
||||
return ODK_PrepareCoreRenewalRequest(message, message_length,
|
||||
core_message_size, nonce_values,
|
||||
clock_values, system_time_seconds);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -521,6 +522,35 @@ OEMCryptoResult ODK_ParseRenewal(const uint8_t* message, size_t message_length,
|
||||
timer_value);
|
||||
}
|
||||
|
||||
OEMCryptoResult ODK_ParseRelease(const uint8_t* message, size_t message_length,
|
||||
size_t core_message_length,
|
||||
ODK_NonceValues* nonce_values,
|
||||
int64_t seconds_since_license_requested,
|
||||
int64_t seconds_since_first_decrypt) {
|
||||
if (message == NULL || nonce_values == NULL) {
|
||||
return ODK_ERROR_CORE_MESSAGE;
|
||||
}
|
||||
|
||||
const OEMCryptoResult err =
|
||||
ODK_ParseCoreHeader(message, message_length, core_message_length,
|
||||
ODK_Release_Response_Type, nonce_values);
|
||||
if (err != OEMCrypto_SUCCESS) {
|
||||
return err;
|
||||
}
|
||||
|
||||
ODK_ReleaseResponse release_response = {0};
|
||||
ODK_Message msg = ODK_Message_Create((uint8_t*)message, message_length);
|
||||
ODK_Message_SetSize(&msg, core_message_length);
|
||||
Unpack_ODK_ReleaseResponse(&msg, &release_response);
|
||||
|
||||
if (ODK_Message_GetStatus(&msg) != MESSAGE_STATUS_OK ||
|
||||
ODK_Message_GetOffset(&msg) != core_message_length) {
|
||||
return ODK_ERROR_CORE_MESSAGE;
|
||||
}
|
||||
|
||||
return OEMCrypto_SUCCESS;
|
||||
}
|
||||
|
||||
OEMCryptoResult ODK_ParseProvisioning(
|
||||
const uint8_t* message, size_t message_length, size_t core_message_length,
|
||||
ODK_NonceValues* nonce_values, const uint8_t* device_id,
|
||||
|
||||
@@ -132,7 +132,7 @@ typedef struct {
|
||||
#define ODK_CORE_MESSAGE_SIZE 20u
|
||||
#define ODK_LICENSE_REQUEST_SIZE 90u
|
||||
#define ODK_LICENSE_REQUEST_SIZE_V17 20u
|
||||
#define ODK_RELEASE_REQUEST_SIZE 90u
|
||||
#define ODK_RELEASE_REQUEST_SIZE 20u
|
||||
#define ODK_RENEWAL_REQUEST_SIZE 28u
|
||||
#define ODK_PROVISIONING_REQUEST_SIZE 94u
|
||||
#define ODK_PROVISIONING_REQUEST_SIZE_V17 88u
|
||||
|
||||
Reference in New Issue
Block a user