---
name: "Tspi_TPM_CreateMaintenanceArchive"
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_TPM_CreateMaintenanceArchive"
---

# Tspi\_TPM\_CreateMaintenanceArchive(3)

create the TPM manufacturer specific maintenance archive data.

TCG Software Stack Developer's Reference

## NAME

Tspi\_TPM\_CreateMaintenanceArchive - create the TPM manufacturer specific maintenance archive data.

## 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_TPM_CreateMaintenanceArchive(TSS_HTPM hTPM,                 TSS_BOOL fGenerateRndNumber,
                                             UINT32*  pulRndNumberLength,   BYTE**   prgbRndNumber,
                                             UINT32*  pulArchiveDataLength, BYTE**   prgbArchiveData);
```

## DESCRIPTION

**Tspi\_TPM\_CreateMaintenanceArchive**  creates the TPM Manufacturer specific maintenance archive data. **This command is not currently implemented by any manufacturer**.

## PARAMETERS

### hTPM

The *hTPM* parameter is used to specify the handle of the TPM object.

### fGenerateRndNumber

The *fGenerateRndNumber* parameter determines how the random number is generated. If TRUE, a random number is generated by the TPM and returned. If FALSE, a random number is calculated based on the owner secret.

### pulRndNumberLength

The *pulRndNumberLength* parameter receives the length in bytes of the *prgbRndNumber* parameter. This is 0 if *fGenerateRndNumber* is FALSE.

### prgbRndNumber

The *prgbRndNumber* parameter receives a pointer to the random number data attributes. This is NULL if *fGenerateRndNumber* is FALSE.

### pulArchiveDataLength

The *pulArchiveDataLength* parameter receives the length in bytes of the *prgbArchiveData* parameter.

### prgbArchiveData

The *prgbArchiveData* parameter receives a pointer to the archive data.

## RETURN CODES

**Tspi\_TPM\_CreateMaintenanceArchive** returns TSS\_SUCCESS on success, otherwise one of the following values is returned:

- TSS\_E\_INVALID\_HANDLE

  *hTPM* is not a valid handle.

- TSS\_E\_INTERNAL\_ERROR

  An internal SW error has been detected.

- TSS\_E\_BAD\_PARAMETER

  One or more parameters is bad.

- TSS\_E\_NOTIMPL

  The function is not implemented.

## CONFORMING TO

**Tspi\_TPM\_CreateMaintenanceArchive** conforms to the Trusted Computing Group Software Specification version 1.1 Golden

## SEE ALSO

[**Tspi\_TPM\_KillMaintenanceFeature**(3)](/Tspi_TPM_KillMaintenanceFeature/3.md), [**Tspi\_TPM\_LoadMaintenancePubKey**(3)](/Tspi_TPM_LoadMaintenancePubKey/3.md), [**Tspi\_TPM\_CheckMaintenancePubKey**(3)](/Tspi_TPM_CheckMaintenancePubKey/3.md).
