Files
VeraCrypt/src/Mount/Resource.h
mmauv 502ab9112a Add EMV functionality (#1080)
* Add basic strcture needed for EMV implementation

* Add demo EMV functionality with C code pasted in a very dirty and unsafe way. NOT FINAL

* Refactor IccExtractor Structure

* Fix Makefile

* fix include file

* move global variables from h to c

* revert to memcpy

* fix icc data recovery functions

* Add EMV functionalities on windows

* Make EMVToken structures like SecurityToken

* Define constants instead of hard coded values

* Token structures created with inheritance

* refactor TokenKeyfile to use inherit. + polymor.

* add Token.h + Token.cpp in modules in VS2010

* Add a comment at each use of SecurityToken class or objects

* SecurityTokenKeyfilesDialog preparation

* Implemennt GetAvailableTokens in Token class on windows

* merge

* up (patching for Windows)

* foreach Token.cpp corrected

* Display EMV keyfiles on first window in graphic interface

* Add token to Windows UI

* EMVToken selection on OKButton on Linux

* Keyfile.cpp optimization

* Move getKeyfileData in the token class

* EMV::Token GetAvailableKeyfiles() base

* Move getKeyfileData in the token class on unix

* Remove test comments

* Warnings resolved

* RemoveeSecurityTokenLibraryNotInitialized exception if at least one emv token is detected

* Adding new files

* Remove old files and add the new version to the windows project

* Change make_shared to shared_ptr constructor

* IccExtractor integration working on linux

* Throwing card not EMV execption

* catch error when not EMV type in EMVToken::GetAvailableKeyfiles

* Change types to compile on windows

* list all keyfiles, security keyfiles and emv keyfiles in command line

* Change type to be coherent and remove old todo comments

* Remove todo comments

* Change indentation and resolve a bug from previous commit

* Use polymorphism for GetKeyfileData and add export option for EMVTokens on Linux

* Linux : Allow to export EMV Tokens in command lines, Windows : Disable the delete button when EMV Keyfiles are selected

* Remove SlotId from TokenInfo as it is already in Token

* Correct errors on Linux

* Disable delete option if one EMV Token is selected on Linux

* Fix bug enabling delete button if nothing is selected

* emv data used as reference then burnt

* use of normal files in linux corrected

* help updated

* help updated for export functionnality

* option EMV added to graphic interface but not yet working

* Bug fix : Allow to use multiple EMV on windows

* EMV Option added to UserPreferences

* EMV Option working for Linux

* EMV option added to Windows (not working yet)

* [NOT TESTED] EMV option for Windows

* Working EMV option on Windows

* EMV Option for data extraction working for volume creation

* EMV Option for data extraction working for Mount

* EMV Option for data extraction working for mounting favorites volumes

* EMV Option for extraction working for Changing volume password, Set Derivation Key Algorithm and Add or remove keyfile from volume

* Windows : re-checking EMV Option when getting data

* Removing error catches in the IccDataExtractor classe (It only throws error now). Changing GetPan signature to resemble the other functions signatures more

* Changing EMV errors

- Only throwing ICCExtractionException from outside of the ICC module.
- Catching all TLVExceptions and PCSCExceptions to throw the right ICCExtractionException

- Deleting APDU exceptions.

* First version of the documentation

* Adding function pointers for winscard library (but it crashes VeraCrypt)

* Debugging function pointers

* The import of the library on windows work as expected now

* Reverting EMVToken.cpp changes used to test to library import

* Searching for the System32 path instead of hard codding it

* Fixing the bug were VeraCrypt crashes if there is no readers when  "add Token files" is clicked

* Winscard library not initialized in object constructor anymore to delay it after EMVOption check

* Remove winscard lib from windows dependencies

* Properly displaying errors

* Adding a dot in Language.xml

* Catching TLVException

* Removing unused code

* Remove unusefull comments

* Trying to fix 0x1f error

* Update IccDataExtractor.cpp

* Delete History.xml

* Fix get data without get pan

* Cleanup code

* changes for linux compilation but linking not working

* error handling for linux

* erasing emv data

* Burn PAN

* Burn PAN from memory

* Uncomment selfcheck before merging master

* burn corrected

* EMV errors handling for Linux

* EMV working for Linux CLI

* Doc : Winscard Linux package and VeraCrypt versions

---------

Co-authored-by: doriandu45 <d45.poubelle@gmail.com>
Co-authored-by: red4game <redemgaiming@gmail.com>
Co-authored-by: Brice.Namy <brice.namy@insa-rennes.fr>
Co-authored-by: vocthor <pieceo108@gmail.com>
Co-authored-by: vocthor <67202139+vocthor@users.noreply.github.com>
Co-authored-by: Andrei COCAN <andrei.cocan@insa-rennes.fr>
Co-authored-by: AndreiCocan <95496161+AndreiCocan@users.noreply.github.com>
Co-authored-by: francoisLEROUX <francois3443@gmail.com>
2023-06-28 22:51:43 +02:00

285 lines
12 KiB
C

//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by Mount.rc
//
#define IDR_MOUNT_TLB 1
#define IDD_MOUNT_DLG 101
#define IDD_PASSWORDCHANGE_DLG 102
#define IDB_DRIVEICON 103
#define IDD_PASSWORD_DLG 104
#define IDB_DRIVEICON_MASK 105
#define IDR_MENU 106
#define IDD_PREFERENCES_DLG 107
#define IDD_VOLUME_PROPERTIES 108
#define IDR_MOUNT_RSRC_HEADER 109
#define IDS_UACSTRING 110
#define IDB_LOGO_288DPI 111
#define IDB_LOGO_96DPI 112
#define IDB_SYS_DRIVEICON 113
#define IDB_SYS_DRIVEICON_MASK 114
#define IDD_TOKEN_PREFERENCES 115
#define IDD_SYSENC_SETTINGS 116
#define IDD_FAVORITE_VOLUMES 117
#define IDD_DEFAULT_MOUNT_PARAMETERS 118
#define IDD_EFI_SYSENC_SETTINGS 119
#define IDC_PREF_MOUNT_READONLY 1000
#define IDC_PREF_MOUNT_REMOVABLE 1001
#define IDC_VERIFY 1002
#define IDC_PREF_BKG_TASK_ENABLE 1003
#define IDC_OLD_PASSWORD 1004
#define IDC_CACHE 1005
#define IDC_NO_HISTORY 1006
#define IDC_DRIVELIST 1007
#define IDC_PREF_OPEN_EXPLORER 1008
#define IDC_ENABLE_KEYFILES 1009
#define IDC_VOLUME_PROPERTIES_LIST 1010
#define IDC_PREF_USE_DIFF_TRAY_ICON_IF_VOL_MOUNTED 1011
#define IDC_ENABLE_NEW_KEYFILES 1012
#define IDC_PRESERVE_TIMESTAMPS 1013
#define IDC_PREF_WIPE_CACHE_ON_EXIT 1014
#define IDC_PREF_CACHE_PASSWORDS 1016
#define IDC_DIRECTORY 1017
#define IDC_PREF_DISMOUNT_LOGOFF 1018
#define IDC_BROWSE_DIRS 1019
#define IDC_PREF_DISMOUNT_INACTIVE 1020
#define IDC_AUTORUN_DISABLE 1021
#define IDC_AUTORUN_START 1022
#define IDC_BENCHMARK 1023
#define IDC_AUTORUN_MOUNT 1024
#define IDC_VOLUME_NAME 1025
#define IDC_COPY_WIZARD 1026
#define IDC_MOUNT_OPTIONS 1027
#define IDT_TRAVELER_MOUNT 1028
#define IDT_MOUNT_LETTER 1029
#define IDT_MOUNT_SETTINGS 1030
#define IDC_KEY_FILES 1031
#define IDC_NEW_KEYFILES 1032
#define IDC_KEYFILES 1033
#define IDC_VOLUME 1034
#define IDC_PASSWORD 1035
#define IDC_BROWSE_FILES 1036
#define IDC_SELECT_DEVICE 1037
#define IDC_CREATE_VOLUME 1038
#define IDC_VOLUME_TOOLS 1039
#define IDC_WIPE_CACHE 1040
#define IDC_MOUNTALL 1041
#define IDD_TRAVELER_DLG 1042
#define IDC_SELECT_FILE 1043
#define IDD_HOTKEYS_DLG 1044
#define IDC_VOLUME_PROPERTIES 1045
#define IDT_FILE_SETTINGS 1046
#define IDD_PERFORMANCE_SETTINGS 1047
#define IDT_AUTORUN 1048
#define IDT_TRAVEL_INSERTION 1049
#define IDT_TRAVEL_ROOT 1050
#define IDT_VOLUME 1051
#define IDT_PASSWORD 1052
#define IDT_CURRENT 1053
#define IDT_NEW 1054
#define IDT_NEW_PASSWORD 1055
#define IDT_CONFIRM_PASSWORD 1056
#define IDT_PW_CACHE_OPTIONS 1058
#define IDT_DEFAULT_MOUNT_OPTIONS 1059
#define IDT_WINDOWS_RELATED_SETTING 1060
#define IDC_CREATE 1061
#define IDC_EXIT 1062
#define IDC_TRAVEL_OPEN_EXPLORER 1063
#define IDC_TRAV_CACHE_PASSWORDS 1064
#define IDC_UNMOUNTALL 1065
#define IDT_TASKBAR_ICON 1066
#define IDT_AUTO_DISMOUNT 1067
#define IDC_PREF_FORCE_AUTO_DISMOUNT 1068
#define IDC_PREF_DISMOUNT_INACTIVE_TIME 1069
#define IDT_MINUTES 1070
#define IDC_PREF_DISMOUNT_SCREENSAVER 1071
#define IDC_PREF_DISMOUNT_POWERSAVING 1072
#define IDT_AUTO_DISMOUNT_ON 1073
#define IDC_PREF_WIPE_CACHE_ON_AUTODISMOUNT 1074
#define IDC_CLOSE_BKG_TASK_WHEN_NOVOL 1075
#define IDC_MORE_INFO_ON_HW_ACCELERATION 1076
#define IDT_LOGON 1077
#define IDC_MORE_INFO_ON_THREAD_BASED_PARALLELIZATION 1078
#define IDC_PREF_LOGON_START 1079
#define IDC_PREF_LOGON_MOUNT_DEVICES 1080
#define IDC_SHOW_PASSWORD_CHPWD_NEW 1081
#define IDC_HK_DISMOUNT_BALLOON_TOOLTIP 1082
#define IDC_SHOW_PASSWORD_CHPWD_ORI 1083
#define IDC_HK_DISMOUNT_PLAY_SOUND 1084
#define IDC_HOTKEY_ASSIGN 1085
#define IDC_HOTKEY_REMOVE 1086
#define IDC_HOTKEY_KEY 1087
#define IDT_HOTKEY_KEY 1088
#define IDC_HOTKEY_LIST 1089
#define IDC_RESET_HOTKEYS 1090
#define IDT_DISMOUNT_ACTION 1091
#define IDT_ASSIGN_HOTKEY 1092
#define IDC_HK_MOD_SHIFT 1093
#define IDC_HK_MOD_CTRL 1094
#define IDC_HK_MOD_ALT 1095
#define IDC_HK_MOD_WIN 1096
#define IDC_SHOW_PASSWORD 1097
#define IDC_LOGO 1098
#define IDT_PKCS11_LIB_PATH 1099
#define IDC_PKCS11_MODULE 1100
#define IDC_SELECT_PKCS11_MODULE 1101
#define IDC_AUTO_DETECT_PKCS11_MODULE 1102
#define IDC_CLOSE_TOKEN_SESSION_AFTER_MOUNT 1103
#define IDT_SECURITY_OPTIONS 1104
#define IDC_DISABLE_BOOT_LOADER_OUTPUT 1105
#define IDC_ALLOW_ESC_PBA_BYPASS 1106
#define IDC_CUSTOM_BOOT_LOADER_MESSAGE 1107
#define IDC_BOOT_LOADER_CACHE_PASSWORD 1108
#define IDC_MORE_SETTINGS 1109
#define IDT_CUSTOM_BOOT_LOADER_MESSAGE 1110
#define IDC_CUSTOM_BOOT_LOADER_MESSAGE_HELP 1111
#define IDT_BOOT_LOADER_SCREEN_OPTIONS 1112
#define IDT_PKCS11_LIB_HELP 1113
#define IDT_ACCELERATION_OPTIONS 1114
#define IDC_ENABLE_HARDWARE_ENCRYPTION 1115
#define IDC_FAVORITE_VOLUMES_LIST 1116
#define IDC_FAVORITE_MOUNT_READONLY 1117
#define IDC_FAVORITE_MOUNT_REMOVABLE 1118
#define IDC_FAVORITE_MOUNT_ON_ARRIVAL 1119
#define IDC_FAVORITE_LABEL 1120
#define IDT_FAVORITE_LABEL 1121
#define IDC_FAVORITE_MOUNT_ON_LOGON 1122
#define IDC_FAVORITE_DISABLE_HOTKEY 1123
#define IDC_FAVORITE_MOVE_UP 1124
#define IDC_FAVORITE_MOVE_DOWN 1125
#define IDC_FAVORITE_REMOVE 1126
#define IDT_HW_AES_SUPPORTED_BY_CPU 1127
#define IDC_FAVORITE_OPEN_EXPLORER_WIN_ON_MOUNT 1128
#define IDC_HW_AES_SUPPORTED_BY_CPU 1129
#define IDC_LIMIT_ENC_THREAD_POOL 1130
#define IDC_ENCRYPTION_FREE_CPU_COUNT 1131
#define IDT_PARALLELIZATION_OPTIONS 1132
#define IDT_LIMIT_ENC_THREAD_POOL_NOTE 1133
#define IDC_FAV_VOL_OPTIONS_GROUP_BOX 1134
#define IDC_FAVORITES_HELP_LINK 1135
#define IDC_FAV_VOL_OPTIONS_GLOBAL_SETTINGS_BOX 1136
#define IDC_PREF_DISMOUNT_SESSION_LOCKED 1137
#define IDT_NEW_PKCS5_PRF 1138
#define IDC_PKCS5_OLD_PRF_ID 1139
#define IDC_TRUECRYPT_MODE 1140
#define IDC_PREF_TEMP_CACHE_ON_MULTIPLE_MOUNT 1141
#define IDT_OLD_PIM 1142
#define IDC_OLD_PIM 1143
#define IDC_OLD_PIM_HELP 1144
#define IDC_NEW_PIM_ENABLE 1145
#define IDC_SHOW_PIM 1146
#define IDC_FAVORITE_USE_LABEL_IN_EXPLORER 1147
#define IDC_COPY_EXPANDER 1148
#define IDT_DRIVER_OPTIONS 1149
#define IDC_ENABLE_EXTENDED_IOCTL_SUPPORT 1150
#define IDC_DISABLE_EVIL_MAID_ATTACK_DETECTION 1151
#define IDC_WIPE_MODE 1152
#define IDT_WIPE_MODE 1153
#define IDC_PREF_CACHE_PIM 1154
#define IDC_BOOT_LOADER_CACHE_PIM 1155
#define IDC_SHOW_DISCONNECTED_NETWORK_DRIVES 1156
#define IDT_VOLUME_ID 1157
#define IDC_FAVORITE_VOLUME_ID 1158
#define IDC_FAVORITE_USE_VOLUME_ID 1159
#define IDC_DISABLE_BOOT_LOADER_PIM_PROMPT 1160
#define IDC_HIDE_WAITING_DIALOG 1161
#define IDC_DISABLE_BOOT_LOADER_HASH_PROMPT 1162
#define IDC_SECURE_DESKTOP_PASSWORD_ENTRY 1163
#define IDC_SHOW_PLATFORMINFO 1164
#define IDC_EDIT_DCSPROP 1165
#define IDT_ADVANCED_OPTIONS 1166
#define IDC_ALLOW_TRIM_NONSYS_SSD 1167
#define IDC_BLOCK_SYSENC_TRIM 1168
#define IDC_ALLOW_WINDOWS_DEFRAG 1169
#define IDC_LOWER_BOX 1170
#define IDC_CLEAR_KEYS_ON_NEW_DEVICE_INSERTION 1171
#define IDC_ENABLE_CPU_RNG 1172
#define IDC_ENABLE_RAM_ENCRYPTION 1173
#define IDC_USE_LEGACY_MAX_PASSWORD_LENGTH 1174
#define IDC_UPDATE_BOOTLOADER_ON_SHUTDOWN 1175
#define IDC_FORCE_NEXT_BOOT_VERACRYPT 1176
#define IDC_FORCE_VERACRYPT_BOOT_ENTRY 1177
#define IDC_FORCE_VERACRYPT_FIRST_BOOT_ENTRY 1178
#define IDC_ACTIVATE_EMV_OPTION 1179
#define IDT_EMV_OPTIONS 1180
#define IDM_HELP 40001
#define IDM_ABOUT 40002
#define IDM_UNMOUNT_VOLUME 40003
#define IDM_CLEAR_HISTORY 40004
#define IDM_BENCHMARK 40005
#define IDM_TRAVELER 40006
#define IDM_MOUNT_VOLUME_OPTIONS 40007
#define IDM_FAQ 40008
#define IDM_REFRESH_DRIVE_LETTERS 40009
#define IDM_DEFAULT_KEYFILES 40010
#define IDM_WEBSITE 40011
#define IDM_MOUNTALL 40012
#define IDM_UNMOUNTALL 40013
#define IDM_MOUNT_VOLUME 40014
#define IDM_CHANGE_PASSWORD 40015
#define IDM_VOLUME_WIZARD 40016
#define IDM_CREATE_VOLUME 40017
#define IDM_WIPE_CACHE 40018
#define IDM_PREFERENCES 40019
#define IDM_LICENSE 40020
#define IDM_SELECT_FILE 40021
#define IDM_SELECT_DEVICE 40022
#define IDM_VOLUME_PROPERTIES 40023
#define IDM_LANGUAGE 40024
#define IDM_MOUNT_FAVORITE_VOLUMES 40025
#define IDM_BACKUP_VOL_HEADER 40026
#define IDM_RESTORE_VOL_HEADER 40027
#define IDM_HOTKEY_SETTINGS 40028
#define IDM_TC_DOWNLOADS 40029
#define IDM_NEWS 40030
#define IDM_CONTACT 40031
#define IDM_VERSION_HISTORY 40032
#define IDM_HOMEPAGE 40033
#define IDM_TEST_VECTORS 40034
#define IDM_ADD_REMOVE_VOL_KEYFILES 40035
#define IDM_REMOVE_ALL_KEYFILES_FROM_VOL 40036
#define IDM_CHANGE_HEADER_KEY_DERIV_ALGO 40037
#define IDM_KEYFILE_GENERATOR 40038
#define IDM_ONLINE_TUTORIAL 40039
#define IDM_ONLINE_HELP 40040
#define IDM_CHANGE_SYS_HEADER_KEY_DERIV_ALGO 40041
#define IDM_CHANGE_SYS_PASSWORD 40042
#define IDM_CREATE_RESCUE_DISK 40043
#define IDM_PERMANENTLY_DECRYPT_SYS 40044
#define IDM_VERIFY_RESCUE_DISK 40045
#define IDM_SYSTEM_ENCRYPTION_STATUS 40046
#define IDM_ENCRYPT_SYSTEM_DEVICE 40047
#define IDM_SYSENC_RESUME 40048
#define IDM_MOUNT_SYSENC_PART_WITHOUT_PBA 40049
#define IDM_CREATE_HIDDEN_OS 40050
#define IDM_TOKEN_PREFERENCES 40051
#define IDM_CLOSE_ALL_TOKEN_SESSIONS 40052
#define IDM_SYS_ENC_SETTINGS 40053
#define IDM_SYSENC_SETTINGS 40054
#define IDM_RESUME_INTERRUPTED_PROC 40055
#define IDM_MANAGE_TOKEN_KEYFILES 40056
#define IDM_SYS_FAVORITES_SETTINGS 40057
#define IDM_ORGANIZE_FAVORITES 40058
#define IDM_ORGANIZE_SYSTEM_FAVORITES 40059
#define IDM_ADD_VOLUME_TO_FAVORITES 40060
#define IDM_ADD_VOLUME_TO_SYSTEM_FAVORITES 40061
#define IDM_PERFORMANCE_SETTINGS 40062
#define IDM_ANALYZE_SYSTEM_CRASH 40063
#define IDM_DONATE 40064
#define IDM_VOLUME_EXPANDER 40065
#define IDM_DEFAULT_MOUNT_PARAMETERS 40066
#define IDM_DECRYPT_NONSYS_VOL 40067
#define IDM_VERIFY_RESCUE_DISK_ISO 40068
#define IDM_MOUNIT_NO_CACHE 40069
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NO_MFC 1
#define _APS_NEXT_RESOURCE_VALUE 120
#define _APS_NEXT_COMMAND_VALUE 40070
#define _APS_NEXT_CONTROL_VALUE 1179
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif