123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794 |
- /** @file
- Defines TLS Library APIs.
- Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #ifndef __TLS_LIB_H__
- #define __TLS_LIB_H__
- /**
- Initializes the OpenSSL library.
- This function registers ciphers and digests used directly and indirectly
- by SSL/TLS, and initializes the readable error messages.
- This function must be called before any other action takes places.
- @retval TRUE The OpenSSL library has been initialized.
- @retval FALSE Failed to initialize the OpenSSL library.
- **/
- BOOLEAN
- EFIAPI
- TlsInitialize (
- VOID
- );
- /**
- Free an allocated SSL_CTX object.
- @param[in] TlsCtx Pointer to the SSL_CTX object to be released.
- **/
- VOID
- EFIAPI
- TlsCtxFree (
- IN VOID *TlsCtx
- );
- /**
- Creates a new SSL_CTX object as framework to establish TLS/SSL enabled
- connections.
- @param[in] MajorVer Major Version of TLS/SSL Protocol.
- @param[in] MinorVer Minor Version of TLS/SSL Protocol.
- @return Pointer to an allocated SSL_CTX object.
- If the creation failed, TlsCtxNew() returns NULL.
- **/
- VOID *
- EFIAPI
- TlsCtxNew (
- IN UINT8 MajorVer,
- IN UINT8 MinorVer
- );
- /**
- Free an allocated TLS object.
- This function removes the TLS object pointed to by Tls and frees up the
- allocated memory. If Tls is NULL, nothing is done.
- @param[in] Tls Pointer to the TLS object to be freed.
- **/
- VOID
- EFIAPI
- TlsFree (
- IN VOID *Tls
- );
- /**
- Create a new TLS object for a connection.
- This function creates a new TLS object for a connection. The new object
- inherits the setting of the underlying context TlsCtx: connection method,
- options, verification setting.
- @param[in] TlsCtx Pointer to the SSL_CTX object.
- @return Pointer to an allocated SSL object.
- If the creation failed, TlsNew() returns NULL.
- **/
- VOID *
- EFIAPI
- TlsNew (
- IN VOID *TlsCtx
- );
- /**
- Checks if the TLS handshake was done.
- This function will check if the specified TLS handshake was done.
- @param[in] Tls Pointer to the TLS object for handshake state checking.
- @retval TRUE The TLS handshake was done.
- @retval FALSE The TLS handshake was not done.
- **/
- BOOLEAN
- EFIAPI
- TlsInHandshake (
- IN VOID *Tls
- );
- /**
- Perform a TLS/SSL handshake.
- This function will perform a TLS/SSL handshake.
- @param[in] Tls Pointer to the TLS object for handshake operation.
- @param[in] BufferIn Pointer to the most recently received TLS Handshake packet.
- @param[in] BufferInSize Packet size in bytes for the most recently received TLS
- Handshake packet.
- @param[out] BufferOut Pointer to the buffer to hold the built packet.
- @param[in, out] BufferOutSize Pointer to the buffer size in bytes. On input, it is
- the buffer size provided by the caller. On output, it
- is the buffer size in fact needed to contain the
- packet.
- @retval EFI_SUCCESS The required TLS packet is built successfully.
- @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
- Tls is NULL.
- BufferIn is NULL but BufferInSize is NOT 0.
- BufferInSize is 0 but BufferIn is NOT NULL.
- BufferOutSize is NULL.
- BufferOut is NULL if *BufferOutSize is not zero.
- @retval EFI_BUFFER_TOO_SMALL BufferOutSize is too small to hold the response packet.
- @retval EFI_ABORTED Something wrong during handshake.
- **/
- EFI_STATUS
- EFIAPI
- TlsDoHandshake (
- IN VOID *Tls,
- IN UINT8 *BufferIn, OPTIONAL
- IN UINTN BufferInSize, OPTIONAL
- OUT UINT8 *BufferOut, OPTIONAL
- IN OUT UINTN *BufferOutSize
- );
- /**
- Handle Alert message recorded in BufferIn. If BufferIn is NULL and BufferInSize is zero,
- TLS session has errors and the response packet needs to be Alert message based on error type.
- @param[in] Tls Pointer to the TLS object for state checking.
- @param[in] BufferIn Pointer to the most recently received TLS Alert packet.
- @param[in] BufferInSize Packet size in bytes for the most recently received TLS
- Alert packet.
- @param[out] BufferOut Pointer to the buffer to hold the built packet.
- @param[in, out] BufferOutSize Pointer to the buffer size in bytes. On input, it is
- the buffer size provided by the caller. On output, it
- is the buffer size in fact needed to contain the
- packet.
- @retval EFI_SUCCESS The required TLS packet is built successfully.
- @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
- Tls is NULL.
- BufferIn is NULL but BufferInSize is NOT 0.
- BufferInSize is 0 but BufferIn is NOT NULL.
- BufferOutSize is NULL.
- BufferOut is NULL if *BufferOutSize is not zero.
- @retval EFI_ABORTED An error occurred.
- @retval EFI_BUFFER_TOO_SMALL BufferOutSize is too small to hold the response packet.
- **/
- EFI_STATUS
- EFIAPI
- TlsHandleAlert (
- IN VOID *Tls,
- IN UINT8 *BufferIn, OPTIONAL
- IN UINTN BufferInSize, OPTIONAL
- OUT UINT8 *BufferOut, OPTIONAL
- IN OUT UINTN *BufferOutSize
- );
- /**
- Build the CloseNotify packet.
- @param[in] Tls Pointer to the TLS object for state checking.
- @param[in, out] Buffer Pointer to the buffer to hold the built packet.
- @param[in, out] BufferSize Pointer to the buffer size in bytes. On input, it is
- the buffer size provided by the caller. On output, it
- is the buffer size in fact needed to contain the
- packet.
- @retval EFI_SUCCESS The required TLS packet is built successfully.
- @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
- Tls is NULL.
- BufferSize is NULL.
- Buffer is NULL if *BufferSize is not zero.
- @retval EFI_BUFFER_TOO_SMALL BufferSize is too small to hold the response packet.
- **/
- EFI_STATUS
- EFIAPI
- TlsCloseNotify (
- IN VOID *Tls,
- IN OUT UINT8 *Buffer,
- IN OUT UINTN *BufferSize
- );
- /**
- Attempts to read bytes from one TLS object and places the data in Buffer.
- This function will attempt to read BufferSize bytes from the TLS object
- and places the data in Buffer.
- @param[in] Tls Pointer to the TLS object.
- @param[in,out] Buffer Pointer to the buffer to store the data.
- @param[in] BufferSize The size of Buffer in bytes.
- @retval >0 The amount of data successfully read from the TLS object.
- @retval <=0 No data was successfully read.
- **/
- INTN
- EFIAPI
- TlsCtrlTrafficOut (
- IN VOID *Tls,
- IN OUT VOID *Buffer,
- IN UINTN BufferSize
- );
- /**
- Attempts to write data from the buffer to TLS object.
- This function will attempt to write BufferSize bytes data from the Buffer
- to the TLS object.
- @param[in] Tls Pointer to the TLS object.
- @param[in] Buffer Pointer to the data buffer.
- @param[in] BufferSize The size of Buffer in bytes.
- @retval >0 The amount of data successfully written to the TLS object.
- @retval <=0 No data was successfully written.
- **/
- INTN
- EFIAPI
- TlsCtrlTrafficIn (
- IN VOID *Tls,
- IN VOID *Buffer,
- IN UINTN BufferSize
- );
- /**
- Attempts to read bytes from the specified TLS connection into the buffer.
- This function tries to read BufferSize bytes data from the specified TLS
- connection into the Buffer.
- @param[in] Tls Pointer to the TLS connection for data reading.
- @param[in,out] Buffer Pointer to the data buffer.
- @param[in] BufferSize The size of Buffer in bytes.
- @retval >0 The read operation was successful, and return value is the
- number of bytes actually read from the TLS connection.
- @retval <=0 The read operation was not successful.
- **/
- INTN
- EFIAPI
- TlsRead (
- IN VOID *Tls,
- IN OUT VOID *Buffer,
- IN UINTN BufferSize
- );
- /**
- Attempts to write data to a TLS connection.
- This function tries to write BufferSize bytes data from the Buffer into the
- specified TLS connection.
- @param[in] Tls Pointer to the TLS connection for data writing.
- @param[in] Buffer Pointer to the data buffer.
- @param[in] BufferSize The size of Buffer in bytes.
- @retval >0 The write operation was successful, and return value is the
- number of bytes actually written to the TLS connection.
- @retval <=0 The write operation was not successful.
- **/
- INTN
- EFIAPI
- TlsWrite (
- IN VOID *Tls,
- IN VOID *Buffer,
- IN UINTN BufferSize
- );
- /**
- Set a new TLS/SSL method for a particular TLS object.
- This function sets a new TLS/SSL method for a particular TLS object.
- @param[in] Tls Pointer to a TLS object.
- @param[in] MajorVer Major Version of TLS/SSL Protocol.
- @param[in] MinorVer Minor Version of TLS/SSL Protocol.
- @retval EFI_SUCCESS The TLS/SSL method was set successfully.
- @retval EFI_INVALID_PARAMETER The parameter is invalid.
- @retval EFI_UNSUPPORTED Unsupported TLS/SSL method.
- **/
- EFI_STATUS
- EFIAPI
- TlsSetVersion (
- IN VOID *Tls,
- IN UINT8 MajorVer,
- IN UINT8 MinorVer
- );
- /**
- Set TLS object to work in client or server mode.
- This function prepares a TLS object to work in client or server mode.
- @param[in] Tls Pointer to a TLS object.
- @param[in] IsServer Work in server mode.
- @retval EFI_SUCCESS The TLS/SSL work mode was set successfully.
- @retval EFI_INVALID_PARAMETER The parameter is invalid.
- @retval EFI_UNSUPPORTED Unsupported TLS/SSL work mode.
- **/
- EFI_STATUS
- EFIAPI
- TlsSetConnectionEnd (
- IN VOID *Tls,
- IN BOOLEAN IsServer
- );
- /**
- Set the ciphers list to be used by the TLS object.
- This function sets the ciphers for use by a specified TLS object.
- @param[in] Tls Pointer to a TLS object.
- @param[in] CipherId Array of UINT16 cipher identifiers. Each UINT16
- cipher identifier comes from the TLS Cipher Suite
- Registry of the IANA, interpreting Byte1 and Byte2
- in network (big endian) byte order.
- @param[in] CipherNum The number of cipher in the list.
- @retval EFI_SUCCESS The ciphers list was set successfully.
- @retval EFI_INVALID_PARAMETER The parameter is invalid.
- @retval EFI_UNSUPPORTED No supported TLS cipher was found in CipherId.
- @retval EFI_OUT_OF_RESOURCES Memory allocation failed.
- **/
- EFI_STATUS
- EFIAPI
- TlsSetCipherList (
- IN VOID *Tls,
- IN UINT16 *CipherId,
- IN UINTN CipherNum
- );
- /**
- Set the compression method for TLS/SSL operations.
- This function handles TLS/SSL integrated compression methods.
- @param[in] CompMethod The compression method ID.
- @retval EFI_SUCCESS The compression method for the communication was
- set successfully.
- @retval EFI_UNSUPPORTED Unsupported compression method.
- **/
- EFI_STATUS
- EFIAPI
- TlsSetCompressionMethod (
- IN UINT8 CompMethod
- );
- /**
- Set peer certificate verification mode for the TLS connection.
- This function sets the verification mode flags for the TLS connection.
- @param[in] Tls Pointer to the TLS object.
- @param[in] VerifyMode A set of logically or'ed verification mode flags.
- **/
- VOID
- EFIAPI
- TlsSetVerify (
- IN VOID *Tls,
- IN UINT32 VerifyMode
- );
- /**
- Sets a TLS/SSL session ID to be used during TLS/SSL connect.
- This function sets a session ID to be used when the TLS/SSL connection is
- to be established.
- @param[in] Tls Pointer to the TLS object.
- @param[in] SessionId Session ID data used for session resumption.
- @param[in] SessionIdLen Length of Session ID in bytes.
- @retval EFI_SUCCESS Session ID was set successfully.
- @retval EFI_INVALID_PARAMETER The parameter is invalid.
- @retval EFI_UNSUPPORTED No available session for ID setting.
- **/
- EFI_STATUS
- EFIAPI
- TlsSetSessionId (
- IN VOID *Tls,
- IN UINT8 *SessionId,
- IN UINT16 SessionIdLen
- );
- /**
- Adds the CA to the cert store when requesting Server or Client authentication.
- This function adds the CA certificate to the list of CAs when requesting
- Server or Client authentication for the chosen TLS connection.
- @param[in] Tls Pointer to the TLS object.
- @param[in] Data Pointer to the data buffer of a DER-encoded binary
- X.509 certificate or PEM-encoded X.509 certificate.
- @param[in] DataSize The size of data buffer in bytes.
- @retval EFI_SUCCESS The operation succeeded.
- @retval EFI_INVALID_PARAMETER The parameter is invalid.
- @retval EFI_OUT_OF_RESOURCES Required resources could not be allocated.
- @retval EFI_ABORTED Invalid X.509 certificate.
- **/
- EFI_STATUS
- EFIAPI
- TlsSetCaCertificate (
- IN VOID *Tls,
- IN VOID *Data,
- IN UINTN DataSize
- );
- /**
- Loads the local public certificate into the specified TLS object.
- This function loads the X.509 certificate into the specified TLS object
- for TLS negotiation.
- @param[in] Tls Pointer to the TLS object.
- @param[in] Data Pointer to the data buffer of a DER-encoded binary
- X.509 certificate or PEM-encoded X.509 certificate.
- @param[in] DataSize The size of data buffer in bytes.
- @retval EFI_SUCCESS The operation succeeded.
- @retval EFI_INVALID_PARAMETER The parameter is invalid.
- @retval EFI_OUT_OF_RESOURCES Required resources could not be allocated.
- @retval EFI_ABORTED Invalid X.509 certificate.
- **/
- EFI_STATUS
- EFIAPI
- TlsSetHostPublicCert (
- IN VOID *Tls,
- IN VOID *Data,
- IN UINTN DataSize
- );
- /**
- Adds the local private key to the specified TLS object.
- This function adds the local private key (PEM-encoded RSA or PKCS#8 private
- key) into the specified TLS object for TLS negotiation.
- @param[in] Tls Pointer to the TLS object.
- @param[in] Data Pointer to the data buffer of a PEM-encoded RSA
- or PKCS#8 private key.
- @param[in] DataSize The size of data buffer in bytes.
- @retval EFI_SUCCESS The operation succeeded.
- @retval EFI_UNSUPPORTED This function is not supported.
- @retval EFI_ABORTED Invalid private key data.
- **/
- EFI_STATUS
- EFIAPI
- TlsSetHostPrivateKey (
- IN VOID *Tls,
- IN VOID *Data,
- IN UINTN DataSize
- );
- /**
- Adds the CA-supplied certificate revocation list for certificate validation.
- This function adds the CA-supplied certificate revocation list data for
- certificate validity checking.
- @param[in] Data Pointer to the data buffer of a DER-encoded CRL data.
- @param[in] DataSize The size of data buffer in bytes.
- @retval EFI_SUCCESS The operation succeeded.
- @retval EFI_UNSUPPORTED This function is not supported.
- @retval EFI_ABORTED Invalid CRL data.
- **/
- EFI_STATUS
- EFIAPI
- TlsSetCertRevocationList (
- IN VOID *Data,
- IN UINTN DataSize
- );
- /**
- Gets the protocol version used by the specified TLS connection.
- This function returns the protocol version used by the specified TLS
- connection.
- If Tls is NULL, then ASSERT().
- @param[in] Tls Pointer to the TLS object.
- @return The protocol version of the specified TLS connection.
- **/
- UINT16
- EFIAPI
- TlsGetVersion (
- IN VOID *Tls
- );
- /**
- Gets the connection end of the specified TLS connection.
- This function returns the connection end (as client or as server) used by
- the specified TLS connection.
- If Tls is NULL, then ASSERT().
- @param[in] Tls Pointer to the TLS object.
- @return The connection end used by the specified TLS connection.
- **/
- UINT8
- EFIAPI
- TlsGetConnectionEnd (
- IN VOID *Tls
- );
- /**
- Gets the cipher suite used by the specified TLS connection.
- This function returns current cipher suite used by the specified
- TLS connection.
- @param[in] Tls Pointer to the TLS object.
- @param[in,out] CipherId The cipher suite used by the TLS object.
- @retval EFI_SUCCESS The cipher suite was returned successfully.
- @retval EFI_INVALID_PARAMETER The parameter is invalid.
- @retval EFI_UNSUPPORTED Unsupported cipher suite.
- **/
- EFI_STATUS
- EFIAPI
- TlsGetCurrentCipher (
- IN VOID *Tls,
- IN OUT UINT16 *CipherId
- );
- /**
- Gets the compression methods used by the specified TLS connection.
- This function returns current integrated compression methods used by
- the specified TLS connection.
- @param[in] Tls Pointer to the TLS object.
- @param[in,out] CompressionId The current compression method used by
- the TLS object.
- @retval EFI_SUCCESS The compression method was returned successfully.
- @retval EFI_INVALID_PARAMETER The parameter is invalid.
- @retval EFI_ABORTED Invalid Compression method.
- @retval EFI_UNSUPPORTED This function is not supported.
- **/
- EFI_STATUS
- EFIAPI
- TlsGetCurrentCompressionId (
- IN VOID *Tls,
- IN OUT UINT8 *CompressionId
- );
- /**
- Gets the verification mode currently set in the TLS connection.
- This function returns the peer verification mode currently set in the
- specified TLS connection.
- If Tls is NULL, then ASSERT().
- @param[in] Tls Pointer to the TLS object.
- @return The verification mode set in the specified TLS connection.
- **/
- UINT32
- EFIAPI
- TlsGetVerify (
- IN VOID *Tls
- );
- /**
- Gets the session ID used by the specified TLS connection.
- This function returns the TLS/SSL session ID currently used by the
- specified TLS connection.
- @param[in] Tls Pointer to the TLS object.
- @param[in,out] SessionId Buffer to contain the returned session ID.
- @param[in,out] SessionIdLen The length of Session ID in bytes.
- @retval EFI_SUCCESS The Session ID was returned successfully.
- @retval EFI_INVALID_PARAMETER The parameter is invalid.
- @retval EFI_UNSUPPORTED Invalid TLS/SSL session.
- **/
- EFI_STATUS
- EFIAPI
- TlsGetSessionId (
- IN VOID *Tls,
- IN OUT UINT8 *SessionId,
- IN OUT UINT16 *SessionIdLen
- );
- /**
- Gets the client random data used in the specified TLS connection.
- This function returns the TLS/SSL client random data currently used in
- the specified TLS connection.
- @param[in] Tls Pointer to the TLS object.
- @param[in,out] ClientRandom Buffer to contain the returned client
- random data (32 bytes).
- **/
- VOID
- EFIAPI
- TlsGetClientRandom (
- IN VOID *Tls,
- IN OUT UINT8 *ClientRandom
- );
- /**
- Gets the server random data used in the specified TLS connection.
- This function returns the TLS/SSL server random data currently used in
- the specified TLS connection.
- @param[in] Tls Pointer to the TLS object.
- @param[in,out] ServerRandom Buffer to contain the returned server
- random data (32 bytes).
- **/
- VOID
- EFIAPI
- TlsGetServerRandom (
- IN VOID *Tls,
- IN OUT UINT8 *ServerRandom
- );
- /**
- Gets the master key data used in the specified TLS connection.
- This function returns the TLS/SSL master key material currently used in
- the specified TLS connection.
- @param[in] Tls Pointer to the TLS object.
- @param[in,out] KeyMaterial Buffer to contain the returned key material.
- @retval EFI_SUCCESS Key material was returned successfully.
- @retval EFI_INVALID_PARAMETER The parameter is invalid.
- @retval EFI_UNSUPPORTED Invalid TLS/SSL session.
- **/
- EFI_STATUS
- EFIAPI
- TlsGetKeyMaterial (
- IN VOID *Tls,
- IN OUT UINT8 *KeyMaterial
- );
- /**
- Gets the CA Certificate from the cert store.
- This function returns the CA certificate for the chosen
- TLS connection.
- @param[in] Tls Pointer to the TLS object.
- @param[out] Data Pointer to the data buffer to receive the CA
- certificate data sent to the client.
- @param[in,out] DataSize The size of data buffer in bytes.
- @retval EFI_SUCCESS The operation succeeded.
- @retval EFI_UNSUPPORTED This function is not supported.
- @retval EFI_BUFFER_TOO_SMALL The Data is too small to hold the data.
- **/
- EFI_STATUS
- EFIAPI
- TlsGetCaCertificate (
- IN VOID *Tls,
- OUT VOID *Data,
- IN OUT UINTN *DataSize
- );
- /**
- Gets the local public Certificate set in the specified TLS object.
- This function returns the local public certificate which was currently set
- in the specified TLS object.
- @param[in] Tls Pointer to the TLS object.
- @param[out] Data Pointer to the data buffer to receive the local
- public certificate.
- @param[in,out] DataSize The size of data buffer in bytes.
- @retval EFI_SUCCESS The operation succeeded.
- @retval EFI_INVALID_PARAMETER The parameter is invalid.
- @retval EFI_NOT_FOUND The certificate is not found.
- @retval EFI_BUFFER_TOO_SMALL The Data is too small to hold the data.
- **/
- EFI_STATUS
- EFIAPI
- TlsGetHostPublicCert (
- IN VOID *Tls,
- OUT VOID *Data,
- IN OUT UINTN *DataSize
- );
- /**
- Gets the local private key set in the specified TLS object.
- This function returns the local private key data which was currently set
- in the specified TLS object.
- @param[in] Tls Pointer to the TLS object.
- @param[out] Data Pointer to the data buffer to receive the local
- private key data.
- @param[in,out] DataSize The size of data buffer in bytes.
- @retval EFI_SUCCESS The operation succeeded.
- @retval EFI_UNSUPPORTED This function is not supported.
- @retval EFI_BUFFER_TOO_SMALL The Data is too small to hold the data.
- **/
- EFI_STATUS
- EFIAPI
- TlsGetHostPrivateKey (
- IN VOID *Tls,
- OUT VOID *Data,
- IN OUT UINTN *DataSize
- );
- /**
- Gets the CA-supplied certificate revocation list data set in the specified
- TLS object.
- This function returns the CA-supplied certificate revocation list data which
- was currently set in the specified TLS object.
- @param[out] Data Pointer to the data buffer to receive the CRL data.
- @param[in,out] DataSize The size of data buffer in bytes.
- @retval EFI_SUCCESS The operation succeeded.
- @retval EFI_UNSUPPORTED This function is not supported.
- @retval EFI_BUFFER_TOO_SMALL The Data is too small to hold the data.
- **/
- EFI_STATUS
- EFIAPI
- TlsGetCertRevocationList (
- OUT VOID *Data,
- IN OUT UINTN *DataSize
- );
- #endif // __TLS_LIB_H__
|