Support for --stdin parameter in Windows version of VeraCrypt
Desired behavior
Add support for reading passwords from stdin in the Windows GUI version of VeraCrypt, similar to the existing --stdin functionality in Linux/MacOS versions (added in v1.14). This would allow secure automation without exposing passwords in command line arguments or temporary files.
Example usage:
echo password | VeraCrypt-x64.exe /v container.file /l W /q /stdin
I see there's already open issue #838 about this topic from 2021, and issue #24 from 2015 discussed the same security concern. The --stdin solution was implemented for Linux/MacOS but not for Windows.
What I've tried:
-
echo password | VeraCrypt-x64.exe /v container.file /l W /q /p "" /s- doesn't read from stdin -
echo password | VeraCrypt-x64.exe -t --non-interactive --stdin- "error while parsing command line"
Current limitations:
- The
-t(text mode) parameter is not supported in Windows - Only insecure methods available:
/p password(visible in process list) or/z file.txt
Questions:
- Are there plans to add --stdin support in Windows?
- Is there a COM interface or API for secure password passing from PowerShell/.NET?
- Any other secure automation method for Windows?
I noticed in issue #838 that a technical solution was proposed using GetStdHandle (https://gist.github.com/rhoot/2893136). Has there been any progress?
Additional information
Currently using RAM disk for temporary password files as a workaround. This feature would greatly improve security for automation scenarios on Windows.
Your Environment
VeraCrypt version: 1.26.24 Operating system and version: Windows 10 System type: 64-bit