-
Notifications
You must be signed in to change notification settings - Fork 151
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
compute_signature should skip all transient properties not only signature #234
Comments
There seem to be other recent issues with signature/validation/saving, and yes I agree that we should be
My take is that we should have a That way sign is simple, and can raise if ever there are fields it does not know about. Pingin @echarles as we were talking about other signature issues this morning, and it might be of interest to him. |
This sounds like a document Canonicalization or Normalization step. LD-proofs now specifies how to future-proof inlined JSON-LD document signatures. From https://w3c-ccg.github.io/ld-proofs/#advanced-terminology :
EXAMPLE 7
From https://json-ld.github.io/rdf-dataset-canonicalization/spec/#introduction :
Maybe ~URDNA2015 + special custom nbformat normalizations would be ideal. Or, at least nothing that would preclude later use of URDNA2015 (and JSON-LD (for nb metadata and JSON-LD cell outputs))? |
JupterLab has started recently unconditionally adding
orig_nbformat: 1
into edited notebook since jupyterlab/jupyterlab#10118. This broke notebook trust, sinceorig_nbformat
is included insign.compute_signature
but is later stripped inv4/rwbase.strip_transient
on save. Therefore digest computed before save does not match one restored.sign.compute_signature
should not only dosignature_removed
but skip all transient metadata in order to ensure that we compute signature on exactly the same structure as it will be saved to disk.I am not jupyter developer so I don't want to propose PR as I don't know what is desired implementation of the fix for this problem.
This issue is related to jupyterlab/jupyterlab#11005
The text was updated successfully, but these errors were encountered: