23#ifndef __SMART_CARD_EDGE_H__
24#define __SMART_CARD_EDGE_H__
26#define EFI_SMART_CARD_EDGE_PROTOCOL_GUID \
28 0xd317f29b, 0xa325, 0x4712, {0x9b, 0xf1, 0xc6, 0x19, 0x54, 0xdc, 0x19, 0x8c} \
36#define SCARD_AID_MAXSIZE 0x0010
40#define SCARD_CSN_SIZE 0x0010
44#define SMART_CARD_EDGE_PROTOCOL_VERSION_1 0x00000100
56#define SC_EDGE_TAG_HEADER 0x0000
60#define SC_EDGE_TAG_CERT 0x0001
64#define SC_EDGE_TAG_KEY_ID 0x0002
68#define SC_EDGE_TAG_KEY_TYPE 0x0003
72#define SC_EDGE_TAG_KEY_SIZE 0x0004
80#define SC_EDGE_L_SIZE_HEADER 1
84#define SC_EDGE_L_SIZE_CERT 2
88#define SC_EDGE_L_SIZE_KEY_ID 1
92#define SC_EDGE_L_SIZE_KEY_TYPE 1
96#define SC_EDGE_L_SIZE_KEY_SIZE 2
103#define SC_EDGE_L_VALUE_HEADER 1
107#define SC_EDGE_L_VALUE_KEY_ID 1
111#define SC_EDGE_L_VALUE_KEY_TYPE 1
115#define SC_EDGE_L_VALUE_KEY_SIZE 2
123#define SC_EDGE_RSA_EXCHANGE 0x01
127#define SC_EDGE_RSA_SIGNATURE 0x02
131#define SC_EDGE_ECDSA_256 0x03
135#define SC_EDGE_ECDSA_384 0x04
139#define SC_EDGE_ECDSA_521 0x05
143#define SC_EDGE_ECDH_256 0x06
147#define SC_EDGE_ECDH_384 0x07
151#define SC_EDGE_ECDH_521 0x08
159#define EFI_PADDING_RSASSA_PKCS1V1P5_GUID \
161 0x9317ec24, 0x7cb0, 0x4d0e, {0x8b, 0x32, 0x2e, 0xd9, 0x20, 0x9c, 0xd8, 0xaf} \
169#define EFI_PADDING_RSASSA_PSS_GUID \
171 0x7b2349e0, 0x522d, 0x4f8e, {0xb9, 0x27, 0x69, 0xd9, 0x7c, 0x9e, 0x79, 0x5f} \
182#define EFI_PADDING_NONE_GUID \
184 0x3629ddb1, 0x228c, 0x452e, {0xb6, 0x16, 0x09, 0xed, 0x31, 0x6a, 0x97, 0x00} \
192#define EFI_PADDING_RSAES_PKCS1V1P5_GUID \
194 0xe1c1d0a9, 0x40b1, 0x4632, {0xbd, 0xcc, 0xd9, 0xd6, 0xe5, 0x29, 0x56, 0x31} \
202#define EFI_PADDING_RSAES_OAEP_GUID \
204 0xc1e63ac4, 0xd0cf, 0x4ce6, {0x83, 0x5b, 0xee, 0xd0, 0xe6, 0xa8, 0xa4, 0x5b} \
UINT64 UINTN
Definition ProcessorBind.h:118
int INT32
Definition ProcessorBind.h:103
unsigned short CHAR16
Definition ProcessorBind.h:105
#define EFIAPI
Definition ProcessorBind.h:172
unsigned int UINT32
Definition ProcessorBind.h:102
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
#define OPTIONAL
Definition Base.h:358
EFI_STATUS(EFIAPI * EFI_SMART_CARD_EDGE_GET_READER_NAME)(IN EFI_SMART_CARD_EDGE_PROTOCOL *This, IN EFI_HANDLE SCardHandle, IN OUT UINTN *ReaderNameLength, OUT CHAR16 *ReaderName OPTIONAL)
Definition SmartCardEdge.h:368
EFI_GUID gEfiSmartCardEdgeProtocolGuid
#define SCARD_AID_MAXSIZE
Definition SmartCardEdge.h:36
EFI_STATUS(EFIAPI * EFI_SMART_CARD_EDGE_GET_CONTEXT)(IN EFI_SMART_CARD_EDGE_PROTOCOL *This, OUT UINTN *NumberAidSupported, IN OUT UINTN *AidTableSize OPTIONAL, OUT SMART_CARD_AID *AidTable OPTIONAL, OUT UINTN *NumberSCPresent, IN OUT UINTN *CsnTableSize OPTIONAL, OUT SMART_CARD_CSN *CsnTable OPTIONAL, OUT UINT32 *VersionScEdgeProtocol OPTIONAL)
Definition SmartCardEdge.h:254
EFI_STATUS(EFIAPI * EFI_SMART_CARD_EDGE_VERIFY_PIN)(IN EFI_SMART_CARD_EDGE_PROTOCOL *This, IN EFI_HANDLE SCardHandle, IN INT32 PinSize, IN UINT8 *PinCode, OUT BOOLEAN *PinResult, OUT UINT32 *RemainingAttempts OPTIONAL)
Definition SmartCardEdge.h:418
EFI_STATUS(EFIAPI * EFI_SMART_CARD_EDGE_GET_CSN)(IN EFI_SMART_CARD_EDGE_PROTOCOL *This, IN EFI_HANDLE SCardHandle, OUT UINT8 Csn[SCARD_CSN_SIZE])
Definition SmartCardEdge.h:341
UINT8 SMART_CARD_CSN[SCARD_CSN_SIZE]
Definition SmartCardEdge.h:49
UINT8 SMART_CARD_AID[SCARD_AID_MAXSIZE]
Definition SmartCardEdge.h:48
EFI_STATUS(EFIAPI * EFI_SMART_CARD_EDGE_GET_PIN_REMAINING)(IN EFI_SMART_CARD_EDGE_PROTOCOL *This, IN EFI_HANDLE SCardHandle, OUT UINT32 *RemainingAttempts)
Definition SmartCardEdge.h:449
#define SCARD_CSN_SIZE
Definition SmartCardEdge.h:40
EFI_STATUS(EFIAPI * EFI_SMART_CARD_EDGE_SIGN_DATA)(IN EFI_SMART_CARD_EDGE_PROTOCOL *This, IN EFI_HANDLE SCardHandle, IN UINTN KeyId, IN UINTN KeyType, IN EFI_GUID *HashAlgorithm, IN EFI_GUID *PaddingMethod, IN UINT8 *HashedData, OUT UINT8 *SignatureData)
Definition SmartCardEdge.h:597
EFI_GUID gEfiPaddingNoneGuid
EFI_GUID gEfiPaddingRsassaPkcs1V1P5Guid
EFI_STATUS(EFIAPI * EFI_SMART_CARD_EDGE_DISCONNECT)(IN EFI_SMART_CARD_EDGE_PROTOCOL *This, IN EFI_HANDLE SCardHandle)
Definition SmartCardEdge.h:320
EFI_STATUS(EFIAPI * EFI_SMART_CARD_EDGE_GET_CREDENTIAL)(IN EFI_SMART_CARD_EDGE_PROTOCOL *This, IN EFI_HANDLE SCardHandle, IN OUT UINTN *CredentialSize, OUT UINT8 *CredentialList OPTIONAL)
Definition SmartCardEdge.h:539
EFI_GUID gEfiPaddingRsassaPssGuid
EFI_GUID gEfiPaddingRsaesOaepGuid
EFI_GUID gEfiPaddingRsaesPkcs1V1P5Guid
EFI_STATUS(EFIAPI * EFI_SMART_CARD_EDGE_BUILD_DH_AGREEMENT)(IN EFI_SMART_CARD_EDGE_PROTOCOL *This, IN EFI_HANDLE SCardHandle, IN UINTN KeyId, IN UINT8 *dataQx, IN UINT8 *dataQy, OUT UINT8 *DHAgreement)
Definition SmartCardEdge.h:711
EFI_STATUS(EFIAPI * EFI_SMART_CARD_EDGE_GET_DATA)(IN EFI_SMART_CARD_EDGE_PROTOCOL *This, IN EFI_HANDLE SCardHandle, IN EFI_GUID *DataId, IN OUT UINTN *DataSize, OUT VOID *Data OPTIONAL)
Definition SmartCardEdge.h:488
EFI_STATUS(EFIAPI * EFI_SMART_CARD_EDGE_CONNECT)(IN EFI_SMART_CARD_EDGE_PROTOCOL *This, OUT EFI_HANDLE *SCardHandle, IN UINT8 *ScardCsn OPTIONAL, OUT UINT8 *ScardAid OPTIONAL)
Definition SmartCardEdge.h:296
EFI_STATUS(EFIAPI * EFI_SMART_CARD_EDGE_DECRYPT_DATA)(IN EFI_SMART_CARD_EDGE_PROTOCOL *This, IN EFI_HANDLE SCardHandle, IN UINTN KeyId, IN EFI_GUID *HashAlgorithm, IN EFI_GUID *PaddingMethod, IN UINTN EncryptedSize, IN UINT8 *EncryptedData, IN OUT UINTN *PlaintextSize, OUT UINT8 *PlaintextData)
Definition SmartCardEdge.h:661
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
VOID * EFI_HANDLE
Definition UefiBaseType.h:37
#define VOID
Definition acefi.h:190
unsigned char BOOLEAN
Definition actypes.h:235
unsigned char UINT8
Definition actypes.h:236
Definition SmartCardEdge.h:724
EFI_SMART_CARD_EDGE_CONNECT Connect
Definition SmartCardEdge.h:726
EFI_SMART_CARD_EDGE_SIGN_DATA SignData
Definition SmartCardEdge.h:734
EFI_SMART_CARD_EDGE_BUILD_DH_AGREEMENT BuildDHAgreement
Definition SmartCardEdge.h:736
EFI_SMART_CARD_EDGE_GET_CSN GetCsn
Definition SmartCardEdge.h:728
EFI_SMART_CARD_EDGE_GET_CREDENTIAL GetCredential
Definition SmartCardEdge.h:733
EFI_SMART_CARD_EDGE_VERIFY_PIN VerifyPin
Definition SmartCardEdge.h:730
EFI_SMART_CARD_EDGE_DECRYPT_DATA DecryptData
Definition SmartCardEdge.h:735
EFI_SMART_CARD_EDGE_GET_PIN_REMAINING GetPinRemaining
Definition SmartCardEdge.h:731
EFI_SMART_CARD_EDGE_GET_CONTEXT GetContext
Definition SmartCardEdge.h:725
EFI_SMART_CARD_EDGE_DISCONNECT Disconnect
Definition SmartCardEdge.h:727
EFI_SMART_CARD_EDGE_GET_DATA GetData
Definition SmartCardEdge.h:732
EFI_SMART_CARD_EDGE_GET_READER_NAME GetReaderName
Definition SmartCardEdge.h:729