Blob


1 package apub
3 import (
4 "crypto/rsa"
5 "crypto/x509"
6 "encoding/pem"
7 "net/http"
8 "os"
9 "strings"
10 "testing"
11 )
13 func readPrivKey(name string) (*rsa.PrivateKey, error) {
14 b, err := os.ReadFile(name)
15 if err != nil {
16 return nil, err
17 }
18 block, _ := pem.Decode(b)
19 return x509.ParsePKCS1PrivateKey(block.Bytes)
20 }
22 func TestSign(t *testing.T) {
23 req, err := http.NewRequest(http.MethodPost, "http://example.invalid", strings.NewReader("hello, world!"))
24 if err != nil {
25 t.Fatal(err)
26 }
27 key, err := readPrivKey("testdata/private.pem")
28 if err != nil {
29 t.Fatal(err)
30 }
31 if err := Sign(req, key, "http://from.invalid/actor"); err != nil {
32 t.Fatal(err)
33 }
34 }