-
Notifications
You must be signed in to change notification settings - Fork 51
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
Keyrings, fetchers and databases #216
Comments
This has since been expanded in light of some portable accounts work, which require other keys to self-sign event JSON. The current model has:
All parts of the model:
This is brittle because:
Dendrite leans on this model heavily to pull out keys and then use them to verify events. It doesn't actually dig deep into the model though. The only bit it actually seems to care about are Proposal
type Key interface {
// Verify that the key was signed by the given tuple of name + key ID.
Verify(signingName string, keyID spec.KeyID) error
// The key in question.
Value() crypto.PublicKey
} This allows DBs to cache in a more optimised manner as well, as they aren't forced to marshal/unmarshal JSON. The main way these keys are obtained are via:
This can be interfaced up and concrete impls like pseudo IDs can just ignore the valid at TS (as it's always valid). |
The shape around this is a bit weird. We might want to rethink it at some point.
The text was updated successfully, but these errors were encountered: