Blame


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