1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2025-11-11 19:08:26 -06:00
Commit Graph

125 Commits

Author SHA1 Message Date
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
Mounir IDRASSI
47c081792c Windows: Add comboxbox to Format wizard to choose QuickFormat/FastCreate/FullFormat
This required changes to internal logic and addition of new UI strings
2023-06-28 18:12:17 +02:00
Mounir IDRASSI
44c9c077f3 Revert "New sys enc wizard (#957)"
This reverts commit c0ff7a7c52.
2022-12-11 13:01:14 +01:00
Felix Reichmann
c0ff7a7c52 New sys enc wizard (#957)
* New VeraCrypt interface (for system encryption) with improved usability

* System Encryption: translate password to US keyboard layout + improved new interface

* Windows: Fix build error following merge

* Windows: Remove unused variable

* Windows: Add missing string in Language.xml

* Windows: fix buffer overrun caused by wrong use of wmemset

* Do not delete password file

Since the file is only available in \Release\Setup Files\ it would be fully deleted after running this script the first time.

* Correct return code

Originally the function would have always returned the return-code 1 resulting that the user is not able to change the location for the rescue zip.

* Added hint for sysenc

Added a hint why the field for repeating the password is initially greyed out within the system encryption.

* Corrected spelling mistake

Corrected spelling mistake

* Removed not working copy job

The file to be copied was stored at the source location. Therefore the copyjob will not work. Instead the file is already in the target folder.

* Removed RIPEMD-160 from Product64.wxs

See commit from 21.03.2022

* Added german translation for new interface

* Fixed PIM bug

* Corrected translation file based on the guidelines within the pull request

* Fixing merge conflicts

* Fixed Compiling issues. Reverted keyboard translation

* Removed artifacts of password translation

* Corrected language.xml

* Fixed order within german language file

* Corrected positions

Co-authored-by: Bruna2803 <bruna.radeljak@hotmail.com>
Co-authored-by: felixreichmann <30237956+felixreichmann@users.noreply.github.com>
Co-authored-by: Mounir IDRASSI <mounir.idrassi@idrix.fr>
2022-08-25 09:46:58 +02:00
Mounir IDRASSI
762065917f Windows: Add various checks to address Coverity reported issues. 2022-03-26 21:15:11 +01:00
Mounir IDRASSI
36795a688f Implement support of Blake2s-256 hash algorithm and remove deprecated algorithms RIPEMD-160 and GOST89. 2022-03-08 00:29:26 +01:00
Mounir IDRASSI
c374782436 Windows: replace insecure wcscpy/wcscat/strcpy runtime functions with secure equivalents
This fixed failure to build driver for ARM64 with latest VS 2019
2021-07-13 22:08:02 +02:00
Mounir IDRASSI
dc3700e8bb Windows: Fix issue in preserving last access timestamp of file containers when creating hidden volumes in direct mode inside them 2021-01-02 01:16:23 +01:00
Mounir IDRASSI
c9b5c1073d Windows: Don't allow a directory path to be entered for the file container to be created in Format wizard 2020-07-28 17:31:54 +02:00
Mounir IDRASSI
587e6db4f1 Windows: Warn about Fast Startup if it is enabled during system encryption or volume creation and propose to disable it 2020-07-22 17:27:59 +02:00
Mounir IDRASSI
3daaae0d48 Windows: correctly wipe password in UI input field in case of direct creation of Hidden volume or resuming non-system in-place encryption 2020-07-06 18:18:54 +02:00
Mounir IDRASSI
ff391d9a6a Windows: Support direct password drag-n-drop from external applications (e.g. KeePass) which is more secure than using clipboard. 2020-07-06 18:18:47 +02:00
Mounir IDRASSI
b270a453aa Windows: remove unused code targeting Windows 2000. 2020-06-28 01:06:14 +02:00
Mounir IDRASSI
cf449a443e Windows: Don't allow Hidden volume to have the same password, PIM and keyfiles as Outer volume 2020-06-23 16:48:46 +02:00
Mounir IDRASSI
5402fa902e Windows: Add /secureDesktop switch to VeraCrypt Format 2020-03-10 10:33:18 +01:00
Mounir IDRASSI
fa72ac51c4 Windows: Support using token keyfile when creating file container using command line 2020-03-10 10:32:45 +01:00
Mounir IDRASSI
b6c290e4fd Windows: Fix failure of Screen Readers (Accessibility support) to reader UI by disabling newly introduced memory protection by default and adding a CLI switch (/protectMemory) to enable it when needed. This fixes issue https://github.com/veracrypt/VeraCrypt/issues/536 2020-01-21 01:46:11 +01:00
Mounir IDRASSI
826730650c Windows: make /fastCreateFile switch apply to both UI and command line creation of file containers 2019-12-16 00:46:49 +01:00
Mounir IDRASSI
2a93826497 Windows: Fix the checkbox for skipping verification of Rescue Disk not reflecting the value of /noisocheck switch when specified in VeraCrypt Format command line. 2019-12-12 00:13:01 +01:00
Mounir IDRASSI
f9d95ef2c8 Windows: Add switch /FastCreateFile for VeraCrypt Format.exe to speedup creation of large file container if quick format is selected. This switch comes with security issues since it will embed existing content on disk into the file container which may expose sensitive content to an attacker who has access to the file container. 2019-12-10 00:51:34 +01:00
Mounir IDRASSI
5e96a5c44c Windows: enhancements to the mechanism preserving file timestamps, especially for keyfiles. 2019-12-08 23:42:47 +01:00
Mounir IDRASSI
b39a724f26 Windows: Add support for /nosizecheck switch in Format command line file container creation 2019-10-02 19:04:12 +02:00
Mounir IDRASSI
06e8fbace7 Windows: Disable the Keyfiles button in system encryption wizard since we don't support them yet. 2019-09-25 17:43:59 +02:00
Mounir IDRASSI
d92e045b8d Windows: replicate old behavior when handling passwords in UI when legacy password maximum length option selected 2019-03-03 23:47:58 +01:00
Mounir IDRASSI
453ef927ef Windows: Add option to use legacy maximum password length (64 characters) instead of new maximum length (128) in UI and command line. This will users who were relying on the UI truncating the passwords to the first 64 characters in the previous versions of VeraCrypt. 2019-03-03 00:20:49 +01:00
Mounir IDRASSI
6bb1f24ed5 Automatically truncate passwords for TrueCrypt volumes and System Encryption to the first 64 characters. This fix issues encountered by users of TrueCrypt volumes who were using passwords longer than 64 characters that were truncated in previous version. 2019-02-04 11:39:47 +01:00
Mounir IDRASSI
202caea3a9 Windows: enhancements to EFI system encryption, like handling of Multi-Boot and better compatibility with Windows Upgrade process. 2019-01-15 15:05:19 +01:00
Mounir IDRASSI
7ef3d5e369 Windows: Enable selection of Quick Format for file containers. Separate Quick Format and Dynamic Volume options. 2018-12-19 00:41:23 +01:00
Mounir IDRASSI
0557cac9cf Windows: don't use quick format by default when creating file containers using command line and add a switch to enable quick format explicitly in command line 2018-09-21 10:39:10 +02:00
Mounir IDRASSI
081287fc0a Windows: add /nosizecheck switch to VeraCrypt Format that allows disabling check on file container size against available free space on target disk. This enables to workaround a bug in Microsoft Distributed File System (DFS) that report wrong free disk space (https://support.microsoft.com/en-us/help/177127/incorrect-disk-free-space-information-for-a-dfs-client-share) 2018-09-21 10:39:09 +02:00
Mounir IDRASSI
d3060a97b6 Windows: fix regression when language selected in the setup during fresh install and that caused VeraCrypt background task to be disabled. 2018-09-03 01:00:54 +02:00
Mounir IDRASSI
f5a765e860 Windows: fix language selected in the installer not used by "Create Volume" wizard until reboot or exiting VeraCrypt main process. 2018-08-24 00:49:52 +02:00
Mounir IDRASSI
9376bc8f51 Windows: Add check on size of file container to ensure it's smaller than available free space on disk when this is required. 2018-08-24 00:49:51 +02:00
Mounir IDRASSI
558746c482 Windows: Fix regression that caused the system encryption wizard to crash when displaying password field. 2018-08-16 01:12:46 +02:00
Mounir IDRASSI
41ba7a06d3 Windows: Display a balloon tip warning or error message when the value pasted to password field is truncated or when there is no room for additional characters because of maximum password length reached 2018-08-07 00:58:49 +02:00
Mounir IDRASSI
17d9c1c6ec Windows: Fix system encryption issues on machines that always force booting on Microsoft bootloader (e.g. HP). 2018-04-23 16:59:37 +02:00
Mounir IDRASSI
ee6da31fb6 Language XML files: remove references to GOST89 since it is not supported anymore. 2017-11-28 23:31:08 +01:00
Mounir IDRASSI
d1b26d4bfe Windows: fix documentation and UI messages about the PIM constraints and calculation formula when EFI system encryption is using SHA-512 or Whirlpool. For historical reasons, if SHA-512 or Whirlpool is selected for EFI system encryption, then iterations = 15000 + (PIM x 1000) and not iterations = PIM x 2048 like the other algorithms. 2017-07-02 19:36:53 +02:00
Mounir IDRASSI
a0f2ffb90b Windows: when mounting multiple favorites, use PIM of previous favorite alongside its password if option "Include PIM when caching password" is selected alongside option "Temporarily cache password during Mount Favorite Volumes operations". 2017-07-02 19:36:52 +02:00
Mounir IDRASSI
0ebc26e125 Update IDRIX copyright year 2017-06-23 22:15:59 +02:00
Mounir IDRASSI
46a3fe1458 Windows: fix compiler warnings 2017-06-11 17:28:19 +02:00
Mounir IDRASSI
0ef137c0a4 Windows: Correctly open online help when selected in menu. Remove unused parameters to function AppLink. 2017-06-05 01:41:47 +02:00
Mounir IDRASSI
5651d505f5 Windows: Only offer valid cluster sizes when ReFS is selected in the volume format wizard. 2017-05-28 00:04:31 +02:00
Mounir IDRASSI
bc8e6fa5bd Windows: add support for ReFS on Windows 10 when creating normal volumes. 2017-05-28 00:04:30 +02:00
Mounir IDRASSI
86ababb2a4 Windows: fix Hour Glass cursor still displayed in some cases after Format wizard operation is finished. 2017-05-26 00:38:33 +02:00
Mounir IDRASSI
74b82118d5 Windows: use IOCTL_DISK_GET_DRIVE_GEOMETRY_EX instead of the deprecated IOCTL_DISK_GET_DRIVE_GEOMETRY in order to get accurate disk size value. 2017-05-17 00:46:41 +02:00
Mounir IDRASSI
e831198b3b Windows: Fix Streebog not recognized by /hash command line switch but making hash names matching more generic. 2017-01-12 09:42:54 +01:00
Mounir IDRASSI
e362d804b0 Windows: Perform Shutdown instead of Reboot during Pre-Test of UEFI system encryption in order to detect machines where changes to EFI boot don't persist after shutdown. 2016-10-17 18:40:20 +02:00
Mounir IDRASSI
ce76957a10 Windows: Fix various issues detected by static analysis. 2016-08-16 10:04:07 +02:00
Mounir IDRASSI
87ee61bcb1 Windows: in EFI encryption wizard, always select "Single Boot" by default since it is the only choice. 2016-08-15 01:09:19 +02:00