From: Lennart Poettering Date: Mon, 23 Oct 2023 08:18:41 +0000 (+0200) Subject: tpm2-util: make tpm2_marshal_blob()/tpm2_unmarshal_blob() static X-Git-Tag: v255-rc1~163^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9122edf9070f64b39f59e65a7976d190717e676b;p=thirdparty%2Fsystemd.git tpm2-util: make tpm2_marshal_blob()/tpm2_unmarshal_blob() static These are not used outside of tpm2-util.[ch], and the way they merge public/private key pair into one blob is kinda specific to our implementation, hence better should be hidden away, and not used for new code anyway. --- diff --git a/src/shared/tpm2-util.c b/src/shared/tpm2-util.c index 22e2e2cab89..8f5725c5307 100644 --- a/src/shared/tpm2-util.c +++ b/src/shared/tpm2-util.c @@ -3817,7 +3817,7 @@ int tpm2_tpm2b_public_from_pem(const void *pem, size_t pem_size, TPM2B_PUBLIC *r /* Marshal the public and private objects into a single nonstandard 'blob'. This is not a (publicly) standard * format, this is specific to how we currently store the sealed object. This 'blob' can be unmarshalled by * tpm2_unmarshal_blob(). */ -int tpm2_marshal_blob( +static int tpm2_marshal_blob( const TPM2B_PUBLIC *public, const TPM2B_PRIVATE *private, void **ret_blob, @@ -3856,7 +3856,7 @@ int tpm2_marshal_blob( /* Unmarshal the 'blob' into public and private objects. This is not a (publicly) standard format, this is * specific to how we currently store the sealed object. This expects the 'blob' to have been created by * tpm2_marshal_blob(). */ -int tpm2_unmarshal_blob( +static int tpm2_unmarshal_blob( const void *blob, size_t blob_size, TPM2B_PUBLIC *ret_public, @@ -4109,7 +4109,7 @@ int tpm2_seal(Tpm2Context *c, log_debug("Marshalling private and public part of HMAC key."); _cleanup_free_ void *blob = NULL; - size_t blob_size; + size_t blob_size = 0; r = tpm2_marshal_blob(public, private, &blob, &blob_size); if (r < 0) return log_debug_errno(r, "Could not create sealed blob: %m"); diff --git a/src/shared/tpm2-util.h b/src/shared/tpm2-util.h index c57af8858d3..80629ef9fa6 100644 --- a/src/shared/tpm2-util.h +++ b/src/shared/tpm2-util.h @@ -198,9 +198,6 @@ int tpm2_calculate_policy_authorize(const TPM2B_PUBLIC *public, const TPM2B_DIGE int tpm2_calculate_policy_pcr(const Tpm2PCRValue *pcr_values, size_t n_pcr_values, TPM2B_DIGEST *digest); int tpm2_calculate_sealing_policy(const Tpm2PCRValue *pcr_values, size_t n_pcr_values, const TPM2B_PUBLIC *public, bool use_pin, TPM2B_DIGEST *digest); -int tpm2_marshal_blob(const TPM2B_PUBLIC *public, const TPM2B_PRIVATE *private, void **ret_blob, size_t *ret_blob_size); -int tpm2_unmarshal_blob(const void *blob, size_t blob_size, TPM2B_PUBLIC *ret_public, TPM2B_PRIVATE *ret_private); - int tpm2_get_or_create_srk(Tpm2Context *c, const Tpm2Handle *session, TPM2B_PUBLIC **ret_public, TPM2B_NAME **ret_name, TPM2B_NAME **ret_qname, Tpm2Handle **ret_handle); int tpm2_seal(Tpm2Context *c, uint32_t seal_key_handle, const TPM2B_DIGEST *policy, const char *pin, void **ret_secret, size_t *ret_secret_size, void **ret_blob, size_t *ret_blob_size, uint16_t *ret_primary_alg, void **ret_srk_buf, size_t *ret_srk_buf_size);