mirror of
https://github.com/tianocore/edk2
synced 2026-08-27 00:23:19 -04:00
Added BaseCryptLib's mock library for google test so one can make google test drives consuming it Signed-off-by: Paddy Deng <PaddyDeng@ami.com>
1754 lines
33 KiB
C
1754 lines
33 KiB
C
/** @file MockBaseCryptLib.h
|
|
Google Test mocks for BaseCryptLib
|
|
|
|
Copyright (c) Microsoft Corporation.
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
**/
|
|
|
|
#ifndef MOCK_BASE_CRYPT_LIB_H_
|
|
#define MOCK_BASE_CRYPT_LIB_H_
|
|
|
|
#include <Library/GoogleTestLib.h>
|
|
#include <Library/FunctionMockLib.h>
|
|
extern "C" {
|
|
#include <Uefi.h>
|
|
#include <Library/BaseCryptLib.h>
|
|
}
|
|
|
|
struct MockBaseCryptLib {
|
|
MOCK_INTERFACE_DECLARATION (MockBaseCryptLib);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
UINTN,
|
|
Md5GetContextSize,
|
|
(
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Md5Init,
|
|
(
|
|
OUT VOID *Md5Context
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Md5Duplicate,
|
|
(
|
|
IN CONST VOID *Md5Context,
|
|
OUT VOID *NewMd5Context
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Md5Update,
|
|
(
|
|
IN OUT VOID *Md5Context,
|
|
IN CONST VOID *Data,
|
|
IN UINTN DataSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Md5Final,
|
|
(
|
|
IN OUT VOID *Md5Context,
|
|
OUT UINT8 *HashValue
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Md5HashAll,
|
|
(
|
|
IN CONST VOID *Data,
|
|
IN UINTN DataSize,
|
|
OUT UINT8 *HashValue
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
UINTN,
|
|
Sha1GetContextSize,
|
|
(
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha1Init,
|
|
(
|
|
OUT VOID *Sha1Context
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha1Duplicate,
|
|
(
|
|
IN CONST VOID *Sha1Context,
|
|
OUT VOID *NewSha1Context
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha1Update,
|
|
(
|
|
IN OUT VOID *Sha1Context,
|
|
IN CONST VOID *Data,
|
|
IN UINTN DataSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha1Final,
|
|
(
|
|
IN OUT VOID *Sha1Context,
|
|
OUT UINT8 *HashValue
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha1HashAll,
|
|
(
|
|
IN CONST VOID *Data,
|
|
IN UINTN DataSize,
|
|
OUT UINT8 *HashValue
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
UINTN,
|
|
Sha256GetContextSize,
|
|
(
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha256Init,
|
|
(
|
|
OUT VOID *Sha256Context
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha256Duplicate,
|
|
(
|
|
IN CONST VOID *Sha256Context,
|
|
OUT VOID *NewSha256Context
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha256Update,
|
|
(
|
|
IN OUT VOID *Sha256Context,
|
|
IN CONST VOID *Data,
|
|
IN UINTN DataSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha256Final,
|
|
(
|
|
IN OUT VOID *Sha256Context,
|
|
OUT UINT8 *HashValue
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha256HashAll,
|
|
(
|
|
IN CONST VOID *Data,
|
|
IN UINTN DataSize,
|
|
OUT UINT8 *HashValue
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
UINTN,
|
|
Sha384GetContextSize,
|
|
(
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha384Init,
|
|
(
|
|
OUT VOID *Sha384Context
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha384Duplicate,
|
|
(
|
|
IN CONST VOID *Sha384Context,
|
|
OUT VOID *NewSha384Context
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha384Update,
|
|
(
|
|
IN OUT VOID *Sha384Context,
|
|
IN CONST VOID *Data,
|
|
IN UINTN DataSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha384Final,
|
|
(
|
|
IN OUT VOID *Sha384Context,
|
|
OUT UINT8 *HashValue
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha384HashAll,
|
|
(
|
|
IN CONST VOID *Data,
|
|
IN UINTN DataSize,
|
|
OUT UINT8 *HashValue
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
UINTN,
|
|
Sha512GetContextSize,
|
|
(
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha512Init,
|
|
(
|
|
OUT VOID *Sha512Context
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha512Duplicate,
|
|
(
|
|
IN CONST VOID *Sha512Context,
|
|
OUT VOID *NewSha512Context
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha512Update,
|
|
(
|
|
IN OUT VOID *Sha512Context,
|
|
IN CONST VOID *Data,
|
|
IN UINTN DataSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha512Final,
|
|
(
|
|
IN OUT VOID *Sha512Context,
|
|
OUT UINT8 *HashValue
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sha512HashAll,
|
|
(
|
|
IN CONST VOID *Data,
|
|
IN UINTN DataSize,
|
|
OUT UINT8 *HashValue
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
UINTN,
|
|
Sm3GetContextSize,
|
|
(
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sm3Init,
|
|
(
|
|
OUT VOID *Sm3Context
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sm3Duplicate,
|
|
(
|
|
IN CONST VOID *Sm3Context,
|
|
OUT VOID *NewSm3Context
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sm3Update,
|
|
(
|
|
IN OUT VOID *Sm3Context,
|
|
IN CONST VOID *Data,
|
|
IN UINTN DataSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sm3Final,
|
|
(
|
|
IN OUT VOID *Sm3Context,
|
|
OUT UINT8 *HashValue
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Sm3HashAll,
|
|
(
|
|
IN CONST VOID *Data,
|
|
IN UINTN DataSize,
|
|
OUT UINT8 *HashValue
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID *,
|
|
HmacSha256New,
|
|
(
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
HmacSha256Free,
|
|
(
|
|
IN VOID *HmacSha256Ctx
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
HmacSha256SetKey,
|
|
(
|
|
OUT VOID *HmacSha256Context,
|
|
IN CONST UINT8 *Key,
|
|
IN UINTN KeySize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
HmacSha256Duplicate,
|
|
(
|
|
IN CONST VOID *HmacSha256Context,
|
|
OUT VOID *NewHmacSha256Context
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
HmacSha256Update,
|
|
(
|
|
IN OUT VOID *HmacSha256Context,
|
|
IN CONST VOID *Data,
|
|
IN UINTN DataSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
HmacSha256Final,
|
|
(
|
|
IN OUT VOID *HmacSha256Context,
|
|
OUT UINT8 *HmacValue
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
HmacSha256All,
|
|
(
|
|
IN CONST VOID *Data,
|
|
IN UINTN DataSize,
|
|
IN CONST UINT8 *Key,
|
|
IN UINTN KeySize,
|
|
OUT UINT8 *HmacValue
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID *,
|
|
HmacSha384New,
|
|
(
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
HmacSha384Free,
|
|
(
|
|
IN VOID *HmacSha384Ctx
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
HmacSha384SetKey,
|
|
(
|
|
OUT VOID *HmacSha384Context,
|
|
IN CONST UINT8 *Key,
|
|
IN UINTN KeySize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
HmacSha384Duplicate,
|
|
(
|
|
IN CONST VOID *HmacSha384Context,
|
|
OUT VOID *NewHmacSha384Context
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
HmacSha384Update,
|
|
(
|
|
IN OUT VOID *HmacSha384Context,
|
|
IN CONST VOID *Data,
|
|
IN UINTN DataSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
HmacSha384Final,
|
|
(
|
|
IN OUT VOID *HmacSha384Context,
|
|
OUT UINT8 *HmacValue
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
HmacSha384All,
|
|
(
|
|
IN CONST VOID *Data,
|
|
IN UINTN DataSize,
|
|
IN CONST UINT8 *Key,
|
|
IN UINTN KeySize,
|
|
OUT UINT8 *HmacValue
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
UINTN,
|
|
AesGetContextSize,
|
|
(
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
AesInit,
|
|
(
|
|
OUT VOID *AesContext,
|
|
IN CONST UINT8 *Key,
|
|
IN UINTN KeyLength
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
AesCbcEncrypt,
|
|
(
|
|
IN VOID *AesContext,
|
|
IN CONST UINT8 *Input,
|
|
IN UINTN InputSize,
|
|
IN CONST UINT8 *Ivec,
|
|
OUT UINT8 *Output
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
AesCbcDecrypt,
|
|
(
|
|
IN VOID *AesContext,
|
|
IN CONST UINT8 *Input,
|
|
IN UINTN InputSize,
|
|
IN CONST UINT8 *Ivec,
|
|
OUT UINT8 *Output
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
AeadAesGcmEncrypt,
|
|
(
|
|
IN CONST UINT8 *Key,
|
|
IN UINTN KeySize,
|
|
IN CONST UINT8 *Iv,
|
|
IN UINTN IvSize,
|
|
IN CONST UINT8 *AData,
|
|
IN UINTN ADataSize,
|
|
IN CONST UINT8 *DataIn,
|
|
IN UINTN DataInSize,
|
|
OUT UINT8 *TagOut,
|
|
IN UINTN TagSize,
|
|
OUT UINT8 *DataOut,
|
|
OUT UINTN *DataOutSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
AeadAesGcmDecrypt,
|
|
(
|
|
IN CONST UINT8 *Key,
|
|
IN UINTN KeySize,
|
|
IN CONST UINT8 *Iv,
|
|
IN UINTN IvSize,
|
|
IN CONST UINT8 *AData,
|
|
IN UINTN ADataSize,
|
|
IN CONST UINT8 *DataIn,
|
|
IN UINTN DataInSize,
|
|
IN CONST UINT8 *Tag,
|
|
IN UINTN TagSize,
|
|
OUT UINT8 *DataOut,
|
|
OUT UINTN *DataOutSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID *,
|
|
RsaNew,
|
|
(
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
RsaFree,
|
|
(
|
|
IN VOID *RsaContext
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
RsaSetKey,
|
|
(
|
|
IN OUT VOID *RsaContext,
|
|
IN RSA_KEY_TAG KeyTag,
|
|
IN CONST UINT8 *BigNumber,
|
|
IN UINTN BnSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
RsaGetKey,
|
|
(
|
|
IN OUT VOID *RsaContext,
|
|
IN RSA_KEY_TAG KeyTag,
|
|
OUT UINT8 *BigNumber,
|
|
IN OUT UINTN *BnSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
RsaGenerateKey,
|
|
(
|
|
IN OUT VOID *RsaContext,
|
|
IN UINTN ModulusLength,
|
|
IN CONST UINT8 *PublicExponent,
|
|
IN UINTN PublicExponentSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
RsaCheckKey,
|
|
(
|
|
IN VOID *RsaContext
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
RsaPkcs1Sign,
|
|
(
|
|
IN VOID *RsaContext,
|
|
IN CONST UINT8 *MessageHash,
|
|
IN UINTN HashSize,
|
|
OUT UINT8 *Signature,
|
|
IN OUT UINTN *SigSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
RsaPkcs1Verify,
|
|
(
|
|
IN VOID *RsaContext,
|
|
IN CONST UINT8 *MessageHash,
|
|
IN UINTN HashSize,
|
|
IN CONST UINT8 *Signature,
|
|
IN UINTN SigSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
RsaPssSign,
|
|
(
|
|
IN VOID *RsaContext,
|
|
IN CONST UINT8 *Message,
|
|
IN UINTN MsgSize,
|
|
IN UINT16 DigestLen,
|
|
IN UINT16 SaltLen,
|
|
OUT UINT8 *Signature,
|
|
IN OUT UINTN *SigSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
RsaPssVerify,
|
|
(
|
|
IN VOID *RsaContext,
|
|
IN CONST UINT8 *Message,
|
|
IN UINTN MsgSize,
|
|
IN CONST UINT8 *Signature,
|
|
IN UINTN SigSize,
|
|
IN UINT16 DigestLen,
|
|
IN UINT16 SaltLen
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
RsaGetPrivateKeyFromPem,
|
|
(
|
|
IN CONST UINT8 *PemData,
|
|
IN UINTN PemSize,
|
|
IN CONST CHAR8 *Password,
|
|
OUT VOID **RsaContext
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
RsaGetPublicKeyFromX509,
|
|
(
|
|
IN CONST UINT8 *Cert,
|
|
IN UINTN CertSize,
|
|
OUT VOID **RsaContext
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
X509GetSubjectName,
|
|
(
|
|
IN CONST UINT8 *Cert,
|
|
IN UINTN CertSize,
|
|
OUT UINT8 *CertSubject,
|
|
IN OUT UINTN *SubjectSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
RETURN_STATUS,
|
|
X509GetCommonName,
|
|
(
|
|
IN CONST UINT8 *Cert,
|
|
IN UINTN CertSize,
|
|
OUT CHAR8 *CommonName OPTIONAL,
|
|
IN OUT UINTN *CommonNameSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
RETURN_STATUS,
|
|
X509GetOrganizationName,
|
|
(
|
|
IN CONST UINT8 *Cert,
|
|
IN UINTN CertSize,
|
|
OUT CHAR8 *NameBuffer OPTIONAL,
|
|
IN OUT UINTN *NameBufferSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
X509VerifyCert,
|
|
(
|
|
IN CONST UINT8 *Cert,
|
|
IN UINTN CertSize,
|
|
IN CONST UINT8 *CACert,
|
|
IN UINTN CACertSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
X509ConstructCertificate,
|
|
(
|
|
IN CONST UINT8 *Cert,
|
|
IN UINTN CertSize,
|
|
OUT UINT8 **SingleX509Cert
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
X509Free,
|
|
(
|
|
IN VOID *X509Cert
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
X509StackFree,
|
|
(
|
|
IN VOID *X509Stack
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
X509GetTBSCert,
|
|
(
|
|
IN CONST UINT8 *Cert,
|
|
IN UINTN CertSize,
|
|
OUT UINT8 **TBSCert,
|
|
OUT UINTN *TBSCertSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Pkcs5HashPassword,
|
|
(
|
|
IN UINTN PasswordLength,
|
|
IN CONST CHAR8 *Password,
|
|
IN UINTN SaltLength,
|
|
IN CONST UINT8 *Salt,
|
|
IN UINTN IterationCount,
|
|
IN UINTN DigestSize,
|
|
IN UINTN KeyLength,
|
|
OUT UINT8 *OutKey
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Pkcs1v2Encrypt,
|
|
(
|
|
IN CONST UINT8 *PublicKey,
|
|
IN UINTN PublicKeySize,
|
|
IN UINT8 *InData,
|
|
IN UINTN InDataSize,
|
|
IN CONST UINT8 *PrngSeed OPTIONAL,
|
|
IN UINTN PrngSeedSize OPTIONAL,
|
|
OUT UINT8 **EncryptedData,
|
|
OUT UINTN *EncryptedDataSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
RsaOaepEncrypt,
|
|
(
|
|
IN VOID *RsaContext,
|
|
IN UINT8 *InData,
|
|
IN UINTN InDataSize,
|
|
IN CONST UINT8 *PrngSeed OPTIONAL,
|
|
IN UINTN PrngSeedSize OPTIONAL,
|
|
IN UINT16 DigestLen OPTIONAL,
|
|
OUT UINT8 **EncryptedData,
|
|
OUT UINTN *EncryptedDataSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Pkcs1v2Decrypt,
|
|
(
|
|
IN CONST UINT8 *PrivateKey,
|
|
IN UINTN PrivateKeySize,
|
|
IN UINT8 *EncryptedData,
|
|
IN UINTN EncryptedDataSize,
|
|
OUT UINT8 **OutData,
|
|
OUT UINTN *OutDataSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
RsaOaepDecrypt,
|
|
(
|
|
IN VOID *RsaContext,
|
|
IN UINT8 *EncryptedData,
|
|
IN UINTN EncryptedDataSize,
|
|
IN UINT16 DigestLen OPTIONAL,
|
|
OUT UINT8 **OutData,
|
|
OUT UINTN *OutDataSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Pkcs7GetSigners,
|
|
(
|
|
IN CONST UINT8 *P7Data,
|
|
IN UINTN P7Length,
|
|
OUT UINT8 **CertStack,
|
|
OUT UINTN *StackLength,
|
|
OUT UINT8 **TrustedCert,
|
|
OUT UINTN *CertLength
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
Pkcs7FreeSigners,
|
|
(
|
|
IN UINT8 *Certs
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Pkcs7GetCertificatesList,
|
|
(
|
|
IN CONST UINT8 *P7Data,
|
|
IN UINTN P7Length,
|
|
OUT UINT8 **SignerChainCerts,
|
|
OUT UINTN *ChainLength,
|
|
OUT UINT8 **UnchainCerts,
|
|
OUT UINTN *UnchainLength
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Pkcs7Sign,
|
|
(
|
|
IN CONST UINT8 *PrivateKey,
|
|
IN UINTN PrivateKeySize,
|
|
IN CONST UINT8 *KeyPassword,
|
|
IN UINT8 *InData,
|
|
IN UINTN InDataSize,
|
|
IN UINT8 *SignCert,
|
|
IN UINT8 *OtherCerts OPTIONAL,
|
|
OUT UINT8 **SignedData,
|
|
OUT UINTN *SignedDataSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Pkcs7Verify,
|
|
(
|
|
IN CONST UINT8 *P7Data,
|
|
IN UINTN P7Length,
|
|
IN CONST UINT8 *TrustedCert,
|
|
IN UINTN CertLength,
|
|
IN CONST UINT8 *InData,
|
|
IN UINTN DataLength
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Pkcs7Encrypt,
|
|
(
|
|
IN UINT8 *X509Stack,
|
|
IN UINT8 *InData,
|
|
IN UINTN InDataSize,
|
|
IN UINT32 CipherNid,
|
|
IN UINT32 Flags,
|
|
OUT UINT8 **ContentInfo,
|
|
OUT UINTN *ContentInfoSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
RETURN_STATUS,
|
|
VerifyEKUsInPkcs7Signature,
|
|
(
|
|
IN CONST UINT8 *Pkcs7Signature,
|
|
IN CONST UINT32 SignatureSize,
|
|
IN CONST CHAR8 *RequiredEKUs[],
|
|
IN CONST UINT32 RequiredEKUsSize,
|
|
IN BOOLEAN RequireAllPresent
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Pkcs7GetAttachedContent,
|
|
(
|
|
IN CONST UINT8 *P7Data,
|
|
IN UINTN P7Length,
|
|
OUT VOID **Content,
|
|
OUT UINTN *ContentSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
AuthenticodeVerify,
|
|
(
|
|
IN CONST UINT8 *AuthData,
|
|
IN UINTN DataSize,
|
|
IN CONST UINT8 *TrustedCert,
|
|
IN UINTN CertSize,
|
|
IN CONST UINT8 *ImageHash,
|
|
IN UINTN HashSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
ImageTimestampVerify,
|
|
(
|
|
IN CONST UINT8 *AuthData,
|
|
IN UINTN DataSize,
|
|
IN CONST UINT8 *TsaCert,
|
|
IN UINTN CertSize,
|
|
OUT EFI_TIME *SigningTime
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
X509GetVersion,
|
|
(
|
|
IN CONST UINT8 *Cert,
|
|
IN UINTN CertSize,
|
|
OUT UINTN *Version
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
X509GetSerialNumber,
|
|
(
|
|
IN CONST UINT8 *Cert,
|
|
IN UINTN CertSize,
|
|
OUT UINT8 *SerialNumber, OPTIONAL
|
|
IN OUT UINTN *SerialNumberSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
X509GetIssuerName,
|
|
(
|
|
IN CONST UINT8 *Cert,
|
|
IN UINTN CertSize,
|
|
OUT UINT8 *CertIssuer,
|
|
IN OUT UINTN *CertIssuerSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
X509GetSignatureAlgorithm,
|
|
(
|
|
IN CONST UINT8 *Cert,
|
|
IN UINTN CertSize,
|
|
OUT UINT8 *Oid, OPTIONAL
|
|
IN OUT UINTN *OidSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
X509GetExtensionData,
|
|
(
|
|
IN CONST UINT8 *Cert,
|
|
IN UINTN CertSize,
|
|
IN CONST UINT8 *Oid,
|
|
IN UINTN OidSize,
|
|
OUT UINT8 *ExtensionData,
|
|
IN OUT UINTN *ExtensionDataSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
X509GetValidity,
|
|
(
|
|
IN CONST UINT8 *Cert,
|
|
IN UINTN CertSize,
|
|
IN UINT8 *From,
|
|
IN OUT UINTN *FromSize,
|
|
IN UINT8 *To,
|
|
IN OUT UINTN *ToSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
X509FormatDateTime,
|
|
(
|
|
IN CONST CHAR8 *DateTimeStr,
|
|
OUT VOID *DateTime,
|
|
IN OUT UINTN *DateTimeSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
INT32,
|
|
X509CompareDateTime,
|
|
(
|
|
IN CONST VOID *DateTime1,
|
|
IN CONST VOID *DateTime2
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
X509GetKeyUsage,
|
|
(
|
|
IN CONST UINT8 *Cert,
|
|
IN UINTN CertSize,
|
|
OUT UINTN *Usage
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
X509GetExtendedKeyUsage,
|
|
(
|
|
IN CONST UINT8 *Cert,
|
|
IN UINTN CertSize,
|
|
OUT UINT8 *Usage,
|
|
IN OUT UINTN *UsageSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
X509VerifyCertChain,
|
|
(
|
|
IN CONST UINT8 *RootCert,
|
|
IN UINTN RootCertLength,
|
|
IN CONST UINT8 *CertChain,
|
|
IN UINTN CertChainLength
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
X509GetCertFromCertChain,
|
|
(
|
|
IN CONST UINT8 *CertChain,
|
|
IN UINTN CertChainLength,
|
|
IN CONST INT32 CertIndex,
|
|
OUT CONST UINT8 **Cert,
|
|
OUT UINTN *CertLength
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
Asn1GetTag,
|
|
(
|
|
IN OUT UINT8 **Ptr,
|
|
IN CONST UINT8 *End,
|
|
OUT UINTN *Length,
|
|
IN UINT32 Tag
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
X509GetExtendedBasicConstraints,
|
|
(
|
|
CONST UINT8 *Cert,
|
|
UINTN CertSize,
|
|
UINT8 *BasicConstraints,
|
|
UINTN *BasicConstraintsSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID *,
|
|
DhNew,
|
|
(
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
DhFree,
|
|
(
|
|
IN VOID *DhContext
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
DhGenerateParameter,
|
|
(
|
|
IN OUT VOID *DhContext,
|
|
IN UINTN Generator,
|
|
IN UINTN PrimeLength,
|
|
OUT UINT8 *Prime
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
DhSetParameter,
|
|
(
|
|
IN OUT VOID *DhContext,
|
|
IN UINTN Generator,
|
|
IN UINTN PrimeLength,
|
|
IN CONST UINT8 *Prime
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
DhGenerateKey,
|
|
(
|
|
IN OUT VOID *DhContext,
|
|
OUT UINT8 *PublicKey,
|
|
IN OUT UINTN *PublicKeySize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
DhComputeKey,
|
|
(
|
|
IN OUT VOID *DhContext,
|
|
IN CONST UINT8 *PeerPublicKey,
|
|
IN UINTN PeerPublicKeySize,
|
|
OUT UINT8 *Key,
|
|
IN OUT UINTN *KeySize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
RandomSeed,
|
|
(
|
|
IN CONST UINT8 *Seed OPTIONAL,
|
|
IN UINTN SeedSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
RandomBytes,
|
|
(
|
|
OUT UINT8 *Output,
|
|
IN UINTN Size
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
HkdfSha256ExtractAndExpand,
|
|
(
|
|
IN CONST UINT8 *Key,
|
|
IN UINTN KeySize,
|
|
IN CONST UINT8 *Salt,
|
|
IN UINTN SaltSize,
|
|
IN CONST UINT8 *Info,
|
|
IN UINTN InfoSize,
|
|
OUT UINT8 *Out,
|
|
IN UINTN OutSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
HkdfSha256Extract,
|
|
(
|
|
IN CONST UINT8 *Key,
|
|
IN UINTN KeySize,
|
|
IN CONST UINT8 *Salt,
|
|
IN UINTN SaltSize,
|
|
OUT UINT8 *PrkOut,
|
|
UINTN PrkOutSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
HkdfSha256Expand,
|
|
(
|
|
IN CONST UINT8 *Prk,
|
|
IN UINTN PrkSize,
|
|
IN CONST UINT8 *Info,
|
|
IN UINTN InfoSize,
|
|
OUT UINT8 *Out,
|
|
IN UINTN OutSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
HkdfSha384ExtractAndExpand,
|
|
(
|
|
IN CONST UINT8 *Key,
|
|
IN UINTN KeySize,
|
|
IN CONST UINT8 *Salt,
|
|
IN UINTN SaltSize,
|
|
IN CONST UINT8 *Info,
|
|
IN UINTN InfoSize,
|
|
OUT UINT8 *Out,
|
|
IN UINTN OutSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
HkdfSha384Extract,
|
|
(
|
|
IN CONST UINT8 *Key,
|
|
IN UINTN KeySize,
|
|
IN CONST UINT8 *Salt,
|
|
IN UINTN SaltSize,
|
|
OUT UINT8 *PrkOut,
|
|
UINTN PrkOutSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
HkdfSha384Expand,
|
|
(
|
|
IN CONST UINT8 *Prk,
|
|
IN UINTN PrkSize,
|
|
IN CONST UINT8 *Info,
|
|
IN UINTN InfoSize,
|
|
OUT UINT8 *Out,
|
|
IN UINTN OutSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID *,
|
|
BigNumInit,
|
|
(
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID *,
|
|
BigNumFromBin,
|
|
(
|
|
IN CONST UINT8 *Buf,
|
|
IN UINTN Len
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
INTN,
|
|
BigNumToBin,
|
|
(
|
|
IN CONST VOID *Bn,
|
|
OUT UINT8 *Buf
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
BigNumFree,
|
|
(
|
|
IN VOID *Bn,
|
|
IN BOOLEAN Clear
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
BigNumAdd,
|
|
(
|
|
IN CONST VOID *BnA,
|
|
IN CONST VOID *BnB,
|
|
OUT VOID *BnRes
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
BigNumSub,
|
|
(
|
|
IN CONST VOID *BnA,
|
|
IN CONST VOID *BnB,
|
|
OUT VOID *BnRes
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
BigNumMod,
|
|
(
|
|
IN CONST VOID *BnA,
|
|
IN CONST VOID *BnB,
|
|
OUT VOID *BnRes
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
BigNumExpMod,
|
|
(
|
|
IN CONST VOID *BnA,
|
|
IN CONST VOID *BnP,
|
|
IN CONST VOID *BnM,
|
|
OUT VOID *BnRes
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
BigNumInverseMod,
|
|
(
|
|
IN CONST VOID *BnA,
|
|
IN CONST VOID *BnM,
|
|
OUT VOID *BnRes
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
BigNumDiv,
|
|
(
|
|
IN CONST VOID *BnA,
|
|
IN CONST VOID *BnB,
|
|
OUT VOID *BnRes
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
BigNumMulMod,
|
|
(
|
|
IN CONST VOID *BnA,
|
|
IN CONST VOID *BnB,
|
|
IN CONST VOID *BnM,
|
|
OUT VOID *BnRes
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
INTN,
|
|
BigNumCmp,
|
|
(
|
|
IN CONST VOID *BnA,
|
|
IN CONST VOID *BnB
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
UINTN,
|
|
BigNumBits,
|
|
(
|
|
IN CONST VOID *Bn
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
UINTN,
|
|
BigNumBytes,
|
|
(
|
|
IN CONST VOID *Bn
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
BigNumIsWord,
|
|
(
|
|
IN CONST VOID *Bn,
|
|
IN UINTN Num
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
BigNumIsOdd,
|
|
(
|
|
IN CONST VOID *Bn
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID *,
|
|
BigNumCopy,
|
|
(
|
|
OUT VOID *BnDst,
|
|
IN CONST VOID *BnSrc
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
CONST VOID *,
|
|
BigNumValueOne,
|
|
(
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
BigNumRShift,
|
|
(
|
|
IN CONST VOID *Bn,
|
|
IN UINTN N,
|
|
OUT VOID *BnRes
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
BigNumConstTime,
|
|
(
|
|
IN VOID *Bn
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
BigNumSqrMod,
|
|
(
|
|
IN CONST VOID *BnA,
|
|
IN CONST VOID *BnM,
|
|
OUT VOID *BnRes
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID *,
|
|
BigNumNewContext,
|
|
(
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
BigNumContextFree,
|
|
(
|
|
IN VOID *BnCtx
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
BigNumSetUint,
|
|
(
|
|
IN VOID *Bn,
|
|
IN UINTN Val
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
BigNumAddMod,
|
|
(
|
|
IN CONST VOID *BnA,
|
|
IN CONST VOID *BnB,
|
|
IN CONST VOID *BnM,
|
|
OUT VOID *BnRes
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID *,
|
|
EcGroupInit,
|
|
(
|
|
IN UINTN CryptoNid
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcGroupGetCurve,
|
|
(
|
|
IN CONST VOID *EcGroup,
|
|
OUT VOID *BnPrime,
|
|
OUT VOID *BnA,
|
|
OUT VOID *BnB,
|
|
IN VOID *BnCtx
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcGroupGetOrder,
|
|
(
|
|
IN VOID *EcGroup,
|
|
OUT VOID *BnOrder
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
EcGroupFree,
|
|
(
|
|
IN VOID *EcGroup
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID *,
|
|
EcPointInit,
|
|
(
|
|
IN CONST VOID *EcGroup
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
EcPointDeInit,
|
|
(
|
|
IN VOID *EcPoint,
|
|
IN BOOLEAN Clear
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcPointGetAffineCoordinates,
|
|
(
|
|
IN CONST VOID *EcGroup,
|
|
IN CONST VOID *EcPoint,
|
|
OUT VOID *BnX,
|
|
OUT VOID *BnY,
|
|
IN VOID *BnCtx
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcPointSetAffineCoordinates,
|
|
(
|
|
IN CONST VOID *EcGroup,
|
|
IN VOID *EcPoint,
|
|
IN CONST VOID *BnX,
|
|
IN CONST VOID *BnY,
|
|
IN VOID *BnCtx
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcPointAdd,
|
|
(
|
|
IN CONST VOID *EcGroup,
|
|
OUT VOID *EcPointResult,
|
|
IN CONST VOID *EcPointA,
|
|
IN CONST VOID *EcPointB,
|
|
IN VOID *BnCtx
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcPointMul,
|
|
(
|
|
IN CONST VOID *EcGroup,
|
|
OUT VOID *EcPointResult,
|
|
IN CONST VOID *EcPoint,
|
|
IN CONST VOID *BnPScalar,
|
|
IN VOID *BnCtx
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcPointInvert,
|
|
(
|
|
IN CONST VOID *EcGroup,
|
|
IN OUT VOID *EcPoint,
|
|
IN VOID *BnCtx
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcPointIsOnCurve,
|
|
(
|
|
IN CONST VOID *EcGroup,
|
|
IN CONST VOID *EcPoint,
|
|
IN VOID *BnCtx
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcPointIsAtInfinity,
|
|
(
|
|
IN CONST VOID *EcGroup,
|
|
IN CONST VOID *EcPoint
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcPointEqual,
|
|
(
|
|
IN CONST VOID *EcGroup,
|
|
IN CONST VOID *EcPointA,
|
|
IN CONST VOID *EcPointB,
|
|
IN VOID *BnCtx
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcPointSetCompressedCoordinates,
|
|
(
|
|
IN CONST VOID *EcGroup,
|
|
IN VOID *EcPoint,
|
|
IN CONST VOID *BnX,
|
|
IN UINT8 YBit,
|
|
IN VOID *BnCtx
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID *,
|
|
EcNewByNid,
|
|
(
|
|
IN UINTN Nid
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
EcFree,
|
|
(
|
|
IN VOID *EcContext
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcGenerateKey,
|
|
(
|
|
IN OUT VOID *EcContext,
|
|
OUT UINT8 *PublicKey,
|
|
IN OUT UINTN *PublicKeySize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcGetPubKey,
|
|
(
|
|
IN OUT VOID *EcContext,
|
|
OUT UINT8 *PublicKey,
|
|
IN OUT UINTN *PublicKeySize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcDhComputeKey,
|
|
(
|
|
IN OUT VOID *EcContext,
|
|
IN CONST UINT8 *PeerPublic,
|
|
IN UINTN PeerPublicSize,
|
|
IN CONST INT32 *CompressFlag,
|
|
OUT UINT8 *Key,
|
|
IN OUT UINTN *KeySize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcGetPrivateKeyFromPem,
|
|
(
|
|
IN CONST UINT8 *PemData,
|
|
IN UINTN PemSize,
|
|
IN CONST CHAR8 *Password,
|
|
OUT VOID **EcContext
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcGetPublicKeyFromX509,
|
|
(
|
|
IN CONST UINT8 *Cert,
|
|
IN UINTN CertSize,
|
|
OUT VOID **EcContext
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcDsaSign,
|
|
(
|
|
IN VOID *EcContext,
|
|
IN UINTN HashNid,
|
|
IN CONST UINT8 *MessageHash,
|
|
IN UINTN HashSize,
|
|
OUT UINT8 *Signature,
|
|
IN OUT UINTN *SigSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
EcDsaVerify,
|
|
(
|
|
IN VOID *EcContext,
|
|
IN UINTN HashNid,
|
|
IN CONST UINT8 *MessageHash,
|
|
IN UINTN HashSize,
|
|
IN CONST UINT8 *Signature,
|
|
IN UINTN SigSize
|
|
)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
EFI_STATUS,
|
|
GetCryptoProviderVersionString,
|
|
(
|
|
OUT CHAR8 *Buffer,
|
|
IN OUT UINTN *BufferSize
|
|
)
|
|
);
|
|
};
|
|
|
|
#endif
|