Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for "Use Password..." option. #33

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

eth-p
Copy link
Contributor

@eth-p eth-p commented Apr 23, 2023

This series of commits adds support for detecting why TouchID authentication fails, as well as falling back to using pinentry-mac if the user selects the "Use Password..." option in the TouchID authentication prompt. If the user cancels the authentication, an empty password will be returned.

An important note to mention as part of this:

If pinentry-mac saved a passphrase in the keychain and the user chooses to use the "Use Password" fallback, pinentry-mac will read the passphrase from the keychain. If pinentry-mac was given the "Always allow" option, this means that returns the passphrase without prompting the user for any kind of password—which is a trivial way to bypass authentication entirely.

While I would argue that problem is more of a user-configuration problem than a problem with pinentry-touchid (since anyone with shell access could just replace the pinentry-program line in gpg-agent.conf with pinentry-mac to achieve the same thing), it's probably something worth mentioning regardless.

eth-p added 3 commits April 22, 2023 21:52
A small but important note: the use password button will make
`pinentry-touchid` fall back to `pinentry-mac` for the passphase. If
`pinentry-mac` has it saved in the keychain and has previously been
given "Always allow" access, the entire touchid prompt can be bypassed
trivially.
This relied on the old behavior of the `touchid` module, which didn't
return an error when authentication fails.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant