-
Notifications
You must be signed in to change notification settings - Fork 17
Signing request #92
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
Signing request #92
Conversation
|
And an implementation of the feature on Nextcloud: nextcloud/server#45979 |
|
Hi there, interesting proposal indeed, it would nicely complement the recent additions related to discovering the remote end. Could you please patch the |
|
Also, in GNAP I just read:
I wonder if/how that would apply to OCM. GNAP "client instance" = OCM receiving server |
glpatcern
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi there, thanks for the extra contribution. I went through the proposal in more details and apart some minor fixes/rephrasing, there are a couple of questions we need to address before proceeding.
|
I've something to add here, it's from the ActivityPub,
So the actors are the users on the server, and each user has a key pair. The requests are signed with the private key of the user initiating the request (and not the server). There is also an |
|
We should merge this into the spec as optional, great stuff! |
|
I concur this is a most welcome development to be merged to the spec. I also linked #23 from a few years back as it suggests exactly the same thing. |
|
An RFC came out in February, looks like this is intended to replace the I-D from 2019? |
Co-authored-by: Giuseppe Lo Presti <[email protected]>
Co-authored-by: Giuseppe Lo Presti <[email protected]>
Co-authored-by: Giuseppe Lo Presti <[email protected]>
Co-authored-by: Giuseppe Lo Presti <[email protected]>
Co-authored-by: Giuseppe Lo Presti <[email protected]>
Co-authored-by: Giuseppe Lo Presti <[email protected]>
Co-authored-by: Giuseppe Lo Presti <[email protected]>
mickenordin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me now.
glpatcern
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only a few minor fixes remaining.
Otherwise, I don't think it's good to have language-specific code examples in the spec. If you want to move forward let's merge this as is, but please open an issue that the example on how to perform the signing and the verification should be done in a more abstract way, especially without language-specific primitives such as implode() (Let's say up to base64_encode(hash('sha256', utf8_encode($payload))) is fine!).
Co-authored-by: Giuseppe Lo Presti <[email protected]>
Thanks! Yes, let's merge this now and then I'll add my own ideas in a follow-up PR |
|
sorry, was overhelmed with work in the last few weeks, not even able to free me for those weekly calls |

This is an attempt to add an way to confirm the origin of an incoming request when running an OCM request to ensure both party known each others
Signing Request
Signing request allows to confirm the identity of the sender.
Signing request does not encrypt nor affect its payload.
Signing request only adds metadata to the headers of the request.
Discovery
A signatory containing a keyId and the public key is added to the OCM discovery
Signature
The concept is to add unique metadata and sign them using a private/public key pair.
The location of the public key used to verify the signature will confirm the origin of the request.
Signature does not affect the data of the request, it only adds headers to it: