#3875 closed task (fixed)

Server/client code for HTTP storage protocol fURLs

Reported by: itamarst Owned by: itamarst
Priority: normal Milestone: HTTP Storage Protocol
Component: unknown Version: n/a
Keywords: Cc:
Launchpad Bug:

Description (last modified by itamarst)

A HTTP storage fURL looks like pb://i5xb...@example.com:443/g3m5...#v=1, where i5xb... is the sha256 of the Subject Public Key Information. The g3m5... is the swissnum; the #v=1 means it's HTTP.

On the server-side:

  1. The HTTP server should be able to listen with TLS, given paths to key file and certificate file. (It already accepts the swissnum.)
  2. It should provide an API that returns the fURL in above format, at the moment purely to be used in testing.

On the client-side:

  1. The client should be able to determine the host/port to connect to from a fURL.
  2. Upon connecting, the client should verify:
    1. Expiration date of certificate; it hasn't expired.
    2. That the public key in the certificate has SPKI has that matches the one in the fURL.
    3. That the certificate was signed by the private key (i.e. self-signed).

Change History (4)

comment:1 Changed at 2022-03-01T15:37:54Z by itamarst

  • Description modified (diff)

comment:2 Changed at 2022-03-01T15:52:17Z by itamarst

  • Description modified (diff)

comment:3 Changed at 2022-03-01T16:00:37Z by itamarst

Worth checking to see if fURL can be represented by hyperlink library.

comment:4 Changed at 2022-04-14T16:25:03Z by GitHub <noreply@…>

  • Resolution set to fixed
  • Status changed from new to closed

In 46aa0777/trunk:

Merge pull request #1189 from tahoe-lafs/3875-http-storage-furls

HTTPS storage furls

Fixes ticket:3875

Note: See TracTickets for help on using tickets.