XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Variables
TlsConfig.h File Reference

Go to the source code of this file.

Classes

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, OPTIONAL 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.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

Revision Reference:
This Protocol is introduced in UEFI Specification 2.5

Macro Definition Documentation

◆ EFI_TLS_CONFIGURATION_PROTOCOL_GUID

#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

◆ EFI_TLS_CONFIGURATION_GET_DATA

typedef EFI_STATUS(EFIAPI * EFI_TLS_CONFIGURATION_GET_DATA) (IN EFI_TLS_CONFIGURATION_PROTOCOL *This, IN EFI_TLS_CONFIG_DATA_TYPE DataType, IN OUT VOID *Data, OPTIONAL IN OUT UINTN *DataSize)

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.

◆ EFI_TLS_CONFIGURATION_PROTOCOL

◆ EFI_TLS_CONFIGURATION_SET_DATA

typedef EFI_STATUS(EFIAPI * EFI_TLS_CONFIGURATION_SET_DATA) (IN EFI_TLS_CONFIGURATION_PROTOCOL *This, IN EFI_TLS_CONFIG_DATA_TYPE DataType, IN VOID *Data, IN UINTN DataSize)

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

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

◆ gEfiTlsConfigurationProtocolGuid

EFI_GUID gEfiTlsConfigurationProtocolGuid
extern