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

Create an identity management module #27

Open
sbazerque opened this issue Aug 31, 2022 · 0 comments
Open

Create an identity management module #27

sbazerque opened this issue Aug 31, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@sbazerque
Copy link
Member

sbazerque commented Aug 31, 2022

Right now, Identity objects are HashedObject derivatives and are stored as any other object. They contain some information about the holder of the identity -just an info map, I usually use just two fields (info.name and info.type) but it's really application defined- and a key pair. Whenever an object is assigned an author (by means of obj.setAuthor(id), when it is saved in the store that id object will be looked up in the store and used to cryptographically sign obj. Hence the store is functioning as an identity & key store as well. A trick is used to prevent the private part of the key pair being synchronized whenever the identity is sent to other peers: the hash of the private part is replaced by a custom computation that's done on-the-fly, so that the Identity object has no hash-references pointing to the private key that would make the synchronizer to actually send it.

I'd like to move the identity / signing part to a different module, and allow for the application to impose limitations to what things can be signed with each loaded identity. I'd also like to make this more explicit, and not rely on any exceptional behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant