TianoCore EDK2 master
Loading...
Searching...
No Matches
CryptPem.c File Reference
#include "InternalCryptLib.h"
#include <mbedtls/pem.h>
#include <mbedtls/pk.h>
#include <mbedtls/rsa.h>
#include <mbedtls/ecp.h>
#include <mbedtls/ecdh.h>
#include <mbedtls/ecdsa.h>

Go to the source code of this file.

Functions

BOOLEAN EFIAPI RsaGetPrivateKeyFromPem (IN CONST UINT8 *PemData, IN UINTN PemSize, IN CONST CHAR8 *Password, OUT VOID **RsaContext)
 
BOOLEAN EFIAPI EcGetPrivateKeyFromPem (IN CONST UINT8 *PemData, IN UINTN PemSize, IN CONST CHAR8 *Password, OUT VOID **EcContext)
 

Detailed Description

PEM (Privacy Enhanced Mail) Format Handler Wrapper Implementation over MbedTLS.

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

Definition in file CryptPem.c.

Function Documentation

◆ EcGetPrivateKeyFromPem()

BOOLEAN EFIAPI EcGetPrivateKeyFromPem ( IN CONST UINT8 *  PemData,
IN UINTN  PemSize,
IN CONST CHAR8 *  Password,
OUT VOID **  EcContext 
)

Retrieve the EC Private Key from the password-protected PEM key data.

Parameters
[in]PemDataPointer to the PEM-encoded key data to be retrieved.
[in]PemSizeSize of the PEM key data in bytes.
[in]PasswordNULL-terminated passphrase used for encrypted PEM key data.
[out]EcContextPointer to new-generated EC DSA context which contain the retrieved EC private key component. Use EcFree() function to free the resource.

If PemData is NULL, then return FALSE. If EcContext is NULL, then return FALSE.

Return values
TRUEEC Private Key was retrieved successfully.
FALSEInvalid PEM key data or incorrect password.

Definition at line 129 of file CryptPem.c.

◆ RsaGetPrivateKeyFromPem()

BOOLEAN EFIAPI RsaGetPrivateKeyFromPem ( IN CONST UINT8 *  PemData,
IN UINTN  PemSize,
IN CONST CHAR8 *  Password,
OUT VOID **  RsaContext 
)

Retrieve the RSA Private Key from the password-protected PEM key data.

Parameters
[in]PemDataPointer to the PEM-encoded key data to be retrieved.
[in]PemSizeSize of the PEM key data in bytes.
[in]PasswordNULL-terminated passphrase used for encrypted PEM key data.
[out]RsaContextPointer to new-generated RSA context which contain the retrieved RSA private key component. Use RsaFree() function to free the resource.

If PemData is NULL, then return FALSE. If RsaContext is NULL, then return FALSE.

Return values
TRUERSA Private Key was retrieved successfully.
FALSEInvalid PEM key data or incorrect password.

Definition at line 36 of file CryptPem.c.