14 71191436 2024-02-28 o func readPrivKey(name string) (*rsa.PrivateKey, error) {
15 71191436 2024-02-28 o b, err := os.ReadFile(name)
16 71191436 2024-02-28 o if err != nil {
17 71191436 2024-02-28 o return nil, err
19 71191436 2024-02-28 o block, _ := pem.Decode(b)
20 71191436 2024-02-28 o return x509.ParsePKCS1PrivateKey(block.Bytes)
23 71191436 2024-02-28 o func TestSign(t *testing.T) {
24 71191436 2024-02-28 o req, err := http.NewRequest(http.MethodPost, "http://example.invalid", strings.NewReader("hello, world!"))
25 71191436 2024-02-28 o if err != nil {
28 71191436 2024-02-28 o key, err := readPrivKey("testdata/private.pem")
29 71191436 2024-02-28 o if err != nil {
32 71191436 2024-02-28 o if err := Sign(req, key, "http://from.invalid/actor"); err != nil {
35 71191436 2024-02-28 o fmt.Println(req.Header.Get("Digest"))
36 71191436 2024-02-28 o fmt.Println(req.Header.Get("Signature"))