---
name: "Tspi_Policy_SetSecret"
section: "3"
platform: "linux"
package: "libtspi-dev"
version: "0.3.15-0.4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Tspi_Policy_SetSecret"
---

# Tspi\_Policy\_SetSecret(3)

set the authorization data of a policy object and define the handling of its retrieval

## NAME

Tspi\_Policy\_SetSecret - set the authorization data of a policy object and define the handling of its retrieval

## 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_Policy_SetSecret(TSS_HPOLICY hPolicy,        TSS_FLAG secretMode,
                                 UINT32      ulSecretLength, BYTE*    rgbSecret);
```

## DESCRIPTION

**TSS\_Policy\_SetSecret**   sets the authorization data for an object. This mthod also defines the handling of its retrieving. There are mand different paths as specified by the secretMode Flag.

## PARAMETERS

### hPolicy

The handle of the policy object.

### secretMode

Flag indicating the policy secret mode to set. Possible values are:\
  **TSS\_SECRET\_MODE\_SHA1** - Secret in the form of 20 bytes of SHA-1 data. The secret will not be touched by the TSP.\
  **TSS\_SECRET\_MODE\_PLAIN** - The data passed in will be hashed by the TSP using SHA-1.\
  **TSS\_SECRET\_MODE\_POPUP** - The TSP will ask for a secret by displaying a GUI pop-up window.\
  **TSS\_SECRET\_MODE\_CALLBACK** - The application will provide a callback function for authorization data.\
  **TSS\_SECRET\_MODE\_NONE** - *ulSecretLen* and *rgbSecret* are ignored and any object requiring auth assigned this policy will return an error.

### ulSecretLength

The length (in bytes) of the rgbSecret parameter.

### rgbSecret

The secret data blob.

## RETURN CODES

**Tspi\_Policy\_SetSecret** returns TSS\_SUCCESS on success, otherwise one of the following values are returned:

- TSS\_E\_INVALID\_HANDLE - hPolicy is an invalid parameter.

  - TSS\_E\_INTERNAL\_ERROR - An error occurred internal to the TSS.

  ## CONFORMING TO

**Tspi\_Policy\_SetSecret** conforms to the Trusted Computing Group Software Specification version 1.1 Golden

## SEE ALSO

[**Tspi\_Policy\_FlushSecret**(3)](/Tspi_Policy_FlushSecret/3.md).
