globalplatform
|
#include "types.h"
Go to the source code of this file.
Data Structures | |
struct | OP201_SECURITY_INFO |
struct | GP211_SECURITY_INFO |
struct | OP201_DAP_BLOCK |
struct | OP201_RECEIPT_DATA |
struct | OP201_KEY_INFORMATION |
struct | GP211_DAP_BLOCK |
struct | GP211_RECEIPT_DATA |
struct | GP211_KEY_INFORMATION |
Macros | |
#define | OP_201 201 |
OpenPlatform specification 2.0.1' mode. | |
#define | GP_211 211 |
GlobalPlatform specification 2.1.1 mode. | |
#define | GP211_SCP01 0x01 |
Secure Channel Protocol '01'. | |
#define | GP211_SCP02 0x02 |
Secure Channel Protocol '02'. | |
#define | GP211_SCP03 0x03 |
Secure Channel Protocol '03'. | |
#define | GP211_SCP01_IMPL_i05 0x05 |
#define | GP211_SCP01_IMPL_i15 0x15 |
#define | GP211_SCP02_IMPL_i44 0x44 |
#define | GP211_SCP02_IMPL_i45 0x45 |
#define | GP211_SCP02_IMPL_i54 0x54 |
#define | GP211_SCP02_IMPL_i55 0x55 |
#define | GP211_SCP02_IMPL_i04 0x04 |
#define | GP211_SCP02_IMPL_i05 0x05 |
#define | GP211_SCP02_IMPL_i0A 0x0A |
#define | GP211_SCP02_IMPL_i0B 0x0B |
#define | GP211_SCP02_IMPL_i14 0x14 |
#define | GP211_SCP02_IMPL_i15 0x15 |
#define | GP211_SCP02_IMPL_i1A 0x1A |
#define | GP211_SCP02_IMPL_i1B 0x1B |
#define | GP211_SCP03_IMPL_i00 0x00 |
#define | GP211_SCP03_IMPL_i10 0x10 |
#define | GP211_SCP03_IMPL_i30 0x30 |
#define | GP211_SCP03_IMPL_i20 0x20 |
#define | GP211_SCP03_IMPL_i60 0x60 |
#define | GP211_SCP03_IMPL_i70 0x70 |
#define | GP211_SCP01_SECURITY_LEVEL_C_DEC_C_MAC 0x03 |
Secure Channel Protocol '01': C-DECRYPTION and C-MAC. | |
#define | GP211_SCP01_SECURITY_LEVEL_C_MAC 0x01 |
Secure Channel Protocol '01': C-MAC. | |
#define | GP211_SCP01_SECURITY_LEVEL_NO_SECURE_MESSAGING 0x00 |
Secure Channel Protocol '01': No secure messaging expected. | |
#define | GP211_SCP02_SECURITY_LEVEL_C_DEC_C_MAC_R_MAC 0x13 |
Secure Channel Protocol '02': C-DECRYPTION, C-MAC and R-MAC. | |
#define | GP211_SCP02_SECURITY_LEVEL_C_MAC_R_MAC 0x11 |
Secure Channel Protocol '02': C-MAC and R-MAC. | |
#define | GP211_SCP02_SECURITY_LEVEL_R_MAC 0x10 |
Secure Channel Protocol '02': R-MAC. Used only with BEGIN R-MAC. | |
#define | GP211_SCP02_SECURITY_LEVEL_C_DEC_C_MAC 0x03 |
Secure Channel Protocol '02': C-DECRYPTION and C-MAC. | |
#define | GP211_SCP02_SECURITY_LEVEL_C_MAC 0x01 |
Secure Channel Protocol '02': C-MAC. | |
#define | GP211_SCP02_SECURITY_LEVEL_NO_SECURE_MESSAGING 0x00 |
Secure Channel Protocol '02': No secure messaging expected. | |
#define | GP211_SCP03_SECURITY_LEVEL_C_DEC_C_MAC 0x03 |
Secure Channel Protocol '03': C-Decryption and C-MAC. | |
#define | GP211_SCP03_SECURITY_LEVEL_C_MAC 0x01 |
Secure Channel Protocol '03': C-MAC. | |
#define | GP211_SCP03_SECURITY_LEVEL_NO_SECURE_MESSAGING 0x00 |
Secure Channel Protocol '03': No secure messaging expected. | |
#define | GP211_SCP03_SECURITY_LEVEL_C_DEC_R_ENC_C_MAC_R_MAC 0x33 |
Secure Channel Protocol '03': C-Decryption, C-MAC, R-MAC and R-Encryption. | |
#define | GP211_SCP03_SECURITY_LEVEL_C_DEC_C_MAC_R_MAC 0x13 |
Secure Channel Protocol '03': C-Decryption, C-MAC and R-MAC. | |
#define | GP211_SCP03_SECURITY_LEVEL_C_DEC_C_MAC_R_ENC_R_MAC 0x33 |
Secure Channel Protocol '03': C-Decryption, C-MAC, R-Encryption and R-MAC. | |
#define | GP211_SCP03_SECURITY_LEVEL_C_MAC_R_MAC 0x11 |
Secure Channel Protocol '03': C-MAC and R-MAC. | |
#define | GP211_SCP03_SECURITY_LEVEL_R_MAC 0x10 |
Secure Channel Protocol '03': R-MAC. Used only with BEGIN R-MAC. | |
#define | GP211_SCP03_SECURITY_LEVEL_R_ENC_R_MAC 0x30 |
Secure Channel Protocol '03': R-Encryption and R-MAC. Used only with BEGIN R-MAC. | |
#define | GP211_KEY_TYPE_RSA_PUB_N 0xA1 |
'A1' RSA Public Key - modulus N component (clear text). | |
#define | GP211_KEY_TYPE_RSA_PUB_E 0xA0 |
'A0' RSA Public Key - public exponent e component (clear text) | |
#define | GP211_KEY_TYPE_RSA_PRIV_N 0xA2 |
''A2' RSA Private Key - modulus N component | |
#define | GP211_KEY_TYPE_RSA_PRIV_D 0xA3 |
''A3' RSA Private Key - private exponent d component | |
#define | GP211_KEY_TYPE_RSA_PRIV_P 0xA4 |
''A4' RSA Private Key - Chinese Remainder P component | |
#define | GP211_KEY_TYPE_RSA_PRIV_Q 0xA5 |
''A5' RSA Private Key - Chinese Remainder Q component | |
#define | GP211_KEY_TYPE_RSA_PRIV_PQ 0xA6 |
''A6' RSA Private Key - Chinese Remainder PQ component | |
#define | GP211_KEY_TYPE_RSA_PRIV_DP1 0xA7 |
''A7' RSA Private Key - Chinese Remainder DP1 component | |
#define | GP211_KEY_TYPE_RSA_PRIV_DQ1 0xA8 |
''A8' RSA Private Key - Chinese Remainder DQ1 component | |
#define | GP211_KEY_TYPE_3DES 0x81 |
Reserved (triple DES). | |
#define | GP211_KEY_TYPE_DES 0x80 |
'80' DES mode (EBC/CBC) implicitly known. | |
#define | GP211_KEY_TYPE_3DES_CBC 0x82 |
'82' Triple DES in CBC mode. | |
#define | GP211_KEY_TYPE_DES_ECB 0x83 |
'83' DES in ECB mode. | |
#define | GP211_KEY_TYPE_DES_CBC 0x84 |
'84' DES in CBC mode. | |
#define | GP211_KEY_TYPE_PSK_TLS 0x85 |
'85' Pre-Shared Key for Transport Layer Security | |
#define | GP211_KEY_TYPE_AES 0x88 |
'88' AES (16, 24, or 32 long keys) | |
#define | OP201_SECURITY_LEVEL_ENC_MAC 0x03 |
Command messages are signed and encrypted. | |
#define | OP201_SECURITY_LEVEL_MAC 0x01 |
Command messages are signed. | |
#define | OP201_SECURITY_LEVEL_PLAIN 0x00 |
Command messages are plain text. | |
#define | OP201_KEY_TYPE_RSA_PUP_N 0xA1 |
'A1' RSA Public Key - modulus N component (clear text). | |
#define | OP201_KEY_TYPE_RSA_PUP_E 0xA0 |
'A0' RSA Public Key - public exponent e component (clear text) | |
#define | OP201_KEY_TYPE_DES 0x80 |
DES (ECB/CBC) key. | |
#define | OP201_KEY_TYPE_DES_ECB 0x81 |
DES ECB. | |
#define | OP201_KEY_TYPE_DES_CBC 0x82 |
DES CBC. | |
Typedefs | |
typedef struct OP201_DAP_BLOCK | OP201_RSA_DAP_BLOCK |
typedef struct OP201_DAP_BLOCK | OP201_3DES_DAP_BLOCK |
typedef struct GP211_DAP_BLOCK | GP211_RSA_DAP_BLOCK |
typedef struct GP211_DAP_BLOCK | GP211_3DES_DAP_BLOCK |
This file contains security related definitions.
#define GP211_SCP01_IMPL_i05 0x05 |
Secure Channel Protocol '01': "i" '05': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, no ICV encryption, 3 Secure Channel Keys
#define GP211_SCP01_IMPL_i15 0x15 |
Secure Channel Protocol '01': "i" '15': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, ICV encryption, 3 Secure Channel Keys
#define GP211_SCP02_IMPL_i04 0x04 |
Secure Channel Protocol '02': "i" '04': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, no ICV encryption, 1 Secure Channel base key, unspecified card challenge generation method
#define GP211_SCP02_IMPL_i05 0x05 |
Secure Channel Protocol '02': "i" '05': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, no ICV encryption, 3 Secure Channel Keys, unspecified card challenge generation method
#define GP211_SCP02_IMPL_i0A 0x0A |
Secure Channel Protocol '02': "i" '0A': Initiation mode implicit, C-MAC on unmodified APDU, ICV set to MAC over AID, no ICV encryption, 1 Secure Channel base key
#define GP211_SCP02_IMPL_i0B 0x0B |
Secure Channel Protocol '02': "i" '0B': Initiation mode implicit, C-MAC on unmodified APDU, ICV set to MAC over AID, no ICV encryption, 3 Secure Channel Keys
#define GP211_SCP02_IMPL_i14 0x14 |
Secure Channel Protocol '02': "i" '14': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, ICV encryption for CMAC session, 1 Secure Channel base key, unspecified card challenge generation method
#define GP211_SCP02_IMPL_i15 0x15 |
Secure Channel Protocol '02': "i" '15': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, ICV encryption for CMAC session, 3 Secure Channel Keys, unspecified card challenge generation method
#define GP211_SCP02_IMPL_i1A 0x1A |
Secure Channel Protocol '02': "i" '1A': Initiation mode implicit, C-MAC on unmodified APDU, ICV set to MAC over AID, ICV encryption for C-MAC session, 1 Secure Channel base key
#define GP211_SCP02_IMPL_i1B 0x1B |
Secure Channel Protocol '02': "i" '1B': Initiation mode implicit, C-MAC on unmodified APDU, ICV set to MAC over AID, ICV encryption for C-MAC session, 3 Secure Channel Keys
#define GP211_SCP02_IMPL_i44 0x44 |
Secure Channel Protocol '02': "i" = '44': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, no ICV encryption, 1 Secure Channel base key, well-known pseudo-random algorithm (card challenge),
#define GP211_SCP02_IMPL_i45 0x45 |
Secure Channel Protocol '02': "i" = '45': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, no ICV encryption, 3 Secure Channel Keys, well-known pseudo-random algorithm (card challenge),
#define GP211_SCP02_IMPL_i54 0x54 |
Secure Channel Protocol '02': "i" = '54': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, ICV encryption for C-MAC session, 1 Secure Channel base key, well-known pseudo-random algorithm (card challenge),
#define GP211_SCP02_IMPL_i55 0x55 |
Secure Channel Protocol '02': "i" = '55': Initiation mode explicit, C-MAC on modified APDU, ICV set to zero, ICV encryption for C-MAC session, 3 Secure Channel Keys, well-known pseudo-random algorithm (card challenge).�
#define GP211_SCP03_IMPL_i00 0x00 |
Secure Channel Protocol '03': "i" '00': Random card challenge, No R-MAC, no R-ENCRYPTION.
#define GP211_SCP03_IMPL_i10 0x10 |
Secure Channel Protocol '03': "i" '10': Pseudo-random card challenge, no R-MAC support, no R-ENCRYPTION support.
#define GP211_SCP03_IMPL_i20 0x20 |
Secure Channel Protocol '03': "i" '20': Random card challenge, R-MAC support, no R-ENCRYPTION support.
#define GP211_SCP03_IMPL_i30 0x30 |
Secure Channel Protocol '03': "i" '30': Pseudo-random card challenge, R-MAC support, no R-ENCRYPTION support.
#define GP211_SCP03_IMPL_i60 0x60 |
Secure Channel Protocol '03': "i" '60': Random card challenge, R-MAC support, R-ENCRYPTION support.
#define GP211_SCP03_IMPL_i70 0x70 |
Secure Channel Protocol '03': "i" '70': Pseudo-random card challenge, R_MAC, support, R-ENCRYPTION support.