---
name: "Tspi_Context_GetKeyByPublicInfo"
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_Context_GetKeyByPublicInfo"
---

# Tspi\_Context\_GetKeyByPublicInfo(3)

search the persistent storage for a registered key using the provided public key information

## NAME

Tspi\_Context\_GetKeyByPublicInfo - search the persistent storage for a registered key using the provided public key information

## 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_Context_GetKeyByPublicInfo(TSS_HCONTEXT     hContext,      TSS_FLAG  persistentStorageType,
                                           TSS_ALGORITHM_ID algID,         UINT32    ulPublicInfoLength,
                                           BYTE*            rgbPublicInfo, TSS_HKEY* phKey);
```

## DESCRIPTION

**TSS\_Context\_GetKeyByPublicInfo**  searches the persistent storage for a registered key using the provided public key information and creates a key object initalized according to the found data. On successful completion of the method a handle to the created new key object is returned.

## PARAMETERS

### hContext

The handle of the context object.

### persistentStorageType

Flag indicating the persistent storage the key is registered in.

### algId

This parameter indicates the algorithm of the requested key.

### ulPublicInfoLength

The length of the public key info provided at the parameter rgbPublicInfo.

### rgbPublicInfo

The public key info is provided to identify the key to be look for at the persistent storage. In case algID equals to TSS\_ALG\_RSA this prameter contains the modulus of the public RSA key.

### hKey

Recieves the handle of the key object representing the key. In case the key hasn't been found, this value will be NULL.

## RETURN CODES

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

- TSS\_E\_INVALID\_HANDLE - *hContext* is an invalid handle.

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

  ## CONFORMING TO

**Tspi\_Context\_GetKeyByPublicInfo** conforms to the Trusted Computing Group Software Specification version 1.1 Golden

## SEE ALSO

[**Tspi\_Context\_LoadKeyByUUID**(3)](/Tspi_Context_LoadKeyByUUID/3.md).
