TSPI_CHANGEAUTHASYM(3)

πŸ’– Tspi_ChangeAuthAsym(3) πŸ’–

okay bestie, welcome to the TCG Software Stack Developer's Reference β€” this one's from the TSS 1.1 era and it's lowkey a glow-up for your object's secret πŸŽ€


✨ NAME ✨

Tspi_ChangeAuthAsym β€” change the authorization data of an entity using asymmetric change protocol.

(it's giving "makeover, but for secrets" πŸ’…)


🌸 SYNOPSIS 🌸

#include <tss/platform.h>
#include <tss/tcpa_defines.h>
#include <tss/tcpa_typedef.h>
#include <tss/tcpa_struct.h>
#include <tss/tss_typedef.h>
#include <tss/tss_structs.h>
#include <tss/tspi.h>

TSS_RESULT Tspi_ChangeAuthAsym(TSS_HOBJECT hObjectToChange, TSS_HOBJECT hParentObject,
                               TSS_HKEY    hIdentKey,       TSS_HPOLICY hNewPolicy);

like, include all seven headers, no skipping, the compiler WILL notice πŸ™ˆ


πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the tea: Tspi_ChangeAuthAsym changes the authorization data (aka the secret) of an entity (aka an object) utilizing the asymmetric change protocol, and then assigns that object to the policy object. Slay.

Every single class that uses secrets provides this method for changing their authorization data β€” so this isn't some niche side quest, it's the standard way. ✨

And here's the iconic part, the main character energy of it all: this method changes the authorization data of an object ensuring that the parent of the object does not get knowledge of the new secret. 🫢 Not even the parent knows. iykyk. No cap.


πŸ‘‘ PARAMETERS πŸ‘‘

hObjectToChange

Handle of the object the authorization data should be changed. it's the glow-up target, fr fr πŸ’–

hParentObject

Handle of the parent object wrapping the object addressed by hObjectToChange.

hIdentKey

Handle of the identity key object required to proof the internally created temporary key. πŸ”‘

hNewPolicy

Handle of the policy object providing the new authorization data. the new secret lives here bestie ✨


πŸ’€ RETURN CODES πŸ’€

Tspi_ChangeAuthAsym returns TSS_SUCCESS on success (periodt πŸ’…), otherwise one of the following values are returned:

  • TSS_E_INVALID_HANDLE β€” Either hObjectToChange, hParentObject, or hIdentKey is an invalid handle. 😭
  • TSS_E_INTERNAL_ERROR β€” An error occurred internal to the TSS. it's not you, it's the TSS πŸ’€

🌈 CONFORMING TO 🌈

Tspi_ChangeAuthAsym conforms to the Trusted Computing Group Software Specification version 1.1 Golden. iconic behavior, honestly ⭐


πŸŽ€ SEE ALSO πŸŽ€

go read that one too, bestie, it's the sibling πŸ¦‹


πŸ’œ that's the whole page! no notes, it ate, and yes you should definitely read the whole thing before you call it.

and that's a wrap, gorgeous β€” this was TSS 1.1, dated 2004-05-26, and yes the date is old enough to be your cool auntie. bye bestie, go change some auth data πŸ’…βœ¨