---
name: "Tspi_Data_Seal"
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_Data_Seal"
---

# Tspi\_Data\_Seal(3)

encrypt a data blob in a mannar that is only decryptable by Tspi\_Data\_Unseal on the same system.

## NAME

Tspi\_Data\_Seal - encrypt a data blob in a mannar that is only decryptable by Tspi\_Data\_Unseal on the same system.

## 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\_Data\_Seal(TSS\_HENCDATA** *hEncData***,     TSS\_HKEY** *hEncKey***,**                           **UINT32**       *ulDataLength***, BYTE\***    *rgbDataToSeal***,**                           **TSS\_HPCRS**    *hPcrComposite***);**

## DESCRIPTION

**Tspi\_Data\_Seal** encrypts a data blob in a mannar that is only decryptable by Tspi\_Data\_Unseal on the same system. The data blob is encrypted using a public key operation with the nonmigratable key addressed by the given encryption key object.

## PARAMETERS

### hEncData

Handle of the data object which contains the sealed data on successful completion of the command.

### hEncKey

Handle to the key object addressing the nonmigratable key which is used to encrypt the data.

### ulDataLength

The Length (in bytes) of the rgbDataToSeal parameter.

### rgbDataToSeal

Pointer to memory containing the data to be encrypted.

### hPcrComposite

Handle of the PCR Composite object specifying the PCRs which are part of the sealed data blob. Set to NULL, if the encrypted data should only be bound to the system and PCRs are not of interest.

## RETURN CODES

**Tspi\_Data\_Seal** returns TSS\_SUCCESS on success, otherwise one of the following values are returned: TSS\_E\_INVALID\_HANDLE - One of the following parameters *hEncData*, *hEncKey*, *rgbDataToSeal* is invalid. TSS\_E\_INTERNAL\_ERROR - An error occurred internal to the TSS.

## CONFORMING TO

**Tspi\_Data\_Seal** conforms to the Trusted Computing Group Software Specification version 1.1 Golden

## SEE ALSO

[**Tspi\_Data\_Unseal**(3)](/Tspi_Data_Unseal/3.md).
