-
-
Notifications
You must be signed in to change notification settings - Fork 39
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
passage: add support for multiple identity files #52
base: main
Are you sure you want to change the base?
Conversation
Thanks for your work. Actually the current documentation for usage with Yubikey is rather confusing without this as it seems to imply multiple identities work: Line 54 in 42cb195
But in practice trying to show a password...
|
I see you've already identified this in your original issue #51:
I guess this documentation could be improved upon but now I'm realizing it is not necessarily as closely related to this PR as I had originally thought. |
I was able to replicate this feature here: jhvst/nix-config@f5592dc I use a Yubikey HMAC and a Trezor. Would be nice to see this merged! |
This comment was marked as resolved.
This comment was marked as resolved.
@mntn-xyz Encrypting to multiple keys (e.g. for backup), and decrypting with the identity that is available is already supported by Passage. The same applies to your use case for a shared repository of secrets. Encryption can use recipients files (which can have multiple recipients). What this PR is about is when a single user needs to use multiple private keys for decryption 'simultaneously' (i.e. some secrets are encrypted using one secret of this user, other secrets using another of this user). This PR has no impact on age plugins, only on Passage plugins. Age plugins are handed all identities in order, something that has always been supported. I'm not sure why |
@remko Thanks for the clarification. I think I just misunderstood the purpose of this due to the discussion of Yubikeys. I was working late on this and it sounded like this was about passing additional identities to age and then to age plugins. I see now you mentioned "extensions" here, not plugins, and honestly I wasn't even aware that passage had extensions! TIL. |
Resolves #51
identities
is a directory, pass all files in that directory in alphabetical order as-i
arguments toage
-i
arguments asAGE_IDENTITY_ARGS
variable to extensions.IDENTITIES_FILE
to extensions for backwards compatibility.