HTTP Signatures

By Fediverse Developer Network

https://fedidevs.org/reference/signatures/

Adoption of current drafts of HTTP Signatures across the Fediverse.

ServiceLibraryAcceptsSends
algorithm="hs2019"(created) & (expires)Signature-Inputalgorithm(created) & (expires)Signature-Input
MastodonNonePartial5YesNorsa-sha256NoNo
Pleromapleroma/http_signaturesPartial1NoNorsa-sha256NoNo
PeerTube@peertube/http-signaturePartial7YesNo - Issuersa-sha256NoNo
WriteFreelywriteas/httpsigNo - IssueNoNorsa-sha256NoNo
PixelfedNonePartial1NoNorsa-sha256NoNo
Misskeyhttp-signatureNo - IssueYesNorsa-sha256NoNo
FriendicaNonePartial5YesNorsa-sha256NoNo
HubzillaNonePartial2NoNorsa-sha256NoNo
FunkwhaleEliotBerriot/requests-http-signature#signature-header-support 3NoNo4Norsa-sha256NoNo
PlumeNonePartial1NoNorsa-sha256NoNo
Mobilizonpleroma/http_signaturesPartial1NoNorsa-sha256NoNo
Lemmyhttp-signature-normalizationPartial1YesNohs2019YesNo
GNU socialNonePartial1NoNorsa-sha256NoNo
lotidehancockMaybe6YesNohs2019NoNo
  • 1 This implementation assumes all signatures use SHA256
  • 2 This implementation uses the passed algorithm if known (not recommended by the spec), but falls back to SHA256 if unrecognized, which technically works for current uses of hs2019
  • 3 Temporary fork, see this issue
  • 4 Implemented in upstream library, but not released yet
  • 5 This implementation assumes "hs2019" is equivalent to "rsa-sha256", which is not recommended but is technically compatible with current uses of hs2019
  • 6 This implementation technically supports signature algorithm derivation, but given that it's the only one, this is not a standard
  • 7 This implementation assumes "hs2019" is equivalent to "rsa-sha512"

Graciously provided under CC0 from this Github repo.