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

Proposal: Keyring in keyring? Or how to reduce the number of items in a Keychain-backed keyring #50

Open
nickatsegment opened this issue Jul 15, 2019 · 0 comments

Comments

@nickatsegment
Copy link

Hi, I'm the (main) maintainer of aws-okta. We don't sign our Mac OS X builds, so we constantly run into the issue of users having to reauthorize aws-okta for all its Keychain items, every time the binary changes (upgrades, new builds during dev, ...).

Probably, the best solution is to figure out signing, but my workaround was to collapse all items into a single JSON item. But it made me think that maybe this is useful to keyring more generally. It's essentially a JSON-backed, unencrypted keyring in a second Keychain-backed keyring item.

First off, I'm wondering if this is actually useful to any other users.

Second, I'm wondering how this should be implemented.

One approach is to add a new type like:

type KeyringInKeyring struct {
	Parent *Keyring
	ParentItemKey string
}

That would basically proxy Keyring.* methods to the parent keyring.

I'm not sure of the general utility of this approach. Another would be to solve this specific use case with a new backend SingleItemKeychain that would embed all Items in a single Keychain item.

Thoughts? To be clear, I'm considering contributing this myself.

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

No branches or pull requests

1 participant