diff --git a/src/tpm2/BackwardsCompatibilityObject.c b/src/tpm2/BackwardsCompatibilityObject.c index 63b6319c..411245b0 100644 --- a/src/tpm2/BackwardsCompatibilityObject.c +++ b/src/tpm2/BackwardsCompatibilityObject.c @@ -151,6 +151,20 @@ typedef struct RSA2048_OBJECT MUST_BE(sizeof(RSA2048_OBJECT) == 1896); +TPMI_RH_HIERARCHY ObjectGetHierarchyFromAttributes(OBJECT* object) +{ + if(object->attributes.spsHierarchy) + return TPM_RH_OWNER; + + if(object->attributes.epsHierarchy) + return TPM_RH_ENDORSEMENT; + + if(object->attributes.ppsHierarchy) + return TPM_RH_PLATFORM; + + return TPM_RH_NULL; +} + static void RSA2048_OBJECT_To_OBJECT(OBJECT* dest, const RSA2048_OBJECT* src) { dest->attributes = src->attributes; diff --git a/src/tpm2/BackwardsCompatibilityObject.h b/src/tpm2/BackwardsCompatibilityObject.h index c25b3167..098d7746 100644 --- a/src/tpm2/BackwardsCompatibilityObject.h +++ b/src/tpm2/BackwardsCompatibilityObject.h @@ -46,4 +46,6 @@ TPM_RC RSA2048_OBJECT_Buffer_To_OBJECT(OBJECT* object, BYTE* buffer, INT32 size) TPM_RC RSA3072_OBJECT_Buffer_To_OBJECT(OBJECT* object, BYTE* buffer, INT32 size); UINT32 OBJECT_To_Buffer_As_RSA3072_OBJECT(OBJECT* object, BYTE* buffer, UINT32 size); +TPMI_RH_HIERARCHY ObjectGetHierarchyFromAttributes(OBJECT* object); + #endif /* BACKWARDS_COMPATIBILITY_OBJECT_H */ diff --git a/src/tpm2/Object.c b/src/tpm2/Object.c index 27d2b5d0..89d101b5 100644 --- a/src/tpm2/Object.c +++ b/src/tpm2/Object.c @@ -224,22 +224,7 @@ ObjectGetHierarchy( OBJECT *object // IN :object ) { - if(object->attributes.spsHierarchy) - { - return TPM_RH_OWNER; - } - else if(object->attributes.epsHierarchy) - { - return TPM_RH_ENDORSEMENT; - } - else if(object->attributes.ppsHierarchy) - { - return TPM_RH_PLATFORM; - } - else - { - return TPM_RH_NULL; - } + return ObjectGetHierarchyFromAttributes(object); } /* 8.6.3.11 GetHierarchy() */ /* This function returns the handle of the hierarchy to which a handle belongs. This function is