MdePkg[all]  1.08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
TlsConfig.h File Reference

Data Structures

struct  _EFI_TLS_CONFIGURATION_PROTOCOL
 

Macros

#define EFI_TLS_CONFIGURATION_PROTOCOL_GUID
 

Typedefs

typedef struct
_EFI_TLS_CONFIGURATION_PROTOCOL 
EFI_TLS_CONFIGURATION_PROTOCOL
 
typedef EFI_STATUS(EFIAPIEFI_TLS_CONFIGURATION_SET_DATA )(IN EFI_TLS_CONFIGURATION_PROTOCOL *This, IN EFI_TLS_CONFIG_DATA_TYPE DataType, IN VOID *Data, IN UINTN DataSize)
 
typedef EFI_STATUS(EFIAPIEFI_TLS_CONFIGURATION_GET_DATA )(IN EFI_TLS_CONFIGURATION_PROTOCOL *This, IN EFI_TLS_CONFIG_DATA_TYPE DataType, IN OUT VOID *Data, IN OUT UINTN *DataSize)
 

Enumerations

enum  EFI_TLS_CONFIG_DATA_TYPE {
  EfiTlsConfigDataTypeHostPublicCert, EfiTlsConfigDataTypeHostPrivateKey, EfiTlsConfigDataTypeCACertificate, EfiTlsConfigDataTypeCertRevocationList,
  EfiTlsConfigDataTypeMaximum
}
 

Variables

EFI_GUID gEfiTlsConfigurationProtocolGuid
 

Detailed Description

EFI TLS Configuration Protocol as defined in UEFI 2.5. The EFI TLS Configuration Protocol provides a way to set and get TLS configuration.

Copyright (c) 2016, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Revision Reference:
This Protocol is introduced in UEFI Specification 2.5

Macro Definition Documentation

#define EFI_TLS_CONFIGURATION_PROTOCOL_GUID
Value:
{ \
0x1682fe44, 0xbd7a, 0x4407, { 0xb7, 0xc7, 0xdc, 0xa3, 0x7c, 0xa3, 0x92, 0x2d } \
}

The EFI Configuration protocol provides a way to set and get TLS configuration.

Typedef Documentation

Get TLS configuration data.

The GetData() function gets TLS configuration.

Parameters
[in]ThisPointer to the EFI_TLS_CONFIGURATION_PROTOCOL instance.
[in]DataTypeConfiguration data type.
[in,out]DataPointer to configuration data.
[in,out]DataSizeTotal size of configuration data. On input, it means the size of Data buffer. On output, it means the size of copied Data buffer if EFI_SUCCESS, and means the size of desired Data buffer if EFI_BUFFER_TOO_SMALL.
Return values
EFI_SUCCESSThe TLS configuration data is got successfully.
EFI_INVALID_PARAMETEROne or more of the following conditions is TRUE: This is NULL. DataSize is NULL. Data is NULL if *DataSize is not zero.
EFI_UNSUPPORTEDThe DataType is unsupported.
EFI_NOT_FOUNDThe TLS configuration data is not found.
EFI_BUFFER_TOO_SMALLThe buffer is too small to hold the data.

Set TLS configuration data.

The SetData() function sets TLS configuration to non-volatile storage or volatile storage.

Parameters
[in]ThisPointer to the EFI_TLS_CONFIGURATION_PROTOCOL instance.
[in]DataTypeConfiguration data type.
[in]DataPointer to configuration data.
[in]DataSizeTotal size of configuration data.
Return values
EFI_SUCCESSThe TLS configuration data is set successfully.
EFI_INVALID_PARAMETEROne or more of the following conditions is TRUE: This is NULL. Data is NULL. DataSize is 0.
EFI_UNSUPPORTEDThe DataType is unsupported.
EFI_OUT_OF_RESOURCESRequired system resources could not be allocated.

Enumeration Type Documentation

EFI_TLS_CONFIG_DATA_TYPE

Enumerator
EfiTlsConfigDataTypeHostPublicCert 

Local host configuration data: public certificate data. This data should be DER-encoded binary X.509 certificate or PEM-encoded X.509 certificate.

EfiTlsConfigDataTypeHostPrivateKey 

Local host configuration data: private key data.

EfiTlsConfigDataTypeCACertificate 

CA certificate to verify peer. This data should be PEM-encoded RSA or PKCS#8 private key.

EfiTlsConfigDataTypeCertRevocationList 

CA-supplied Certificate Revocation List data. This data should be DER-encoded CRL data.

EfiTlsConfigDataTypeMaximum 

Variable Documentation

EFI_GUID gEfiTlsConfigurationProtocolGuid