Comments (5)
I just hit the same issue and was able to add a fallback scenario when pinentry-mac is called.
It worked for me and in case you want to try it out please check #21
# build a new binary with fallback support
go build -o pinentry-touchid-with-fallback main.go
Don't forget to set a proper path to a new binary in ~/.gnupg/gpg-agent.conf
and execute gpgconf --kill gpg-agent
from pinentry-touchid.
Any chance of a workaround or a config option to sensor.IsTouchIDAvailable()
to force a Touch ID prompt even when the lid is closed?
I have an M1 MBP and use Touch ID with the lid closed (using the new external keyboard with Touch ID) almost all the time.
A password fallback kind of negates the whole point of using pinentry-touchid
for me. 😔
from pinentry-touchid.
@lgarron Yep, this is definitively a use case that I want to support.
I haven't been able to find any API changes required for supporting the Magic Keyboard with Touch ID so far. We do not execute any additional checks beyond testing if the LAPolicyDeviceOwnerAuthenticationWithBiometrics
can be evaluated. My expectation/understanding was that the external Touch ID would behave exactly as the built in one (which doesn't seem to be the case 🤔).
from pinentry-touchid.
Oh, I wanted to check what Apple would say about it and seems that @jorgelbg already did it :)
https://developer.apple.com/forums/thread/711838
Seems to be a bug related to LAContext
API
from pinentry-touchid.
I finally got my hands on an external keyboard with Touch ID for testing this properly. Sadly I'm not able to reproduce the issue:
pinentry-external-keyboard.mp4
as shown in the video, I'm using the command:
$ ioreg -r -k AppleClamshellState -d 4 | grep AppleClamshellState | head -1
to verify that the lid is actually closed, after that calling:
$ echo 1234 | /usr/local/bin/gpg -as -
as a simple test case successfully call pinentry-touchid and the unlocking works via the external Touch ID sensor.
For reference I'm testing on a 16" MacBook Pro with an Apple M1 Pro running macOS Monterey v12.5 (21G72). I'm also running the latest version of pinentry-touchid installed via home-brew (which still contains the same call to sensor.IsTouchIDAvailable()
with the fallback to pinentry-mac).
@lgarron can you provide any additional details about your issue or give it a try to the latest version?
from pinentry-touchid.
Related Issues (20)
- Can't get it to work on macOS Monterey 12.0.1 HOT 14
- No touchid prompt HOT 15
- pinentry-touchid cannot be configured until after you have a key HOT 2
- Conflict log file owner when using fast user switching on the Macbook. HOT 1
- No `SETKEYINFO` provided by `gpg-agent` HOT 1
- gpg: [stdin]: clear-sign failed: No pinentry HOT 1
- help needed: using Yubikey, no touch ID prompt, bad PIN error HOT 5
- Suggestion: Abandon the pinentry-mac. HOT 2
- Exporting key error HOT 1
- Respect PINENTRY_USER_DATA=USE_CURSES=1 HOT 3
- pinentry-touchid -fix is not a command HOT 5
- Pinentry Serve returned error: EOF HOT 14
- gpg: signing failed: No passphrase given HOT 4
- Error: Duplicated entry in the keychain when gpg has comment
- gpg: signing failed: Bad Passphrase
- Password not saved to Keychain HOT 1
- Key identifier is assumed to have a specific format despite warning in spec
- Consider clarify installation section (in case pinentry-mac does not installed)
- gpg throws "You may want to update to a newer pinentry" error during signing git commit (fresh install) HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pinentry-touchid.