globalplatform
Data Structures | Functions
scp.h File Reference
#include "globalplatform/library.h"
#include "globalplatform/types.h"
#include "globalplatform/error.h"
#include "globalplatform/security.h"
Include dependency graph for scp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  SCP_INITIALIZE_UPDATE_RESPONSE
 
struct  SCP_WRAP_COMMAND_CONTEXT
 

Functions

OPGP_NO_API OPGP_ERROR_STATUS scp_parse_initialize_update_response (BYTE secureChannelProtocol, BYTE *secureChannelProtocolImpl, BYTE securityLevel, PBYTE keyInformationData, PBYTE recvBuffer, DWORD recvBufferLength, SCP_INITIALIZE_UPDATE_RESPONSE *response)
 
OPGP_NO_API OPGP_ERROR_STATUS scp_derive_session_keys_and_verify_card_cryptogram (BYTE secureChannelProtocol, GP211_SECURITY_INFO *secInfo, PBYTE baseKey, PBYTE sEnc, PBYTE sMac, PBYTE dek, DWORD keyLength, PBYTE hostChallenge, const SCP_INITIALIZE_UPDATE_RESPONSE *response)
 
OPGP_NO_API OPGP_ERROR_STATUS scp_prepare_external_authentication (BYTE secureChannelProtocol, GP211_SECURITY_INFO *secInfo, DWORD keyLength, BYTE securityLevel, PBYTE hostChallenge, const SCP_INITIALIZE_UPDATE_RESPONSE *response, PBYTE hostCryptogram, PBYTE mac)
 
OPGP_NO_API OPGP_ERROR_STATUS scp_wrap_command_by_protocol (GP211_SECURITY_INFO *secInfo, PBYTE apduCommand, PBYTE wrappedApduCommand, SCP_WRAP_COMMAND_CONTEXT *context, PBYTE encryption, PDWORD encryptionLength, PBYTE mac)
 
OPGP_NO_API OPGP_ERROR_STATUS scp11a_generate_ephemeral_keypair (BYTE keyParameterReference, PBYTE privateKey, PDWORD privateKeyLength, PBYTE publicKey, PDWORD publicKeyLength)
 
OPGP_NO_API BYTE map_scp11a_key_usage_qualifier (BYTE securityLevel)
 
OPGP_NO_API BYTE map_scp11a_security_level (BYTE keyUsageQualifier)
 
OPGP_NO_API BYTE map_scp11a_scp03_impl (BYTE keyUsageQualifier)
 
OPGP_NO_API DWORD scp11_private_key_length_from_key_parameter_reference (BYTE keyParameterReference)
 
OPGP_NO_API OPGP_ERROR_STATUS extract_scp11_sd_public_key_from_certificate_store (PBYTE certificateStore, DWORD certificateStoreLength, PBYTE sdPublicKey, PDWORD sdPublicKeyLength, BYTE *keyParameterReference)
 
OPGP_NO_API OPGP_ERROR_STATUS parse_scp11_mutual_authentication_response (PBYTE responseData, DWORD responseDataLength, PBYTE sdEphemeralPublicKey, PDWORD sdEphemeralPublicKeyLength, PBYTE receipt, PDWORD receiptLength)
 
OPGP_NO_API OPGP_ERROR_STATUS scp11a_derive_session_keys_and_verify_receipt (GP211_SECURITY_INFO *secInfo, BYTE keyLength, BYTE keyParameterReference, PBYTE oceStaticPrivateKey, DWORD oceStaticPrivateKeyLength, PBYTE sdStaticPublicKey, DWORD sdStaticPublicKeyLength, PBYTE oceEphemeralPrivateKey, DWORD oceEphemeralPrivateKeyLength, PBYTE sdEphemeralPublicKey, DWORD sdEphemeralPublicKeyLength, PBYTE sharedInfo, DWORD sharedInfoLength, PBYTE receiptInput, DWORD receiptInputLength, PBYTE receipt, DWORD receiptLength)
 

Detailed Description

This file contains internal Secure Channel Protocol handling for SCP01/SCP02/SCP03.