aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulio Capote <jcapote@gmail.com>2023-01-05 23:54:09 +0000
committerJulio Capote <jcapote@gmail.com>2023-01-05 23:54:09 +0000
commit8611bf49e7ed616efa75b00144ac45a664655e98 (patch)
tree5f54a58a0fc25f32a1b1322c5828962a3ad88f3a
parent217f0ac8e4c66f76908d1b3bf2142ad664147cd4 (diff)
downloadcommunique-8611bf49e7ed616efa75b00144ac45a664655e98.tar.gz
try this
-rw-r--r--registry/registry.go11
1 files changed, 7 insertions, 4 deletions
diff --git a/registry/registry.go b/registry/registry.go
index a7d5b47..2280e1d 100644
--- a/registry/registry.go
+++ b/registry/registry.go
@@ -280,18 +280,21 @@ func (r *Registry) deliverAcceptToInbox(url, actorUrl, actorKeyUrl *url.URL, fol
request.Header.Get("host"),
).Debugf("signing request")
- signed_string := fmt.Sprintf("(request-target): post /users/capotej/inbox\nhost: %s\ndate: %s", url.Host, date)
+ signed_string := fmt.Sprintf("(request-target): post %s\nhost: %s\ndate: %s", url.Path, url.Host, date)
+
+ digest := sha256.New()
+ digest.Write([]byte(signed_string))
+ digestBytes := digest.Sum(nil)
- digest := sha256.Sum256([]byte(signed_string))
r.mu.Lock()
- signature, _ := rsa.SignPKCS1v15(rand.Reader, privKey, crypto.SHA256, digest[:])
+ signature, _ := rsa.SignPKCS1v15(rand.Reader, privKey, crypto.SHA256, digestBytes[:])
r.mu.Unlock()
b64sig := base64.StdEncoding.EncodeToString(signature)
h := sha256.New()
h.Write(jsonData)
- var header = `keyId="https://activitybub.xyz/actors/sample#key",algorithm="rsa-sha256",headers="(request-target) content-type date digest host",signature="` + b64sig + `"`
+ var header = `keyId="` + actorKeyUrl.Host + `",algorithm="rsa-sha256",headers="(request-target) content-type date digest host",signature="` + b64sig + `"`
request.Header.Add("Digest", "SHA-256="+base64.StdEncoding.EncodeToString(h.Sum(nil)))
request.Header.Add("Content-Type", "application/activity+json")