|
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.