Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
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

NodeBB

  1. Home
  2. General Discussion
  3. Could be potentially nice for fediverse server testing, as more implementations make the jump to final RFC 9421 HTTP signatures.

Could be potentially nice for fediverse server testing, as more implementations make the jump to final RFC 9421 HTTP signatures.

Scheduled Pinned Locked Moved General Discussion
activitypubfedidevrfc9421
51 Posts 11 Posters 6 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.
  • julian@fietkau.socialJ julian@fietkau.social

    RE: https://mastodon.social/@bagder/116359048796181736

    Could be potentially nice for fediverse server testing, as more implementations make the jump to final RFC 9421 HTTP signatures.

    On the flip side, ever more complex curl invocations (here: Accept header plus signature fields plus key file, presumably) suggest use of more specialized CLI tools, such as provided by @fedify, or at least scripts/aliases.

    Speaking of RFC 9421, which notable fediverse implementations can't handle it yet? Anyone keeping track?

    #ActivityPub #FediDev #RFC9421

    mro@digitalcourage.socialM This user is from outside of this forum
    mro@digitalcourage.socialM This user is from outside of this forum
    mro@digitalcourage.social
    wrote on last edited by
    #21

    Hi @julian @fedify,
    #complexity benefits the big players. That's huge harm to diverse #federation. Challenge it, refuse it, stop it.

    evan@cosocial.caE 1 Reply Last reply
    0
    • julian@fietkau.socialJ julian@fietkau.social

      RE: https://mastodon.social/@bagder/116359048796181736

      Could be potentially nice for fediverse server testing, as more implementations make the jump to final RFC 9421 HTTP signatures.

      On the flip side, ever more complex curl invocations (here: Accept header plus signature fields plus key file, presumably) suggest use of more specialized CLI tools, such as provided by @fedify, or at least scripts/aliases.

      Speaking of RFC 9421, which notable fediverse implementations can't handle it yet? Anyone keeping track?

      #ActivityPub #FediDev #RFC9421

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

      @julian @fedify tags.pub now accepts RFC 9421 and does double-knocking (with cached results) for outgoing requests.

      julian@fietkau.socialJ 1 Reply Last reply
      0
      • evan@cosocial.caE evan@cosocial.ca

        @julian @fedify tags.pub now accepts RFC 9421 and does double-knocking (with cached results) for outgoing requests.

        julian@fietkau.socialJ This user is from outside of this forum
        julian@fietkau.socialJ This user is from outside of this forum
        julian@fietkau.social
        wrote on last edited by
        #23

        @evan Great work! 👍

        evan@cosocial.caE 1 Reply Last reply
        0
        • julian@fietkau.socialJ julian@fietkau.social

          @evan Great work! 👍

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

          @julian I started a conversation on public-swicg about doing a new version of the HTTP Signature report.

          https://lists.w3.org/Archives/Public/public-swicg/2026Apr/0013.html

          mariusor@metalhead.clubM 1 Reply Last reply
          0
          • evan@cosocial.caE evan@cosocial.ca

            @julian I started a conversation on public-swicg about doing a new version of the HTTP Signature report.

            https://lists.w3.org/Archives/Public/public-swicg/2026Apr/0013.html

            mariusor@metalhead.clubM This user is from outside of this forum
            mariusor@metalhead.clubM This user is from outside of this forum
            mariusor@metalhead.club
            wrote on last edited by
            #25

            @evan while perusing the spec, I realized that an implementation doesn't really need double knocking at all.

            Any implementation can just stuff two Signature headers in there, one for the cavage v12 version, and one for RFC9421, and requests should still be valid.

            Can anyone trust cavage HTTP signature verifiers to not break on this: no, probably not... 😞

            @julian

            evan@cosocial.caE 1 Reply Last reply
            0
            • mariusor@metalhead.clubM mariusor@metalhead.club

              @evan while perusing the spec, I realized that an implementation doesn't really need double knocking at all.

              Any implementation can just stuff two Signature headers in there, one for the cavage v12 version, and one for RFC9421, and requests should still be valid.

              Can anyone trust cavage HTTP signature verifiers to not break on this: no, probably not... 😞

              @julian

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

              @mariusor @julian probably not.

              evan@cosocial.caE 1 Reply Last reply
              0
              • mro@digitalcourage.socialM mro@digitalcourage.social

                Hi @julian @fedify,
                #complexity benefits the big players. That's huge harm to diverse #federation. Challenge it, refuse it, stop it.

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

                @mro @julian @fedify everyone who wants to can park on draft-cavage-12 indefinitely. As long as others double-knock, you'll be fine. Then, when everyone else has converted, switch to RFC 9421 with no detection or fallback. That keep things simple.

                evan@cosocial.caE mro@digitalcourage.socialM 2 Replies Last reply
                0
                • evan@cosocial.caE evan@cosocial.ca

                  @mro @julian @fedify everyone who wants to can park on draft-cavage-12 indefinitely. As long as others double-knock, you'll be fine. Then, when everyone else has converted, switch to RFC 9421 with no detection or fallback. That keep things simple.

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

                  @mro @julian @fedify of course, the Postel principle is pro-network and pro-social; it keeps people and servers connected. Which is what we're here to do.

                  1 Reply Last reply
                  0
                  • evan@cosocial.caE evan@cosocial.ca

                    @mariusor @julian probably not.

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

                    @mariusor @julian you only have to double knock once, though. Or, rather, once in a while.

                    mariusor@metalhead.clubM 1 Reply Last reply
                    0
                    • evan@cosocial.caE evan@cosocial.ca

                      @mro @julian @fedify everyone who wants to can park on draft-cavage-12 indefinitely. As long as others double-knock, you'll be fine. Then, when everyone else has converted, switch to RFC 9421 with no detection or fallback. That keep things simple.

                      mro@digitalcourage.socialM This user is from outside of this forum
                      mro@digitalcourage.socialM This user is from outside of this forum
                      mro@digitalcourage.social
                      wrote on last edited by
                      #30

                      Hi @evan
                      regarding 'keeps things simple' - have you looked into #RFC9421?
                      (Looking at you, Innerlist https://doi.org/10.17487/RFC9421)

                      All this #complexity for what benefit?

                      @julian @fedify

                      P.S.: I don't consider #ActivityPub to be simple in the first place, so hard to keep it simple that way.

                      evan@cosocial.caE smallcircles@social.coopS 2 Replies Last reply
                      0
                      • mro@digitalcourage.socialM mro@digitalcourage.social

                        Hi @evan
                        regarding 'keeps things simple' - have you looked into #RFC9421?
                        (Looking at you, Innerlist https://doi.org/10.17487/RFC9421)

                        All this #complexity for what benefit?

                        @julian @fedify

                        P.S.: I don't consider #ActivityPub to be simple in the first place, so hard to keep it simple that way.

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

                        @mro @julian @fedify

                        Yes, I just finished implementing it.

                        I agree, HTTP Message Signatures aren't simple.

                        Sticking with one spec as long as possible and swapping to the other when you need to is the simplest strategy to manage that transition.

                        evan@cosocial.caE 1 Reply Last reply
                        0
                        • evan@cosocial.caE evan@cosocial.ca

                          @mro @julian @fedify

                          Yes, I just finished implementing it.

                          I agree, HTTP Message Signatures aren't simple.

                          Sticking with one spec as long as possible and swapping to the other when you need to is the simplest strategy to manage that transition.

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

                          @mro @julian @fedify for server-to-server authentication, I think there are other mechanisms that could be simpler.

                          My friend @blaine says that if you get to PKI, you've gone too far, and you need to look for other options.

                          For pump.io, I used two-legged OAuth, which was pretty nice. I kick-started it with a dialback mechanism:

                          https://datatracker.ietf.org/doc/html/draft-prodromou-dialback-00

                          I also think mutual TLS would be a good option.

                          1 Reply Last reply
                          0
                          • evan@cosocial.caE evan@cosocial.ca

                            @gabboman @fedify @julian I'm adding it to activitypub-bot this week. I'll send a link when it's up.

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

                            @gabboman @fedify @julian

                            https://github.com/evanp/activitypub-bot

                            gabboman@gabboman.xyzG 1 Reply Last reply
                            0
                            • evan@cosocial.caE This user is from outside of this forum
                              evan@cosocial.caE This user is from outside of this forum
                              evan@cosocial.ca
                              wrote on last edited by
                              #34

                              @mayel @Bonfire why not do double-knocking, especially if you're already caching signature policy by host?

                              1 Reply Last reply
                              0
                              • evan@cosocial.caE evan@cosocial.ca

                                @gabboman @fedify @julian

                                https://github.com/evanp/activitypub-bot

                                gabboman@gabboman.xyzG This user is from outside of this forum
                                gabboman@gabboman.xyzG This user is from outside of this forum
                                gabboman@gabboman.xyz
                                wrote on last edited by
                                #35

                                @julian@fietkau.social @fedify@hollo.social @evan@cosocial.ca

                                If you send me the part of send signature code that would bee neat


                                #Thankss
                                evan@cosocial.caE 1 Reply Last reply
                                0
                                • gabboman@gabboman.xyzG gabboman@gabboman.xyz

                                  @julian@fietkau.social @fedify@hollo.social @evan@cosocial.ca

                                  If you send me the part of send signature code that would bee neat


                                  #Thankss
                                  evan@cosocial.caE This user is from outside of this forum
                                  evan@cosocial.caE This user is from outside of this forum
                                  evan@cosocial.ca
                                  wrote on last edited by
                                  #36

                                  @gabboman @julian @fedify

                                  https://github.com/evanp/activitypub-bot/blob/main/lib%2Fhttpmessagesignature.js#L41

                                  evan@cosocial.caE 1 Reply Last reply
                                  0
                                  • evan@cosocial.caE evan@cosocial.ca

                                    @gabboman @julian @fedify

                                    https://github.com/evanp/activitypub-bot/blob/main/lib%2Fhttpmessagesignature.js#L41

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

                                    @gabboman @julian @fedify

                                    Here's the code that does the double-knock. Between the caching, rate limit throttling, and double-knocking it's a real bear to read, though.

                                    https://github.com/evanp/activitypub-bot/blob/main/lib%2Factivitypubclient.js#L90

                                    1 Reply Last reply
                                    0
                                    • evan@cosocial.caE evan@cosocial.ca

                                      @mariusor @julian you only have to double knock once, though. Or, rather, once in a while.

                                      mariusor@metalhead.clubM This user is from outside of this forum
                                      mariusor@metalhead.clubM This user is from outside of this forum
                                      mariusor@metalhead.club
                                      wrote on last edited by
                                      #38

                                      @evan you mean, if you cache the one that worked? Sadly I don't have that available to me directly in GoActivityPub... Of course one might add support for that, but there isn't a straightforward way to introspect which knock worked for a specific request. Maybe something I need to add to my todo list...

                                      @julian

                                      evan@cosocial.caE 1 Reply Last reply
                                      0
                                      • mariusor@metalhead.clubM mariusor@metalhead.club

                                        @evan you mean, if you cache the one that worked? Sadly I don't have that available to me directly in GoActivityPub... Of course one might add support for that, but there isn't a straightforward way to introspect which knock worked for a specific request. Maybe something I need to add to my todo list...

                                        @julian

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

                                        @mariusor @julian yes, cache the one that worked. With a long but not infinite expiry, so if the host upgrades to a new version of the software that supports RFC 9421, eventually you try again.

                                        1 Reply Last reply
                                        0
                                        • mro@digitalcourage.socialM mro@digitalcourage.social

                                          Hi @evan
                                          regarding 'keeps things simple' - have you looked into #RFC9421?
                                          (Looking at you, Innerlist https://doi.org/10.17487/RFC9421)

                                          All this #complexity for what benefit?

                                          @julian @fedify

                                          P.S.: I don't consider #ActivityPub to be simple in the first place, so hard to keep it simple that way.

                                          smallcircles@social.coopS This user is from outside of this forum
                                          smallcircles@social.coopS This user is from outside of this forum
                                          smallcircles@social.coop
                                          wrote on last edited by
                                          #40

                                          @mro @evan @julian @fedify

                                          P.P.S. My latest blog post about #ActivityPub fediverse contains a "Back to (potentially radical) simplicity" call-to-reflection (among other subject matters) .. https://social.coop/@smallcircles/116368803389082089

                                          Solution is.. difficult, but simple, yet not easy. 😝

                                          #SX #SocialCoding #ParadoxOfEmergence

                                          evan@cosocial.caE 1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          Powered by NodeBB Contributors
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups