ODK implementation for license release
PiperOrigin-RevId: 580643396 Change-Id: I588ef20587acc347b510dfb7fd9e372d221100a0
This commit is contained in:
@@ -34,6 +34,16 @@ namespace deserialize {
|
||||
bool CoreLicenseRequestFromMessage(const std::string& oemcrypto_core_message,
|
||||
ODK_LicenseRequest* core_license_request);
|
||||
|
||||
/**
|
||||
* Counterpart (deserializer) of ODK_PrepareCoreReleaseRequest (serializer)
|
||||
*
|
||||
* Parameters:
|
||||
* [in] oemcrypto_core_message
|
||||
* [out] core_license_request
|
||||
*/
|
||||
bool CoreReleaseRequestFromMessage(const std::string& oemcrypto_core_message,
|
||||
ODK_ReleaseRequest* core_release_request);
|
||||
|
||||
/**
|
||||
* Counterpart (deserializer) of ODK_PrepareCoreRenewalRequest (serializer)
|
||||
*
|
||||
|
||||
@@ -44,6 +44,23 @@ bool CreateCoreLicenseResponse(const CoreMessageFeatures& features,
|
||||
const std::string& core_request_sha256,
|
||||
std::string* oemcrypto_core_message);
|
||||
|
||||
/**
|
||||
* Counterpart (serializer) of ODK_ParseLicense (deserializer)
|
||||
* struct-input variant
|
||||
*
|
||||
* Parameters:
|
||||
* [in] features feature support for response message.
|
||||
* [in] core_request
|
||||
* [in] seconds_since_license_requested
|
||||
* [in] seconds_since_first_decrypt
|
||||
* [out] oemcrypto_core_message
|
||||
*/
|
||||
bool CreateCoreReleaseResponse(const CoreMessageFeatures& features,
|
||||
const ODK_ReleaseRequest& core_request,
|
||||
int64_t seconds_since_license_requested,
|
||||
int64_t seconds_since_first_decrypt,
|
||||
std::string* oemcrypto_core_message);
|
||||
|
||||
/**
|
||||
* Counterpart (serializer) of ODK_ParseRenewal (deserializer)
|
||||
*
|
||||
|
||||
@@ -101,6 +101,17 @@ struct ODK_LicenseRequest {
|
||||
ODK_MessageCounter counter_info;
|
||||
};
|
||||
|
||||
/**
|
||||
* Output structure for CoreReleaseRequestFromMessage
|
||||
* Input structure for CreateCoreReleaseResponse
|
||||
*/
|
||||
struct ODK_ReleaseRequest {
|
||||
uint16_t api_minor_version;
|
||||
uint16_t api_major_version;
|
||||
uint32_t nonce;
|
||||
uint32_t session_id;
|
||||
};
|
||||
|
||||
/**
|
||||
* Output structure for CoreRenewalRequestFromMessage
|
||||
* Input structure for CreateCoreRenewalResponse
|
||||
|
||||
@@ -312,7 +312,7 @@ OEMCryptoResult ODK_PrepareCoreLicenseRequest(
|
||||
* @version
|
||||
* This method is new in version 19 of the API.
|
||||
*/
|
||||
OEMCryptoResult ODK_PrepareCoreLicenseRelease(
|
||||
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,
|
||||
|
||||
@@ -19,7 +19,7 @@ extern "C" {
|
||||
#define ODK_MINOR_VERSION 0
|
||||
|
||||
/* ODK Version string. Date changed automatically on each release. */
|
||||
#define ODK_RELEASE_DATE "ODK v19.0 2023-11-07"
|
||||
#define ODK_RELEASE_DATE "ODK v19.0 2023-11-08"
|
||||
|
||||
/* The lowest version number for an ODK message. */
|
||||
#define ODK_FIRST_VERSION 16
|
||||
@@ -289,6 +289,16 @@ typedef struct {
|
||||
OEMCrypto_KeyObject* key_array;
|
||||
} ODK_Packing_ParsedLicense;
|
||||
|
||||
/**
|
||||
* The parsed release structure does not currently contain information from or
|
||||
* about the license message. This struct is a placeholder for future cases
|
||||
* where data may need to be added to the parsed release.
|
||||
* @version
|
||||
* This struct is new in API version 19.
|
||||
*/
|
||||
typedef struct {
|
||||
} ODK_ParsedRelease;
|
||||
|
||||
/**
|
||||
* The parsed provisioning structure contains information from the license
|
||||
* message. The function ODK_ParseProvisioning will fill in the fields of
|
||||
|
||||
Reference in New Issue
Block a user