OpenCore
1.0.4
OpenCore Bootloader
|
#include "NetworkBootInternal.h"
Go to the source code of this file.
Data Structures | |
struct | CERT_IS_PRESENT_CONTEXT |
Macros | |
#define | TLS_AUTH_CONFIG_VAR_BASE_ATTR (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS) |
Typedefs | |
typedef EFI_STATUS(* | PROCESS_CERT) (IN VOID *Context, IN UINTN CertIndex, IN UINTN CertSize, IN EFI_SIGNATURE_DATA *Cert) |
Functions | |
STATIC EFI_STATUS | ProcessAllCerts (IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN PROCESS_CERT ProcessCert, IN VOID *Context OPTIONAL) |
STATIC EFI_STATUS | LogCert (IN VOID *Context, IN UINTN CertIndex, IN UINTN CertSize, IN EFI_SIGNATURE_DATA *Cert) |
EFI_STATUS | LogInstalledCerts (IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid) |
STATIC EFI_STATUS | CheckCertPresent (IN VOID *VoidContext, IN UINTN CertIndex, IN UINTN CertSize, IN EFI_SIGNATURE_DATA *Cert) |
EFI_STATUS | CertIsPresent (IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN EFI_GUID *OwnerGuid, IN UINTN X509DataSize, IN VOID *X509Data) |
EFI_STATUS | DeleteCertsForOwner (IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN EFI_GUID *OwnerGuid, IN UINTN X509DataSize, IN VOID *X509Data, OUT UINTN *DeletedCount) |
EFI_STATUS | EnrollX509toVariable (IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN EFI_GUID *OwnerGuid, IN UINTN X509DataSize, IN VOID *X509Data) |
Miscellaneous routines for TLS auth config.
Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.
Copyright (c) 2024, Mike Beaton. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file TlsAuthConfigImpl.c.
#define TLS_AUTH_CONFIG_VAR_BASE_ATTR (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS) |
Definition at line 11 of file TlsAuthConfigImpl.c.
typedef EFI_STATUS(* PROCESS_CERT) (IN VOID *Context, IN UINTN CertIndex, IN UINTN CertSize, IN EFI_SIGNATURE_DATA *Cert) |
Definition at line 14 of file TlsAuthConfigImpl.c.
EFI_STATUS CertIsPresent | ( | IN CHAR16 * | VariableName, |
IN EFI_GUID * | VendorGuid, | ||
IN EFI_GUID * | OwnerGuid, | ||
IN UINTN | X509DataSize, | ||
IN VOID * | X509Data ) |
Report whether specified signature is already enrolled for given owner.
[in] | VariableName | Variable name of CA database. |
[in] | VendorGuid | Unique identifier for the CA database vendor. |
[in] | OwnerGuid | Unique identifier for owner of the certificate to be searched for. |
[in] | X509DataSize | Certificate data size. |
[in] | X509Data | Certificate data. |
EFI_SUCCESS | Certificate is already enrolled. |
EFI_OUT_OF_RESOURCES | Could not allocate needed resources. |
Definition at line 219 of file TlsAuthConfigImpl.c.
STATIC EFI_STATUS CheckCertPresent | ( | IN VOID * | VoidContext, |
IN UINTN | CertIndex, | ||
IN UINTN | CertSize, | ||
IN EFI_SIGNATURE_DATA * | Cert ) |
EFI_SUCCESS | Certificate not found; continue processing. |
EFI_ALREADY_STARTED | Certificate found; stop processing. |
Definition at line 181 of file TlsAuthConfigImpl.c.
EFI_STATUS DeleteCertsForOwner | ( | IN CHAR16 * | VariableName, |
IN EFI_GUID * | VendorGuid, | ||
IN EFI_GUID * | OwnerGuid, | ||
IN UINTN | X509DataSize, | ||
IN VOID * | X509Data, | ||
OUT UINTN * | DeletedCount ) |
Delete specific entry or all entries with owner guid from signature database. (Based on original EDK 2 DeleteCert which removes one cert, identified by index.)
[in] | VariableName | The variable name of the signature database. |
[in] | VendorGuid | A unique identifier for the signature database vendor. |
[in] | OwnerGuid | A unique identifier for owner of the certificate(s) to be deleted. |
[in] | X509DataSize | Optional certificate data size. |
[in] | X509Data | Optional certificate data. If non-NULL, delete only specific certificate for owner, if present. If NULL, delete all certificates for owner. |
[in] | DeletedCount | Optional return count of deleted certificates. |
EFI_SUCCESS | Delete signature successfully. |
EFI_OUT_OF_RESOURCES | Could not allocate needed resources. |
Definition at line 259 of file TlsAuthConfigImpl.c.
EFI_STATUS EnrollX509toVariable | ( | IN CHAR16 * | VariableName, |
IN EFI_GUID * | VendorGuid, | ||
IN EFI_GUID * | OwnerGuid, | ||
IN UINTN | X509DataSize, | ||
IN VOID * | X509Data ) |
Enroll a new X509 certificate into Variable.
[in] | VariableName | Variable name of CA database. |
[in] | VendorGuid | Unique identifier for the CA database vendor. |
[in] | OwnerGuid | Unique identifier for owner of the certificate to be installed. |
[in] | X509DataSize | Certificate data size. |
[in] | X509Data | Certificate data. |
EFI_SUCCESS | New X509 is enrolled successfully. |
EFI_OUT_OF_RESOURCES | Could not allocate needed resources. |
Definition at line 433 of file TlsAuthConfigImpl.c.
STATIC EFI_STATUS LogCert | ( | IN VOID * | Context, |
IN UINTN | CertIndex, | ||
IN UINTN | CertSize, | ||
IN EFI_SIGNATURE_DATA * | Cert ) |
EFI_SUCCESS | Continue processing. |
Definition at line 141 of file TlsAuthConfigImpl.c.
EFI_STATUS LogInstalledCerts | ( | IN CHAR16 * | VariableName, |
IN EFI_GUID * | VendorGuid ) |
Log owner GUID of each installed certificate in signature database.
[in] | VariableName | The variable name of the signature database. |
[in] | VendorGuid | A unique identifier for the signature database vendor. |
EFI_SUCCESS | Success. |
Definition at line 161 of file TlsAuthConfigImpl.c.
STATIC EFI_STATUS ProcessAllCerts | ( | IN CHAR16 * | VariableName, |
IN EFI_GUID * | VendorGuid, | ||
IN PROCESS_CERT | ProcessCert, | ||
IN VOID *Context | OPTIONAL ) |
Perform action for all signatures in specified database, with possibility of aborting early.
[in] | VariableName | The variable name of the vendor's signature database. |
[in] | VendorGuid | A unique identifier for the signature database vendor. |
[in] | ProcessCert | The method to call for each certificate. |
[in] | Context | Context for ProcessCert, if required. |
EFI_SUCCESS | Looped over all signatures. |
EFI_OUT_OF_RESOURCES | Could not allocate needed resources. |
Other | Other error or return code from from ProcessCert. |
Definition at line 43 of file TlsAuthConfigImpl.c.