Skip to content
0
  • Home
  • Piero Bosio
  • Blog
  • World
  • Fediverso
  • News
  • Categories
  • Old Web Site
  • Recent
  • Popular
  • Tags
  • Users
  • Home
  • Piero Bosio
  • Blog
  • World
  • Fediverso
  • News
  • Categories
  • Old Web Site
  • Recent
  • Popular
  • Tags
  • Users
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone
  1. Home
  2. Categories
  3. ActivityPub Server-to-Server
  4. RFC 9421 HTTP signatures in 2026

RFC 9421 HTTP signatures in 2026

Scheduled Pinned Locked Moved ActivityPub Server-to-Server
2 Posts 2 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • robey@socialhub.activitypub.rocksundefined This user is from outside of this forum
    robey@socialhub.activitypub.rocksundefined This user is from outside of this forum
    robey@socialhub.activitypub.rocks
    wrote on last edited by
    #1

    Now that RFC 9421 has been published and is no longer a draft, I think it would be a good idea to write a FEP (or other document) with implementation recommendations, to ensure interoperability between AP servers. The RFC describes how to create and verify signatures, but it’s still up to us to define things like the required fields to be signed, which algorithms are likely to work, and how to discover servers that support it.

    I believe HTTP signatures are still useful even with FEP-8b32 object signing, because they prove the authenticity of the origin server. That can be used to implement federation policies on private networks (not connected to the wider “fediverse”), or as a basis of trust before even parsing the AP object body. FEP-8b32 proofs validate the activity object itself and remain with the object as it traverses the network; HTTP signatures validate each link at the transport layer.

    Also, I think it’s fine & good for the popular servers (mastodon, misskey, gotosocial, …) to wait for smaller servers to shake out interoperability first. It’s easier for the small servers to iterate and debug. Once we have something working, the more popular servers can implement our consensus requirements with a higher confidence it will “just work”.

    Silverpill, in a separate thread, pointed me to a list of tootik’s HTTP signature requirements (here: https://github.com/dimkr/tootik/blob/d6fecfefd80a445b27f589250bb19ebcd95acee2/FEDERATION.md#http-signatures) and I think they make a good starting point, so I’ll kick off discussion with a lightly modified version:

    • require ed25519, recommend rsa-v1_5_sha256 also
    • required signed fields: @method, @target-uri
      • if a query is present, require: @query
      • for POST, also require: content-type, content-digest
    • advertise support using FEP-844e on the server actor
    • signatures must use public keys from FEP-521a (“assertionMethod”)
    • signatures must have a “recent” (one hour?) “created=” time, since this is a transport signature
    • signatures may use the server actor key if a FEP-8b32 object proof is present

    I’ve implemented a first draft of this in squidcity, and I’m excited to try it out with other small servers to see what works.

    evan@cosocial.caundefined 1 Reply Last reply
    0
    • robey@socialhub.activitypub.rocksundefined robey@socialhub.activitypub.rocks

      Now that RFC 9421 has been published and is no longer a draft, I think it would be a good idea to write a FEP (or other document) with implementation recommendations, to ensure interoperability between AP servers. The RFC describes how to create and verify signatures, but it’s still up to us to define things like the required fields to be signed, which algorithms are likely to work, and how to discover servers that support it.

      I believe HTTP signatures are still useful even with FEP-8b32 object signing, because they prove the authenticity of the origin server. That can be used to implement federation policies on private networks (not connected to the wider “fediverse”), or as a basis of trust before even parsing the AP object body. FEP-8b32 proofs validate the activity object itself and remain with the object as it traverses the network; HTTP signatures validate each link at the transport layer.

      Also, I think it’s fine & good for the popular servers (mastodon, misskey, gotosocial, …) to wait for smaller servers to shake out interoperability first. It’s easier for the small servers to iterate and debug. Once we have something working, the more popular servers can implement our consensus requirements with a higher confidence it will “just work”.

      Silverpill, in a separate thread, pointed me to a list of tootik’s HTTP signature requirements (here: https://github.com/dimkr/tootik/blob/d6fecfefd80a445b27f589250bb19ebcd95acee2/FEDERATION.md#http-signatures) and I think they make a good starting point, so I’ll kick off discussion with a lightly modified version:

      • require ed25519, recommend rsa-v1_5_sha256 also
      • required signed fields: @method, @target-uri
        • if a query is present, require: @query
        • for POST, also require: content-type, content-digest
      • advertise support using FEP-844e on the server actor
      • signatures must use public keys from FEP-521a (“assertionMethod”)
      • signatures must have a “recent” (one hour?) “created=” time, since this is a transport signature
      • signatures may use the server actor key if a FEP-8b32 object proof is present

      I’ve implemented a first draft of this in squidcity, and I’m excited to try it out with other small servers to see what works.

      evan@cosocial.caundefined This user is from outside of this forum
      evan@cosocial.caundefined This user is from outside of this forum
      evan@cosocial.ca
      wrote on last edited by
      #2

      @robey there's a task force for HTTP Signature in the SocialCG:

      https://swicg.github.io/activitypub-http-signature/

      It would be cool to do a revised report, or a new report, for supporting the published version of HTTP Signature and especially for smooth transition from draft-cavage-11.

      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      Feed RSS
      RFC 9421 HTTP signatures in 2026

      Gli ultimi otto messaggi ricevuti dalla Federazione
      • evan@cosocial.caundefined
        evan@cosocial.ca

        @robey there's a task force for HTTP Signature in the SocialCG:

        https://swicg.github.io/activitypub-http-signature/

        It would be cool to do a revised report, or a new report, for supporting the published version of HTTP Signature and especially for smooth transition from draft-cavage-11.

        read more

      • robey@socialhub.activitypub.rocksundefined
        robey@socialhub.activitypub.rocks

        Now that RFC 9421 has been published and is no longer a draft, I think it would be a good idea to write a FEP (or other document) with implementation recommendations, to ensure interoperability between AP servers. The RFC describes how to create and verify signatures, but it’s still up to us to define things like the required fields to be signed, which algorithms are likely to work, and how to discover servers that support it.

        I believe HTTP signatures are still useful even with FEP-8b32 object signing, because they prove the authenticity of the origin server. That can be used to implement federation policies on private networks (not connected to the wider “fediverse”), or as a basis of trust before even parsing the AP object body. FEP-8b32 proofs validate the activity object itself and remain with the object as it traverses the network; HTTP signatures validate each link at the transport layer.

        Also, I think it’s fine & good for the popular servers (mastodon, misskey, gotosocial, …) to wait for smaller servers to shake out interoperability first. It’s easier for the small servers to iterate and debug. Once we have something working, the more popular servers can implement our consensus requirements with a higher confidence it will “just work”.

        Silverpill, in a separate thread, pointed me to a list of tootik’s HTTP signature requirements (here: https://github.com/dimkr/tootik/blob/d6fecfefd80a445b27f589250bb19ebcd95acee2/FEDERATION.md#http-signatures) and I think they make a good starting point, so I’ll kick off discussion with a lightly modified version:

        require ed25519, recommend rsa-v1_5_sha256 alsorequired signed fields: @method, @target-uriif a query is present, require: @queryfor POST, also require: content-type, content-digestadvertise support using FEP-844e on the server actorsignatures must use public keys from FEP-521a (“assertionMethod”)signatures must have a “recent” (one hour?) “created=” time, since this is a transport signaturesignatures may use the server actor key if a FEP-8b32 object proof is present

        I’ve implemented a first draft of this in squidcity, and I’m excited to try it out with other small servers to see what works.

        read more
      @pierobosio@soc.bosio.info
      Running NodeBB v4.7.2 Contributors
      Post suggeriti
      • Login

      • Login or register to search.
      • First post
        Last post