feat: implement reader-facing signature validation #13

Closed
opened 2025-09-27 20:41:46 +00:00 by treadful · 2 comments
Owner

There's a few options.

  1. Simply display a checkmark and signature after the server validates (maybe offer raw downloads?)
  2. Implement client-side validation, where the client fetches the raw file and validates the signature on its own.
  3. Implement in the CLI client to validate foreign signatures

1 is relatively easy but requires trust of the server. 2 will no doubt have implementation difficulties between whatever JS (WASM?) ECDSA/secp256k implementation we get. 3 might be the most straight forward option, since most of the code needed is already there.

  • feat(server): server-side signature validation #94
  • feat(client): client-side signature validation #95
  • feat(server): authentication instructions in footer #96
There's a few options. 1) Simply display a checkmark and signature after the server validates (maybe offer raw downloads?) 2) Implement client-side validation, where the client fetches the raw file and validates the signature on its own. 3) Implement in the CLI client to validate foreign signatures 1 is relatively easy but requires trust of the server. 2 will no doubt have implementation difficulties between whatever JS (WASM?) ECDSA/secp256k implementation we get. 3 might be the most straight forward option, since most of the code needed is already there. - [ ] feat(server): server-side signature validation #94 - [ ] feat(client): client-side signature validation #95 - [ ] feat(server): authentication instructions in footer #96
treadful added this to the 0.1 milestone 2025-09-27 20:41:46 +00:00
Author
Owner

Wondering if client-side validation could be implemented with WASM to allow the use of the same code as the server and client does. This might take a while though since there'll be some new learning but it'll be simpler in the long run.

Maybe push option 2 into the distant future.

Option 1 could be done on the server while doing real validation (to ensure storage wasn't fooled with). And option 3 just needs to be exposed to users somehow.

I think all options are valid and this issue should be split up.

Wondering if client-side validation could be implemented with WASM to allow the use of the same code as the server and client does. This might take a while though since there'll be some new learning but it'll be simpler in the long run. Maybe push option 2 into the distant future. Option 1 could be done on the server while doing real validation (to ensure storage wasn't fooled with). And option 3 just needs to be exposed to users somehow. I think all options are valid and this issue should be split up.
Author
Owner

Should be noted that option 3 has already been implemented in the CLI client. It just needs to be exposed to the user on the Web page.

Closing this issue since it's been broken out into the 3 options.

Should be noted that option 3 has already been implemented in the CLI client. It just needs to be exposed to the user on the Web page. Closing this issue since it's been broken out into the 3 options.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
treadful/jot#13
No description provided.