Skip to content

Support for reading passwords from a specified fd#186

Open
Earnestly wants to merge 1 commit intoip7z:mainfrom
Earnestly:password-fd
Open

Support for reading passwords from a specified fd#186
Earnestly wants to merge 1 commit intoip7z:mainfrom
Earnestly:password-fd

Conversation

@Earnestly
Copy link

@Earnestly Earnestly commented Feb 7, 2026

This initial work adds the -pfd[N] flag to the 7z command so that an alternate file descriptor (fd) may be specified for reading the password instead of standard input (stdin).

By adding this flag it becomes possible for 7z to accept data from stdin for use with the -si flag while also being able to decrypt a password protected achieve without revealing the password on the command line.

For example, generating a secret key and storing it in an encrypted archive without the need to expose any of the data to a filesystem:

age-keygen | 7z a -p -pfd9 9< <(pass show archive) -siid.age archive.7z

As a side effect the password is not echoed to the terminal, however this PR should not conflict with the work in #33.

Closes #184

@Earnestly
Copy link
Author

Earnestly commented Feb 8, 2026

Fixed the extract command by wiring in the PasswordFd to ExtractConsoleCallback. It appears to be good now.

This initial work adds the -pfd[N] flag to the 7z command so that an
alternate file descriptor (fd) may be specified for reading the password
instead of standard input (stdin).

By adding this flag it becomes possible for 7z to accept data from stdin
for use with the -si flag while also being being able to decrypt a
password protected achieve without revealing the password on the
command line.

For example, generating a secret key and storing it in an encrypted archive
without the need to expose any of the data to a filesystem:

    age-keygen | 7z -pfd9 9< <(pass show archive) -siid.age a archive.7z

As a side effect the password is not echoed to the terminal, however
this PR should not conflict with the work in ip7z#33.
@Earnestly Earnestly marked this pull request as ready for review February 8, 2026 23:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support for reading the password from a different file descriptor than standard input

1 participant