35 #ifndef OPGP_GLOBALPLATFORM_H
36 #define OPGP_GLOBALPLATFORM_H
44 #define max(a,b) (((a)>(b))?(a):(b))
47 #define min(a,b) (((a)>(b))?(b):(a))
60 #define APDU_COMMAND_LEN 261
61 #define APDU_RESPONSE_LEN 258
64 static const BYTE OPGP_VISA_DEFAULT_KEY[16] = { 0x40, 0x41, 0x42, 0x43, 0x44,
65 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F };
68 static const BYTE OPGP_GEMXPRESSO_DEFAULT_KEY[16] = { 0x47, 0x45, 0x4d, 0x58,
69 0x50, 0x52, 0x45, 0x53, 0x53, 0x4f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45 };
71 static const BYTE GP211_CARD_MANAGER_AID[7] = { 0xA0, 0x00, 0x00, 0x01, 0x51,
76 static const BYTE GP231_ISD_AID[8] = { 0xA0, 0x00, 0x00, 0x01, 0x51, 0x00, 0x00,
79 static const BYTE GP211_CARD_MANAGER_AID_ALT1[8] = { 0xA0, 0x00, 0x00, 0x00,
80 0x03, 0x00, 0x00, 0x00 };
82 static const BYTE GP211_CARD_MANAGER_AID_ALT2[7] = { 0xA0, 0x00, 0x00, 0x00,
85 static const BYTE GP211_CARD_MANAGER_AID_GEMPLUS[8] = { 0xA0, 0x00, 0x00, 0x00, 0x18, 0x43, 0x4D, 0x00 };
87 #define GP211_LIFE_CYCLE_LOAD_FILE_LOADED 0x01
88 #define GP211_LIFE_CYCLE_CARD_OP_READY 0x01
89 #define GP211_LIFE_CYCLE_CARD_INITIALIZED 0x07
90 #define GP211_LIFE_CYCLE_CARD_SECURED 0x0f
91 #define GP211_LIFE_CYCLE_CARD_LOCKED 0x7f
92 #define GP211_LIFE_CYCLE_CARD_TERMINATED 0xff
93 #define GP211_LIFE_CYCLE_APPLICATION_INSTALLED 0x03
94 #define GP211_LIFE_CYCLE_APPLICATION_SELECTABLE 0x07
95 #define GP211_LIFE_CYCLE_APPLICATION_LOCKED 0x83
96 #define GP211_LIFE_CYCLE_SECURITY_DOMAIN_INSTALLED 0x03
97 #define GP211_LIFE_CYCLE_SECURITY_DOMAIN_SELECTABLE 0x07
98 #define GP211_LIFE_CYCLE_SECURITY_DOMAIN_PERSONALIZED 0x0f
99 #define GP211_LIFE_CYCLE_SECURITY_DOMAIN_LOCKED 0x83
103 #define GP211_MANAGE_CHANNEL_OPEN 0x00
104 #define GP211_MANAGE_CHANNEL_CLOSE 0x80
134 #define GP211_STATUS_APPLICATIONS 0x40
135 #define GP211_STATUS_ISSUER_SECURITY_DOMAIN 0x80
136 #define GP211_STATUS_LOAD_FILES 0x20
137 #define GP211_STATUS_LOAD_FILES_AND_EXECUTABLE_MODULES 0x10
139 #define GP211_STATUS_TYPE_APPLICATIONS 0x40
140 #define GP211_STATUS_TYPE_ISSUER_SECURITY_DOMAIN 0x80
141 #define GP211_STATUS_TYPE_SECURITY_DOMAIN_AND_APPLICATIONS 0x60
143 #define GP211_STATUS_FORMAT_NEW 0x02
144 #define GP211_STATUS_FORMAT_DEPRECATED 0x00
147 #define GP211_KEY_ACCESS_SD_AND_APPS 0x00
148 #define GP211_KEY_ACCESS_SD_ONLY 0x01
149 #define GP211_KEY_ACCESS_APPS_ONLY 0x02
152 #define GP211_KEY_PURPOSE_SCP03 0x0003
153 #define GP211_KEY_PURPOSE_SCP04 0x0004
154 #define GP211_KEY_PURPOSE_SCP10 0x0010
155 #define GP211_KEY_PURPOSE_SCP11 0x0011
156 #define GP211_KEY_PURPOSE_TOKEN_VERIFICATION 0x7000
157 #define GP211_KEY_PURPOSE_RECEIPT_GENERATION 0x7001
158 #define GP211_KEY_PURPOSE_DAP_VERIFICATION 0x7003
159 #define GP211_KEY_PURPOSE_CASD_AND_CONFIDENTIAL_SETUP 0x7004
160 #define GP211_KEY_PURPOSE_CIPHERED_LOAD_FILE 0x7005
164 #define STORE_DATA_ENCRYPTION_NO_INFORMATION 0x00
165 #define STORE_DATA_ENCRYPTION_APPLICATION_DEPENDENT 0x20
166 #define STORE_DATA_ENCRYPTION_RFU 0x40
167 #define STORE_DATA_ENCRYPTION_ENCRYPTED 0x60
169 #define STORE_DATA_FORMAT_NO_INFORMATION 0x00
170 #define STORE_DATA_FORMAT_DGI 0x08
171 #define STORE_DATA_FORMAT_BER_TLV 0x10
172 #define STORE_DATA_FORMAT_RFU 0x18
177 static const BYTE GP211_GET_DATA_ISSUER_IDENTIFICATION_NUMBER[2] = {0x00, 0x42};
178 static const BYTE GP211_GET_DATA_APPLICATION_PROVIDER_IDENTIFICATION_NUMBER[2] = {0x00, 0x42};
179 static const BYTE GP211_GET_DATA_ECKA_CERTIFICATE[2] = {0xBF, 0x21};
180 static const BYTE GP211_GET_DATA_CA_KLOC_KID_KVN[2] = {0x00, 0x83};
181 static const BYTE GP211_GET_DATA_SUPPORTED_CA_KLOC_IDENTIFIERS[2] = {0xFF, 0x33};
182 static const BYTE GP211_GET_DATA_SUPPORTED_CA_KLCC_IDENTIFIERS[2] = {0xFF, 0x34};
184 static const BYTE GP211_GET_DATA_CARD_IMAGE_NUMBER[2] = {0x00, 0x45};
185 static const BYTE GP211_GET_DATA_SECURITY_DOMAIN_IMAGE_NUMBER[2] = {0x00, 0x45};
187 static const BYTE GP211_GET_DATA_ISSUER_SECURITY_DOMAIN_AID[2] = {0x00, 0x4F};
188 static const BYTE GP211_GET_DATA_SECURITY_DOMAIN_AID[2] = {0x00, 0x4F};
189 static const BYTE GP211_GET_DATA_LIST_OF_APPLICATIONS[2] = {0x2F, 0x00};
190 static const BYTE GP211_GET_DATA_EXTENDED_CARD_RESOURCES[2] = {0xFF, 0x21};
192 static const BYTE GP211_GET_DATA_CARD_DATA[2] = {0x00, 0x66};
193 static const BYTE GP211_GET_DATA_SECURITY_DOMAIN_MANAGEMENT_DATA[2] = {0x00, 0x66};
194 static const BYTE GP211_GET_DATA_CARD_CAPABILITY_INFORMATION[2] = {0x00, 0x67};
195 static const BYTE GP211_GET_DATA_SEQUENCE_COUNTER_DEFAULT_KEY_VERSION[2] = {0x00, 0xC1};
196 static const BYTE GP211_GET_DATA_CONFIRMATION_COUNTER[2] = {0x00, 0xC2};
197 static const BYTE GP211_GET_DATA_FREE_EEPROM_MEMORY_SPACE[2] = {0x00, 0xC6};
198 static const BYTE GP211_GET_DATA_FREE_COR_RAM[2] = {0x00, 0xC7};
199 static const BYTE GP211_GET_DATA_DIVERSIFICATION_DATA[2] = {0x00, 0xCF};
205 static const BYTE GP211_GET_DATA_KEY_INFORMATION_TEMPLATE[2] = {0x00, 0xE0};
207 static const BYTE GP211_GET_DATA_CPLC_PERSONALIZATION_DATE[2] = {0x9F, 0x66};
208 static const BYTE GP211_GET_DATA_CPLC_PRE_PERSONALIZATION_DATE[2] = {0x9F, 0x67};
209 static const BYTE GP211_GET_DATA_CPLC_ICC_MANUFACTURER_EMBEDDING_DATE[2] = {0x9F, 0x68};
210 static const BYTE GP211_GET_DATA_CPLC_MODULE_FABRICATOR_PACKAGING_DATE[2] = {0x9F, 0x69};
211 static const BYTE GP211_GET_DATA_CPLC_FABRICATION_DATE_SERIAL_NUMBER_BATCH_IDENTIFIER[2] = {0x9F, 0x6A};
236 static const BYTE GP211_GET_DATA_CPLC_WHOLE_CPLC[2] = {0x9F, 0x7F};
238 static const BYTE GP211_GET_DATA_FCI_DATA[2] = {0xBF, 0x0C};
240 static const BYTE GP211_GET_DATA_PROTOCOL[2] = {0xDF, 0x70};
241 static const BYTE GP211_GET_DATA_ATR_HISTRORICAL_BYTES[2] = {0xDF, 0x71};
243 static const BYTE GP211_GET_DATA_EF_PROD_DATA_INITIALIZATION_FINGERPRINT[2] = {0xDF, 0x76};
244 static const BYTE GP211_GET_DATA_EF_PROD_DATA_INITIALIZATION_DATA[2] = {0xDF, 0x77};
245 static const BYTE GP211_GET_DATA_EF_PROD_DATA_PRODUCTION_KEY_INDEX[2] = {0xDF, 0x78};
246 static const BYTE GP211_GET_DATA_EF_PROD_DATA_PROTOCOL_VERSION[2] = {0xDF, 0x79};
247 static const BYTE GP211_GET_DATA_EF_PROD_DATA_CHECKSUM[2] = {0xDF, 0x7A};
248 static const BYTE GP211_GET_DATA_EF_PROD_DATA_SOFTWARE_VERSION[2] = {0xDF, 0x7B};
249 static const BYTE GP211_GET_DATA_EF_PROD_DATA_RFU[2] = {0xDF, 0x7C};
250 static const BYTE GP211_GET_DATA_EF_PROD_DATA_PROFILE_WITH_PROFILE_VERSION[2] = {0xDF, 0x7D};
251 static const BYTE GP211_GET_DATA_EF_PROD_DATA_LOCATION_MACHINE_DATE_TIME[2] = {0xDF, 0x7E};
253 static const BYTE GP211_GET_DATA_WHOLE_EF_PROD[2] = {0xDF, 0x7F};
255 static const BYTE GP211_GET_DATA_KEY_DIVERSIFICATION[2] = {0x00, 0xCF};
259 static const BYTE OP201_CARD_MANAGER_AID[7] = {0xA0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00};
261 #define OP201_LIFE_CYCLE_LOAD_FILE_LOGICALLY_DELETED 0x00
262 #define OP201_LIFE_CYCLE_LOAD_FILE_LOADED 0x01
263 #define OP201_LIFE_CYCLE_CARD_MANAGER_OP_READY 0x01
264 #define OP201_LIFE_CYCLE_CARD_MANAGER_INITIALIZED 0x07
265 #define OP201_LIFE_CYCLE_CARD_MANAGER_SECURED 0x0f
266 #define OP201_LIFE_CYCLE_CARD_MANAGER_CM_LOCKED 0x7f
267 #define OP201_LIFE_CYCLE_CARD_MANAGER_TERMINATED 0xff
268 #define OP201_LIFE_CYCLE_APPLICATION_LOGICALLY_DELETED 0x00
269 #define OP201_LIFE_CYCLE_APPLICATION_INSTALLED 0x03
270 #define OP201_LIFE_CYCLE_APPLICATION_SELECTABLE 0x07
271 #define OP201_LIFE_CYCLE_APPLICATION_PERSONALIZED 0x0f
272 #define OP201_LIFE_CYCLE_APPLICATION_BLOCKED 0x7f
273 #define OP201_LIFE_CYCLE_APPLICATION_LOCKED 0xff
289 #define OP201_STATUS_APPLICATIONS 0x40
290 #define OP201_STATUS_CARD_MANAGER 0x80
291 #define OP201_STATUS_LOAD_FILES 0x20
295 static const BYTE OP201_GET_DATA_ISSUER_BIN[2] = {0x00, 0x42};
296 static const BYTE OP201_GET_DATA_APPLICATION_PROVIDER_IDENTIFICATION_NUMBER[2] = {0x00, 0x42};
298 static const BYTE OP201_GET_DATA_ISSUER_DATA[2] = {0x00, 0x45};
299 static const BYTE OP201_GET_DATA_SECURITY_DOMAIN_IMAGE_NUMBER[2] = {0x00, 0x45};
301 static const BYTE OP201_GET_DATA_CARD_MANAGER_AID[2] = {0x00, 0x4F};
302 static const BYTE OP201_GET_DATA_SECURITY_DOMAIN_AID[2] = {0x00, 0x4F};
304 static const BYTE OP201_GET_DATA_CARD_RECOGNITION_DATA[2] = {0x00, 0x66};
305 static const BYTE OP201_GET_DATA_SEQUENCE_COUNTER_DEFAULT_KEY_VERSION[2] = {0x00, 0xC1};
306 static const BYTE OP201_GET_DATA_CONFIRMATION_COUNTER[2] = {0x00, 0xC2};
307 static const BYTE OP201_GET_DATA_FREE_EEPROM_MEMORY_SPACE[2] = {0x00, 0xC6};
308 static const BYTE OP201_GET_DATA_FREE_COR_RAM[2] = {0x00, 0xC7};
309 static const BYTE OP201_GET_DATA_DIVERSIFICATION_DATA[2] = {0x00, 0xCF};
315 static const BYTE OP201_GET_DATA_KEY_INFORMATION_TEMPLATE[2] = {0x00, 0xE0};
317 static const BYTE OP201_GET_DATA_CPLC_PERSONALIZATION_DATE[2] = {0x9F, 0x66};
318 static const BYTE OP201_GET_DATA_CPLC_PRE_PERSONALIZATION_DATE[2] = {0x9F, 0x67};
319 static const BYTE OP201_GET_DATA_CPLC_ICC_MANUFACTURER_EMBEDDING_DATE[2] = {0x9F, 0x68};
320 static const BYTE OP201_GET_DATA_CPLC_MODULE_FABRICATOR_PACKAGING_DATE[2] = {0x9F, 0x69};
321 static const BYTE OP201_GET_DATA_CPLC_FABRICATION_DATE_SERIAL_NUMBER_BATCH_IDENTIFIER[2] = {0x9F, 0x6A};
322 static const BYTE OP201_GET_DATA_CPLC_WHOLE_CPLC[2] = {0x9F, 0x7F};
324 static const BYTE OP201_GET_DATA_FCI_DATA[2] = {0xBF, 0x0C};
326 static const BYTE OP201_GET_DATA_PROTOCOL[2] = {0xDF, 0x70};
327 static const BYTE OP201_GET_DATA_ATR_HISTRORICAL_BYTES[2] = {0xDF, 0x71};
329 static const BYTE OP201_GET_DATA_EF_PROD_DATA_INITIALIZATION_FINGERPRINT[2] = {0xDF, 0x76};
330 static const BYTE OP201_GET_DATA_EF_PROD_DATA_INITIALIZATION_DATA[2] = {0xDF, 0x77};
331 static const BYTE OP201_GET_DATA_EF_PROD_DATA_PRODUCTION_KEY_INDEX[2] = {0xDF, 0x78};
332 static const BYTE OP201_GET_DATA_EF_PROD_DATA_PROTOCOL_VERSION[2] = {0xDF, 0x79};
333 static const BYTE OP201_GET_DATA_EF_PROD_DATA_CHECKSUM[2] = {0xDF, 0x7A};
334 static const BYTE OP201_GET_DATA_EF_PROD_DATA_SOFTWARE_VERSION[2] = {0xDF, 0x7B};
335 static const BYTE OP201_GET_DATA_EF_PROD_DATA_RFU[2] = {0xDF, 0x7C};
336 static const BYTE OP201_GET_DATA_EF_PROD_DATA_PROFILE_WITH_PROFILE_VERSION[2] = {0xDF, 0x7D};
337 static const BYTE OP201_GET_DATA_EF_PROD_DATA_LOCATION_MACHINE_DATE_TIME[2] = {0xDF, 0x7E};
339 static const BYTE OP201_GET_DATA_WHOLE_EF_PROD[2] = {0xDF, 0x7F};
341 #define OPGP_DERIVATION_METHOD_NONE 0
342 #define OPGP_DERIVATION_METHOD_VISA2 1
343 #define OPGP_DERIVATION_METHOD_EMV_CPS11 2
344 #define OPGP_DERIVATION_METHOD_VISA1 3
346 #define GP211_HASH_SHA1 1
347 #define GP211_HASH_SHA256 2
348 #define GP211_HASH_SHA384 3
349 #define GP211_HASH_SHA512 4
350 #define GP211_HASH_SM3 5
352 #define GP211_KEY_VERSION_TOKEN_VERIFICATION 0x70
353 #define GP211_KEY_VERSION_RECEIPT_GENERATION 0x71
354 #define GP211_KEY_VERSION_DAP_VERIFICATION 0x73
355 #define GP211_KEY_VERSION_CASD_AND_CONFIDENTIAL_SETUP 0x74
356 #define GP211_KEY_VERSION_CIPHERED_LOAD_FILE 0x75
358 #define OPGP_WORK_UNKNOWN -1
359 #define OPGP_TASK_FINISHED 1
361 #define INIT_PROGRESS_CALLBACK_PARAMETERS(callbackParameters, callback) if (callback != NULL) {callbackParameters.parameters = callback->parameters; \
362 callbackParameters.finished = !OPGP_TASK_FINISHED;}
473 #define GP211_MAX_CARD_RECOGNITION_SCP_INFOS 16
474 #define GP211_MAX_CARD_RECOGNITION_SCP_IMPL_OID_BYTES 8
477 #define GP211_SCP02_SCPI_THREE_KEYS 0x01
478 #define GP211_SCP02_SCPI_MODE_MASK 0x0E
479 #define GP211_SCP02_SCPI_MODE_EXPLICIT 0x04
480 #define GP211_SCP02_SCPI_MODE_IMPLICIT 0x0A
481 #define GP211_SCP02_SCPI_CMAC_ICV_ENCRYPTION 0x10
482 #define GP211_SCP02_SCPI_PSEUDO_RANDOM_CARD_CHALLENGE 0x40
484 #define GP211_SCP03_SCPI_PSEUDO_RANDOM_CARD_CHALLENGE 0x10
485 #define GP211_SCP03_SCPI_RESPONSE_MASK 0x60
486 #define GP211_SCP03_SCPI_RESPONSE_NONE 0x00
487 #define GP211_SCP03_SCPI_RESPONSE_R_MAC 0x20
488 #define GP211_SCP03_SCPI_RESPONSE_R_ENC_R_MAC 0x60
490 #define GP211_SCP11_SCPI_B1_SECOND_BYTE_PRESENT 0x80
491 #define GP211_SCP11_SCPI_B1_S16_MODE 0x40
492 #define GP211_SCP11_SCPI_B1_SCP11C_AUTH_BF20 0x20
493 #define GP211_SCP11_SCPI_B1_SCP11C_SUPPORTED 0x10
494 #define GP211_SCP11_SCPI_B1_CERT_CHAIN_SUPPORTED 0x08
495 #define GP211_SCP11_SCPI_B1_SD_PERSISTENT_PK_OCE_ECKA 0x04
496 #define GP211_SCP11_SCPI_B1_SCP11B_SUPPORTED 0x02
497 #define GP211_SCP11_SCPI_B1_SCP11A_SUPPORTED 0x01
499 #define GP211_SCP11_SCPI_B2_GP_LEGACY_CERT_NOT_SUPPORTED 0x04
500 #define GP211_SCP11_SCPI_B2_X509_CERT_SUPPORTED 0x02
501 #define GP211_SCP11_SCPI_B2_SCP11A_AUTH_BF20 0x01
511 char cardConfigurationDetailsOid[128];
513 BYTE cardConfigurationDetails[64];
515 char cardChipDetailsOid[128];
519 char issuerSecurityDomainsTrustPointCertificateInformationOid[128];
521 BYTE issuerSecurityDomainsTrustPointCertificateInformation[64];
523 char issuerSecurityDomainCertificateInformationOid[128];
525 BYTE issuerSecurityDomainCertificateInformation[64];
529 #define GP211_MAX_CARD_CAPABILITY_SCP_INFOS 16
530 #define GP211_MAX_CARD_CAPABILITY_SCP_OPTIONS 16
531 #define GP211_MAX_CARD_CAPABILITY_TLS_CIPHER_SUITES 16
532 #define GP211_MAX_CARD_CAPABILITY_LFDBH_ALGORITHMS 8
533 #define GP211_MAX_CARD_CAPABILITY_CIPHER_SUITES 32
534 #define GP211_MAX_CARD_CAPABILITY_KEY_PARAMETER_REFERENCES 128
535 #define GP211_MAX_CARD_CAPABILITY_ELF_UPGRADE 32
537 #define GP211_SCP_SUPPORTED_KEY_SIZE_128 0x01
538 #define GP211_SCP_SUPPORTED_KEY_SIZE_192 0x02
539 #define GP211_SCP_SUPPORTED_KEY_SIZE_256 0x04
541 #define GP211_LFDB_ENCRYPTION_3DES_16B_KEY 0x01
542 #define GP211_LFDB_ENCRYPTION_AES_128 0x02
543 #define GP211_LFDB_ENCRYPTION_AES_192 0x04
544 #define GP211_LFDB_ENCRYPTION_AES_256 0x08
545 #define GP211_LFDB_ENCRYPTION_SM4 0x10
546 #define GP211_LFDB_ENCRYPTION_ICV_SUPPORTED 0x80
548 #define GP211_SIGNATURE_CS_RSA_1024_SHA1 0x0100
549 #define GP211_SIGNATURE_CS_RSA_PSS_SHA256 0x0200
550 #define GP211_SIGNATURE_CS_DES_MAC_16B 0x0400
551 #define GP211_SIGNATURE_CS_CMAC_AES_128 0x0800
552 #define GP211_SIGNATURE_CS_CMAC_AES_192 0x1000
553 #define GP211_SIGNATURE_CS_CMAC_AES_256 0x2000
554 #define GP211_SIGNATURE_CS_ECDSA_256_SHA256 0x4000
555 #define GP211_SIGNATURE_CS_ECDSA_384_SHA384 0x8000
557 #define GP211_SIGNATURE_CS_ECDSA_512_SHA512 0x0001
558 #define GP211_SIGNATURE_CS_ECDSA_521_SHA512 0x0002
559 #define GP211_SIGNATURE_CS_SM2 0x0004
561 #define GP211_SCP11_CERTIFICATE_MAX_ID_LENGTH 16
562 #define GP211_SCP11_CERTIFICATE_MAX_DATE_LENGTH 4
563 #define GP211_SCP11_CERTIFICATE_MAX_PUBLIC_KEY_LENGTH 160
564 #define GP211_SCP11_CERTIFICATE_MAX_KEY_PARAMETER_REFERENCE_LENGTH 2
565 #define GP211_SCP11_CERTIFICATE_MAX_SIGNATURE_LENGTH 160
566 #define GP211_SCP11_CERTIFICATE_MAX_DISCRETIONARY_DATA_LENGTH 127
567 #define GP211_SCP11_CERTIFICATE_MAX_AUTHORIZATIONS_LENGTH 1024
569 static const BYTE GP211_SCP11_KEY_USAGE_DIGITAL_SIGNATURE_VERIFICATION[1] = {0x82};
570 static const BYTE GP211_SCP11_KEY_USAGE_KEY_AGREEMENT[2] = {0x00, 0x80};
572 #define GP211_ELF_UPGRADE_SINGLE 0x00
573 #define GP211_ELF_UPGRADE_MULTI 0x01
579 BYTE certificateSerialNumber[GP211_SCP11_CERTIFICATE_MAX_ID_LENGTH];
581 BYTE authorityIdentifier[GP211_SCP11_CERTIFICATE_MAX_ID_LENGTH];
583 BYTE subjectIdentifier[GP211_SCP11_CERTIFICATE_MAX_ID_LENGTH];
588 BYTE effectiveDate[GP211_SCP11_CERTIFICATE_MAX_DATE_LENGTH];
589 BYTE expirationDate[GP211_SCP11_CERTIFICATE_MAX_DATE_LENGTH];
592 BYTE discretionaryData[GP211_SCP11_CERTIFICATE_MAX_DISCRETIONARY_DATA_LENGTH];
595 BYTE authorizations[GP211_SCP11_CERTIFICATE_MAX_AUTHORIZATIONS_LENGTH];
597 BYTE publicKey[GP211_SCP11_CERTIFICATE_MAX_PUBLIC_KEY_LENGTH];
599 BYTE keyParameterReference[GP211_SCP11_CERTIFICATE_MAX_KEY_PARAMETER_REFERENCE_LENGTH];
601 BYTE signature[GP211_SCP11_CERTIFICATE_MAX_SIGNATURE_LENGTH];
610 BYTE scpOptions[GP211_MAX_CARD_CAPABILITY_SCP_OPTIONS];
612 BYTE scpOptionsMask[GP211_MAX_CARD_CAPABILITY_SCP_OPTIONS];
615 BYTE tlsCipherSuites[GP211_MAX_CARD_CAPABILITY_TLS_CIPHER_SUITES];
628 BYTE lfdbhAlgorithms[GP211_MAX_CARD_CAPABILITY_LFDBH_ALGORITHMS];
634 BYTE keyParameterReferenceList[GP211_MAX_CARD_CAPABILITY_KEY_PARAMETER_REFERENCES];
642 #define GP211_UICC_ACCESS_DOMAIN_FULL_ACCESS 0x00
643 #define GP211_UICC_ACCESS_DOMAIN_UICC_ACCESS 0x02
644 #define GP211_UICC_ACCESS_DOMAIN_NO_ACCESS 0xFF
645 #define GP211_UICC_MSL_PARAMETER_MINIMUM_SPI1 0x01
646 #define GP211_UICC_TOOLKIT_MAX_TIMERS 0x08
647 #define GP211_UICC_TOOLKIT_MAX_CHANNELS 0x07
648 #define GP211_UICC_TOOLKIT_MAX_SERVICES 0x08
649 #define GP211_UICC_MAX_MENU_ENTRIES 8
650 #define GP211_UICC_MAX_ACCESS_RULES 4
651 #define GP211_UICC_MAX_TAR_VALUES 4
652 #define GP211_UICC_TOOLKIT_DAP_MAX_LENGTH 16
653 #define GP211_UICC_ACCESS_DOMAIN_DAP_MAX_LENGTH 16
654 #define GP211_SPI1_RC_CC_DS_MASK 0x03
655 #define GP211_SPI1_RC_CC_DS_NONE 0x00
656 #define GP211_SPI1_RC_CC_DS_RC 0x01
657 #define GP211_SPI1_RC_CC_DS_CC 0x02
658 #define GP211_SPI1_RC_CC_DS_DS 0x03
659 #define GP211_SPI1_CIPHERING 0x04
660 #define GP211_SPI1_COUNTER_MASK 0x18
661 #define GP211_SPI1_COUNTER_NONE 0x00
662 #define GP211_SPI1_COUNTER_AVAILABLE 0x08
663 #define GP211_SPI1_COUNTER_HIGHER_THAN_RE 0x10
664 #define GP211_SPI1_COUNTER_INCREMENT_RE 0x18
665 #define GP211_SPI1_RFU_MASK 0xE0
666 #define GP211_SD_MAX_SCP 8
667 #define GP211_SD_PARAM_TAG_SCP 0x81
668 #define GP211_SD_PARAM_TAG_ACCEPT_EXTRACTION 0x82
669 #define GP211_SD_PARAM_TAG_ACCEPT_DELETE 0x83
670 #define GP211_SD_PARAM_TAG_PERSONALIZED 0x84
671 #define GP211_SD_PARAM_TAG_CASD_CAPABILITY 0x86
672 #define GP211_SD_PARAM_TAG_ACCEPT_GLOBAL_DELETE 0x87
673 #define GP211_SD_PARAM_LEN_SCP 0x02
674 #define GP211_SD_PARAM_LEN_ACCEPT_DELETE 0x01
675 #define GP211_SD_PARAM_LEN_CASD_CAPABILITY 0x02
676 #define GP211_SD_PARAM_LEN_PERSONALIZED 0x00
677 #define GP211_SD_PARAM_LEN_ACCEPT_MIN 0x01
678 #define GP211_SD_PARAM_LEN_ACCEPT_MAX 0x02
679 #define GP211_SD_ACCEPT_NONE 0x00
680 #define GP211_SD_ACCEPT_ANCESTOR_AM 0x80
681 #define GP211_SD_ACCEPT_HIERARCHY_AM 0xC0
682 #define GP211_SD_ACCEPT_ISD 0x20
683 #define GP211_SD_ACCEPT_DM_UNDER_ANCESTOR_AM 0x08
684 #define GP211_SD_ACCEPT_ALL_AM 0xF0
868 BYTE keyIndex,
BYTE secureChannelProtocol,
869 BYTE secureChannelProtocolImpl,
870 BYTE securityLevel,
BYTE derivationMethod,
872 PBYTE sdPublicKeyOverride,
DWORD sdPublicKeyOverrideLength,
880 BYTE secureChannelProtocolImpl,
BYTE sequenceCounter[2],
900 PBYTE caKlocIdentifier,
DWORD caKlocIdentifierLength,
901 BYTE *keyIdentifier,
BYTE *keyVersionNumber);
912 BYTE caKlocKeyVersionNumber,
BYTE caKlocKeyIdentifier,
913 PBYTE certificateData,
DWORD certificateDataLength,
914 BOOL moreCertificatesExpected);
920 BYTE caKlocKeyVersionNumber,
BYTE caKlocKeyIdentifier,
921 PBYTE certificateChainData,
DWORD certificateChainDataLength);
950 PBYTE parsedCertificateStore,
PDWORD parsedCertificateStoreLength);
955 OPGP_STRING subjectPublicKeyFileName,
char *subjectPublicKeyPassPhrase,
956 OPGP_STRING signingPrivateKeyFileName,
char *signingPrivateKeyPassPhrase,
957 PBYTE certificateData,
PDWORD certificateDataLength);
980 BYTE *secureChannelProtocol,
BYTE *secureChannelProtocolImpl);
1015 BYTE keySetVersion,
BYTE keyIndex,
BYTE newKeySetVersion,
BYTE _3DESKey[16]);
1037 BYTE privateKey[32],
DWORD privateKeyLength);
1053 BYTE keySetVersion,
BYTE keyIndex);
1058 BYTE keyInformationTemplate,
1071 PBYTE executableLoadFileAID,
DWORD executableLoadFileAIDLength,
1072 PBYTE securityDomainAID,
1073 DWORD securityDomainAIDLength,
PBYTE loadFileDataBlockHash,
DWORD loadFileDataBlockHashLength,
1075 DWORD nonVolatileCodeSpaceLimit,
DWORD volatileDataSpaceLimit,
1076 DWORD nonVolatileDataSpaceLimit);
1081 DWORD securityDomainAIDLength,
1082 PBYTE applicationAID,
DWORD applicationAIDLength,
1083 PBYTE extraditionTokenSignatureData,
1084 PDWORD extraditionTokenSignatureDataLength);
1089 PBYTE securityDomainAID,
1090 DWORD securityDomainAIDLength,
PBYTE loadFileDataBlockHash,
1091 DWORD loadFileDataBlockHashLength,
1092 DWORD nonVolatileCodeSpaceLimit,
DWORD volatileDataSpaceLimit,
1093 DWORD nonVolatileDataSpaceLimit,
PBYTE loadTokenSignatureData,
1094 PDWORD loadTokenSignatureDataLength);
1099 DWORD executableLoadFileAIDLength,
1100 PBYTE executableModuleAID,
DWORD executableModuleAIDLength,
1101 PBYTE applicationAID,
DWORD applicationAIDLength,
1102 DWORD applicationPrivileges,
DWORD volatileDataSpaceLimit,
1103 DWORD nonVolatileDataSpaceLimit,
1104 PBYTE installParameters,
DWORD installParametersLength,
1105 PBYTE sdParameters,
DWORD sdParametersLength,
1106 PBYTE uiccSystemSpecParams,
DWORD uiccSystemSpecParamsLength,
1107 PBYTE simSpecParams,
DWORD simSpecParamsLength,
1108 PBYTE installTokenSignatureData,
PDWORD installTokenSignatureDataLength);
1113 DWORD securityDomainAIDLength,
1114 PBYTE applicationAID,
DWORD applicationAIDLength,
1115 DWORD applicationPrivileges,
1116 PBYTE registryUpdateParameters,
DWORD registryUpdateParametersLength,
1117 PBYTE tokenSignatureData,
1118 PDWORD tokenSignatureDataLength);
1123 PBYTE deleteTokenSignatureData,
1124 PDWORD deleteTokenSignatureDataLength);
1129 PBYTE securityDomainAID,
1130 DWORD securityDomainAIDLength,
PBYTE loadFileDataBlockHash,
1131 DWORD loadFileDataBlockHashLength,
1132 DWORD nonVolatileCodeSpaceLimit,
DWORD volatileDataSpaceLimit,
1139 PBYTE executableModuleAID,
1140 DWORD executableModuleAIDLength,
PBYTE applicationAID,
1141 DWORD applicationAIDLength,
DWORD applicationPrivileges,
1142 DWORD volatileDataSpaceLimit,
DWORD nonVolatileDataSpaceLimit,
1143 PBYTE installParameters,
DWORD installParametersLength,
1144 PBYTE sdParameters,
DWORD sdParametersLength,
1145 PBYTE uiccSystemSpecParams,
DWORD uiccSystemSpecParamsLength,
1146 PBYTE simSpecParams,
DWORD simSpecParamsLength,
1153 DWORD securityDomainAIDLength,
1154 PBYTE applicationAID,
DWORD applicationAIDLength,
1155 PBYTE extraditionToken,
PDWORD extraditionTokenLength,
1161 DWORD securityDomainAIDLength,
1162 PBYTE applicationAID,
DWORD applicationAIDLength,
1163 DWORD applicationPrivileges,
1164 PBYTE registryUpdateParameters,
DWORD registryUpdateParametersLength,
1165 PBYTE registryUpdateToken,
PDWORD registryUpdateTokenLength,
1171 DWORD applicationOrExecutableLoadFileAIDLength,
1178 PBYTE uiccSystemSpecParams,
PDWORD uiccSystemSpecParamsLength);
1211 PBYTE executableLoadFileAID,
DWORD executableLoadFileAIDLength,
PBYTE executableModuleAID,
1212 DWORD executableModuleAIDLength,
PBYTE applicationAID,
DWORD applicationAIDLength,
1213 DWORD applicationPrivileges,
DWORD volatileDataSpaceLimit,
DWORD nonVolatileDataSpaceLimit,
1214 PBYTE installParameters,
DWORD installParametersLength,
1215 PBYTE sdParameters,
DWORD sdParametersLength,
1216 PBYTE uiccSystemSpecParams,
DWORD uiccSystemSpecParamsLength,
1217 PBYTE simSpecParams,
DWORD simSpecParamsLength,
1218 PBYTE installToken,
DWORD installTokenLength,
1224 PBYTE applicationAID,
DWORD applicationAIDLength,
1225 DWORD applicationPrivileges,
PBYTE installToken,
DWORD installTokenLength,
1231 PBYTE executableLoadFileAID,
DWORD executableLoadFileAIDLength,
PBYTE executableModuleAID,
1232 DWORD executableModuleAIDLength,
PBYTE applicationAID,
1233 DWORD applicationAIDLength,
DWORD applicationPrivileges,
1234 DWORD volatileDataSpaceLimit,
DWORD nonVolatileDataSpaceLimit,
1235 PBYTE installParameters,
DWORD installParametersLength,
1236 PBYTE sdParameters,
DWORD sdParametersLength,
1237 PBYTE uiccSystemSpecParams,
DWORD uiccSystemSpecParamsLength,
1238 PBYTE simSpecParams,
DWORD simSpecParamsLength,
1239 PBYTE installToken,
DWORD installTokenLength,
1245 PBYTE securityDomainAID,
DWORD securityDomainAIDLength,
1246 PBYTE applicationAID,
DWORD applicationAIDLength,
1247 DWORD applicationPrivileges,
1248 PBYTE registryUpdateParameters,
DWORD registryUpdateParametersLength,
1249 PBYTE registryUpdateToken,
DWORD registryUpdateTokenLength,
1256 PBYTE applicationAID,
1257 DWORD applicationAIDLength);
1262 PBYTE securityDomainAID,
1263 DWORD securityDomainAIDLength,
PBYTE applicationAID,
1264 DWORD applicationAIDLength,
1266 PDWORD receiptDataAvailable);
1273 BYTE newKeySetVersion,
1281 BYTE newKeySetVersion,
1289 BYTE newKeySetVersion,
1301 BYTE DAPCalculationKey[32],
DWORD keyLength,
1331 PBYTE executableLoadFileAID,
DWORD executableLoadFileAIDLength,
1332 PBYTE applicationAID,
DWORD applicationAIDLength,
1338 PBYTE executableLoadFileAID,
DWORD executableLoadFileAIDLength,
1339 PBYTE securityDomainAID,
DWORD securityDomainAIDLength,
1345 PBYTE oldSecurityDomainAID,
DWORD oldSecurityDomainAIDLength,
1346 PBYTE newSecurityDomainAID,
DWORD newSecurityDomainAIDLength,
1347 PBYTE applicationOrExecutableLoadFileAID,
1348 DWORD applicationOrExecutableLoadFileAIDLength,
1354 PBYTE oldSecurityDomainAID,
DWORD oldSecurityDomainAIDLength,
1355 PBYTE applicationAID,
DWORD applicationAIDLength,
1356 PBYTE newSecurityDomainAID,
DWORD newSecurityDomainAIDLength,
1357 DWORD applicationPrivileges,
1358 PBYTE registryUpdateParameters,
DWORD registryUpdateParametersLength,
1364 BYTE openClose,
BYTE channelNumberToClose,
1365 BYTE *channelNumberOpened);
1383 BYTE encryptionFlags,
BYTE formatFlags, BOOL responseDataExpected,
PBYTE data,
DWORD dataLength);
1388 BYTE keyVersionNumber,
BYTE keyIdentifier,
1394 BYTE keyVersionNumber,
BYTE keyIdentifier,
1395 BOOL whitelistCounterPresent, USHORT whitelistCounter,
1396 PBYTE *certificateSerialNumbers,
PDWORD certificateSerialNumberLengths,
1397 DWORD certificateSerialNumberCount);
1402 PBYTE caKlocIdentifier,
DWORD caKlocIdentifierLength,
1403 BYTE keyIdentifier,
BYTE keyVersionNumber);
1416 DWORD keyLength,
BYTE keySetVersion,
BYTE keyAccessCondition);
1431 BYTE keyIndex,
BYTE securityLevel,
BYTE derivationMethod,
1452 BYTE keySetVersion,
BYTE keyIndex,
BYTE newKeySetVersion,
BYTE _3desKey[16]);
1462 BYTE keySetVersion,
BYTE newKeySetVersion,
1463 BYTE new_encKey[16],
BYTE new_macKey[16],
BYTE new_KEK[16]);
1468 BYTE keySetVersion,
BYTE keyIndex);
1473 BYTE keyInformationTemplate,
1485 PBYTE executableLoadFileAID,
DWORD executableLoadFileAIDLength,
PBYTE securityDomainAID,
1486 DWORD securityDomainAIDLength,
PBYTE loadFileDataBlockHash,
1487 DWORD loadFileDataBlockHashLength,
PBYTE loadToken,
DWORD loadTokenLength,
1488 DWORD nonVolatileCodeSpaceLimit,
DWORD volatileDataSpaceLimit,
1489 DWORD nonVolatileDataSpaceLimit);
1494 PBYTE securityDomainAID,
DWORD securityDomainAIDLength,
1495 PBYTE loadFileDataBlockHash,
DWORD loadFileDataBlockHashLength,
1496 DWORD nonVolatileCodeSpaceLimit,
1497 DWORD volatileDataSpaceLimit,
DWORD nonVolatileDataSpaceLimit,
1498 PBYTE loadTokenSignatureData,
PDWORD loadTokenSignatureDataLength);
1503 PBYTE AIDWithinLoadFileAID,
DWORD AIDWithinLoadFileAIDLength,
1504 PBYTE applicationInstanceAID,
DWORD applicationInstanceAIDLength,
1505 DWORD applicationPrivileges,
DWORD volatileDataSpaceLimit,
1506 DWORD nonVolatileDataSpaceLimit,
1507 PBYTE applicationInstallParameters,
DWORD applicationInstallParametersLength,
1508 PBYTE sdParameters,
DWORD sdParametersLength,
1509 PBYTE uiccSystemSpecParams,
DWORD uiccSystemSpecParamsLength,
1510 PBYTE simSpecParams,
DWORD simSpecParamsLength,
1511 PBYTE installTokenSignatureData,
PDWORD installTokenSignatureDataLength);
1516 DWORD securityDomainAIDLength,
PBYTE loadFileDAP,
DWORD loadFileDAPLength,
1517 DWORD nonVolatileCodeSpaceLimit,
DWORD volatileDataSpaceLimit,
1524 DWORD AIDWithinLoadFileAIDLength,
PBYTE applicationInstanceAID,
1525 DWORD applicationInstanceAIDLength,
DWORD applicationPrivileges,
1526 DWORD volatileDataSpaceLimit,
DWORD nonVolatileDataSpaceLimit,
1527 PBYTE applicationInstallParameters,
DWORD applicationInstallParametersLength,
1528 PBYTE sdParameters,
DWORD sdParametersLength,
1529 PBYTE uiccSystemSpecParams,
DWORD uiccSystemSpecParamsLength,
1530 PBYTE simSpecParams,
DWORD simSpecParamsLength,
1555 PBYTE executableLoadFileAID,
DWORD executableLoadFileAIDLength,
PBYTE AIDWithinLoadFileAID,
1556 DWORD AIDWithinLoadFileAIDLength,
PBYTE applicationInstanceAID,
DWORD applicationInstanceAIDLength,
1557 DWORD applicationPrivileges,
DWORD volatileDataSpaceLimit,
DWORD nonVolatileDataSpaceLimit,
1558 PBYTE applicationInstallParameters,
DWORD applicationInstallParametersLength,
1559 PBYTE sdParameters,
DWORD sdParametersLength,
1560 PBYTE uiccSystemSpecParams,
DWORD uiccSystemSpecParamsLength,
1561 PBYTE simSpecParams,
DWORD simSpecParamsLength,
1562 PBYTE installToken,
DWORD installTokenLength,
1568 PBYTE applicationInstanceAID,
DWORD applicationInstanceAIDLength,
1569 DWORD applicationPrivileges,
PBYTE installToken,
DWORD installTokenLength,
1575 DWORD AIDWithinLoadFileAIDLength,
PBYTE applicationInstanceAID,
1576 DWORD applicationInstanceAIDLength,
DWORD applicationPrivileges,
1577 DWORD volatileDataSpaceLimit,
DWORD nonVolatileDataSpaceLimit,
1578 PBYTE applicationInstallParameters,
DWORD applicationInstallParametersLength,
1579 PBYTE sdParameters,
DWORD sdParametersLength,
1580 PBYTE uiccSystemSpecParams,
DWORD uiccSystemSpecParamsLength,
1581 PBYTE simSpecParams,
DWORD simSpecParamsLength,
1582 PBYTE installToken,
DWORD installTokenLength,
1589 BYTE newKeySetVersion,
1591 BYTE receiptGenerationKey[16]);
1619 PBYTE executableLoadFileAID,
DWORD executableLoadFileAIDLength,
1620 PBYTE applicationInstanceAID,
DWORD applicationInstanceAIDLength);
1626 PBYTE executableLoadFileAID,
DWORD executableLoadFileAIDLength,
1627 PBYTE securityDomainAID,
DWORD securityDomainAIDLength);
Definition: globalplatform.h:416
BYTE lifeCycleState
The Issuer Security Domain, Security Domains, Executable Load Files and Application life cycle state.
Definition: globalplatform.h:418
OPGP_AID aid
The AID.
Definition: globalplatform.h:417
OPGP_AID associatedSecurityDomainAID
The associated Security Domain's AID.
Definition: globalplatform.h:421
GP211_APPLICATION_PRIVILEGES privileges
The Issuer Security Domain, Security Domains or Application privileges. Has no meaning for Executable...
Definition: globalplatform.h:419
Definition: globalplatform.h:503
DWORD cardChipDetailsLength
Card configuration details length.
Definition: globalplatform.h:518
DWORD issuerSecurityDomainsTrustPointCertificateInformationOidLength
Issuer Security Domain’s Trust Point certificate information OID length.
Definition: globalplatform.h:520
DWORD issuerSecurityDomainsTrustPointCertificateInformationLength
Issuer Security Domain’s Trust Point certificate information length.
Definition: globalplatform.h:522
DWORD cardConfigurationDetailsLength
Card configuration details length.
Definition: globalplatform.h:514
DWORD issuerSecurityDomainCertificateInformationOidLength
Issuer Security Domain certificate information OID length.
Definition: globalplatform.h:524
DWORD scpLength
The length of the SCP.
Definition: globalplatform.h:510
DWORD cardConfigurationDetailsOidLength
Card configuration details OID length.
Definition: globalplatform.h:512
DWORD issuerSecurityDomainCertificateInformationLength
Issuer Security Domain certificate information length.
Definition: globalplatform.h:526
DWORD cardChipDetailsOidLength
Card / chip details OID length.
Definition: globalplatform.h:516
Definition: security.h:317
Definition: globalplatform.h:427
OPGP_AID aid
The Executable Load File AID.
Definition: globalplatform.h:428
BYTE numExecutableModules
Number of associated Executable Modules.
Definition: globalplatform.h:431
OPGP_AID associatedSecurityDomainAID
The associated Security Domain's AID.
Definition: globalplatform.h:433
BYTE lifeCycleState
The Executable Load File life cycle state.
Definition: globalplatform.h:429
Definition: security.h:337
Definition: globalplatform.h:578
DWORD publicKeyLength
Public Key Q length.
Definition: globalplatform.h:598
BOOL authorizationsPresent
TRUE if SCP11c authorizations (tag 'BF20') are present.
Definition: globalplatform.h:594
DWORD authorizationsLength
SCP11c authorizations value length.
Definition: globalplatform.h:596
DWORD expirationDateLength
Expiration Date length.
Definition: globalplatform.h:590
DWORD signatureLength
Certificate signature length.
Definition: globalplatform.h:602
DWORD subjectIdentifierLength
Subject Identifier length.
Definition: globalplatform.h:584
DWORD certificateSerialNumberLength
Certificate Serial Number length.
Definition: globalplatform.h:580
USHORT discretionaryDataTag
Optional discretionary data tag: 0x53 or 0x73.
Definition: globalplatform.h:591
DWORD discretionaryDataLength
Optional discretionary data length.
Definition: globalplatform.h:593
DWORD keyUsageLength
Key Usage length.
Definition: globalplatform.h:586
BOOL effectiveDatePresent
TRUE if Effective Date (tag '5F25') is present.
Definition: globalplatform.h:587
DWORD authorityIdentifierLength
CA-KLOC or KA-KLOC Identifier length.
Definition: globalplatform.h:582
DWORD keyParameterReferenceLength
Key Parameter Reference length.
Definition: globalplatform.h:600
Definition: globalplatform.h:779
BYTE acceptDeletion
Acceptance policy for deletion (tag '83'). See GP211_SD_ACCEPT_ALL_AM.
Definition: globalplatform.h:784
BOOL personalizedStatePresent
TRUE to include tag '84' (length 0). If set an explicit SET STATUS or STORE DATA command is needed to...
Definition: globalplatform.h:786
BYTE acceptExtraditionAwayLength
Length of tag '87' value (1 or 2).
Definition: globalplatform.h:789
BYTE acceptExtraditionHereLength
Length of tag '82' value (1 or 2).
Definition: globalplatform.h:783
BYTE acceptDeletionLength
Length of tag '83' value (0 or 1).
Definition: globalplatform.h:785
BYTE scpEntriesLength
Number of SCP entries.
Definition: globalplatform.h:781
Definition: globalplatform.h:771
BYTE scpImpl
Secure Channel Implementation Option 'T'.
Definition: globalplatform.h:773
BYTE scpIdentifier
Secure Channel Protocol Identifier.
Definition: globalplatform.h:772
Definition: security.h:243
Definition: globalplatform.h:762
GP211_SIM_TOOLKIT_PARAMS toolkitParams
Toolkit application parameters.
Definition: globalplatform.h:765
BYTE accessDomainParameter
Access Domain Parameter (0x00, 0x02, 0xFF).
Definition: globalplatform.h:763
Definition: globalplatform.h:725
BYTE rulesLength
Number of access rules.
Definition: globalplatform.h:727
Definition: globalplatform.h:713
BYTE aidLength
Length of AID (0 for shared UICC file system, or 5..16 for ADF).
Definition: globalplatform.h:714
BYTE accessDomainParameter
Access Domain Parameter (0x00, 0x02, 0xFF).
Definition: globalplatform.h:716
BYTE accessDomainDapLength
Access Domain DAP length in bytes.
Definition: globalplatform.h:719
Definition: globalplatform.h:733
BOOL accessParamsPresent
TRUE to include access application parameters (tag '81').
Definition: globalplatform.h:738
GP211_UICC_ACCESS_PARAMS accessParams
Access application parameters (tag '81').
Definition: globalplatform.h:739
BOOL adminAccessParamsPresent
TRUE to include administrative access parameters (tag '82').
Definition: globalplatform.h:740
GP211_UICC_TOOLKIT_APP_PARAMS toolkitParams
Toolkit application parameters (tag '80').
Definition: globalplatform.h:735
BOOL toolkitParamsPresent
TRUE to include toolkit application parameters (tag '80').
Definition: globalplatform.h:734
GP211_UICC_ACCESS_PARAMS adminAccessParams
Administrative access parameters (tag '82').
Definition: globalplatform.h:741
BYTE toolkitParametersDapLength
Toolkit parameters DAP length in bytes.
Definition: globalplatform.h:737
Definition: globalplatform.h:394
BYTE lifeCycleState
The Card Manager, Executable Load File or application life cycle state.
Definition: globalplatform.h:396
OPGP_AID aid
The AID.
Definition: globalplatform.h:395
OP201_APPLICATION_PRIVILEGES privileges
The Card Manager or application privileges.
Definition: globalplatform.h:397
Definition: security.h:271
Definition: security.h:283
Definition: security.h:228
Definition: globalplatform.h:385
BYTE AIDLength
The length of the AID.
Definition: globalplatform.h:386
Definition: connection.h:95
Definition: connection.h:106
Definition: globalplatform.h:448
USHORT operatingSystemReleaseLevel
Operating System release level.
Definition: globalplatform.h:453
USHORT icModuleFabricator
IC module fabricator.
Definition: globalplatform.h:458
DWORD icPrePersonalizationEquipmentId
IC pre-personalization equipment ID.
Definition: globalplatform.h:464
USHORT icType
IC Type.
Definition: globalplatform.h:450
USHORT icEmbeddingDate
IC embedding date (raw).
Definition: globalplatform.h:461
USHORT iccManufacturer
ICC manufacturer.
Definition: globalplatform.h:460
USHORT icModulePackagingDate
IC module packaging date (raw).
Definition: globalplatform.h:459
USHORT icPrePersonalizationEquipmentDate
IC pre-personalization equipment date (raw).
Definition: globalplatform.h:463
USHORT icSerialNumberLow
IC serial number (low).
Definition: globalplatform.h:456
USHORT operatingSystemId
Operating System ID.
Definition: globalplatform.h:451
USHORT icFabricator
IC Fabricator.
Definition: globalplatform.h:449
USHORT icPersonalizer
IC personalizer.
Definition: globalplatform.h:465
DWORD icPersonalizationEquipmentId
IC personalization equipment ID.
Definition: globalplatform.h:467
USHORT icFabricationDate
IC fabrication date (raw).
Definition: globalplatform.h:454
USHORT icSerialNumberHigh
IC serial number (high).
Definition: globalplatform.h:455
USHORT icPrePersonalizer
IC pre-personalizer.
Definition: globalplatform.h:462
USHORT operatingSystemReleaseDate
Operating System release date (raw).
Definition: globalplatform.h:452
USHORT icPersonalizationDate
IC personalization date (raw).
Definition: globalplatform.h:466
USHORT icBatchIdentifier
IC batch identifier.
Definition: globalplatform.h:457
Definition: globalplatform.h:404
OPGP_AID loadFileAID
The AID of the Load File.
Definition: globalplatform.h:406
DWORD loadFileSize
The size of the Load File.
Definition: globalplatform.h:405
BYTE numAppletAIDs
The number of applets contained in the Load File.
Definition: globalplatform.h:407
Definition: globalplatform.h:367
DWORD finished
Task is finished. If finished contains OPGP_TASK_FINISHED.
Definition: globalplatform.h:370
DWORD totalWork
The total work which needs to be done. If not known this contains OPGP_WORK_UNKNOWN.
Definition: globalplatform.h:369
PVOID parameters
Proprietary parameters for the function passed in with OPGP_PROGRESS_CALLBACK.
Definition: globalplatform.h:371
DWORD currentWork
The current work which is done. If not known this contains OPGP_WORK_UNKNOWN.
Definition: globalplatform.h:368
Definition: globalplatform.h:377
PVOID parameters
Proprietary parameters for the callback function. Passed in when the function is called.
Definition: globalplatform.h:379
void * PVOID
Pointer definition.
Definition: types.h:52
unsigned char BYTE
A Microsoft/Muscle BYTE definition.
Definition: types.h:67
unsigned char * PBYTE
A Microsoft/Muscle LPBYTE, pointer to unsigned char.
Definition: types.h:64
unsigned long * PDWORD
A Microsoft LPDWORD/Muscle pointer to a DWORD.
Definition: types.h:66
char * OPGP_STRING
A Microsoft/Muscle LPTSTR.
Definition: types.h:62
unsigned long DWORD
A Microsoft/Muscle DWORD definition.
Definition: types.h:68
const char * OPGP_CSTRING
A Microsoft/Muscle LPCTSTR.
Definition: types.h:63