My instance now supports EdDSA HTTP signatures. Could you send me some activity from this actor to verify? I already sent a Follow, but it was signed with my RSA key
@mariusor I was able to pull this activity. But it didn't work when you pushed it. The error is about invalid actor object. Maybe something is wrong with keyId parameter, I'll check that.
Feb 08 21:46:12 DBG Starting dissemination to remote collections. log=processing Feb 08 21:46:12 WRN Request did not meet this resource's requirements. iri=https://mitra.social/@silverpill/inbox log=client status="405 Method Not Allowed" Feb 08 21:46:12 WRN Unable to disseminate activity invalid status received: 405 log=processing Feb 08 21:46:12 INF Pushed to remote actor's collection https://mitra.social/@silverpill/inbox log=processing Feb 08 21:46:12 DBG Finished dissemination to remote collections. log=processing Feb 08 21:46:12 INF All OK! log=fedbox
I enabled detailed logging on my server and posted an activity via C2S API as you suggested.
It appears that POST requests are signed by https://federated.id/#main. My server tries to load the https://federated.id/ actor and rejects it because it doesn't have a preferredUsername property (not required by AP, but very common and my server needs it). My server also expects signing key to be owned by activity actor, but I can change that if needed (same origin is ok). Finally, https://federated.id/#main is an RSA key :)
1/ signed by the instance actor - to decouple key verification from processing the activities (and add a modicum of anonymity on behalf of whom the request is done) 2/ No preferredUsername because naming things is hard (and the instance is named through its url) 3/ mixed keys, well, I changed the instance key to mastodon compatible a while back