-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathed448_test.go
More file actions
56 lines (38 loc) · 1.4 KB
/
ed448_test.go
File metadata and controls
56 lines (38 loc) · 1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package ed448_test
import (
"testing"
"github.com/cloudflare/circl/sign/ed448"
"github.com/lestrrat-go/dsig"
"github.com/stretchr/testify/require"
_ "github.com/lestrrat-go/dsig-circl-ed448"
)
func TestEd448SignVerifyRoundtrip(t *testing.T) {
t.Parallel()
pub, priv, err := ed448.GenerateKey(nil)
require.NoError(t, err, "Ed448 key generation should succeed")
payload := []byte("Ed448 roundtrip test")
signed, err := dsig.Sign(priv, "Ed448", payload, nil)
require.NoError(t, err, "signing should succeed")
err = dsig.Verify(pub, "Ed448", payload, signed)
require.NoError(t, err, "verifying should succeed")
}
func TestEd448VerifyWrongKey(t *testing.T) {
t.Parallel()
_, priv, err := ed448.GenerateKey(nil)
require.NoError(t, err)
otherPub, _, err := ed448.GenerateKey(nil)
require.NoError(t, err)
payload := []byte("wrong key test")
signed, err := dsig.Sign(priv, "Ed448", payload, nil)
require.NoError(t, err)
err = dsig.Verify(otherPub, "Ed448", payload, signed)
require.Error(t, err, "verifying with wrong key should fail")
}
func TestEd448InvalidKeyType(t *testing.T) {
t.Parallel()
payload := []byte("invalid key test")
_, err := dsig.Sign("not a key", "Ed448", payload, nil)
require.Error(t, err, "signing with invalid key type should fail")
err = dsig.Verify("not a key", "Ed448", payload, []byte("fake sig"))
require.Error(t, err, "verifying with invalid key type should fail")
}