@@ -7,16 +7,17 @@ import (
7
7
"path/filepath"
8
8
"testing"
9
9
10
+ "github.com/secure-systems-lab/go-securesystemslib/dsse"
10
11
"github.com/stretchr/testify/assert"
11
12
)
12
13
13
- func TestNewEd25519SignerVerifierFromSSLibKey (t * testing.T ) {
14
- key , err := LoadEd25519KeyFromFile (filepath .Join ("test-data" , "ed25519-test-key.pub" ))
14
+ func TestNewED25519SignerVerifierFromSSLibKey (t * testing.T ) {
15
+ key , err := LoadED25519KeyFromFile (filepath .Join ("test-data" , "ed25519-test-key.pub" ))
15
16
if err != nil {
16
17
t .Error (err )
17
18
}
18
19
19
- sv , err := NewEd25519SignerVerifierFromSSLibKey (key )
20
+ sv , err := NewED25519SignerVerifierFromSSLibKey (key )
20
21
if err != nil {
21
22
t .Error (err )
22
23
}
@@ -29,13 +30,13 @@ func TestNewEd25519SignerVerifierFromSSLibKey(t *testing.T) {
29
30
assert .Nil (t , sv .private )
30
31
}
31
32
32
- func TestEd25519SignerVerifierSign (t * testing.T ) {
33
- key , err := LoadEd25519KeyFromFile (filepath .Join ("test-data" , "ed25519-test-key" ))
33
+ func TestED25519SignerVerifierSign (t * testing.T ) {
34
+ key , err := LoadED25519KeyFromFile (filepath .Join ("test-data" , "ed25519-test-key" ))
34
35
if err != nil {
35
36
t .Fatal (err )
36
37
}
37
38
38
- sv , err := NewEd25519SignerVerifierFromSSLibKey (key )
39
+ sv , err := NewED25519SignerVerifierFromSSLibKey (key )
39
40
if err != nil {
40
41
t .Error (err )
41
42
}
@@ -50,12 +51,12 @@ func TestEd25519SignerVerifierSign(t *testing.T) {
50
51
expectedSignature := []byte {0x80 , 0x72 , 0xb4 , 0x31 , 0xc5 , 0xa3 , 0x7e , 0xc , 0xf3 , 0x91 , 0x22 , 0x3 , 0x60 , 0xbf , 0x92 , 0xa4 , 0x46 , 0x31 , 0x84 , 0x83 , 0xf1 , 0x31 , 0x3 , 0xdc , 0xbc , 0x5 , 0x6f , 0xab , 0x84 , 0xe4 , 0xdc , 0xe9 , 0xf5 , 0x1c , 0xa9 , 0xb3 , 0x95 , 0xa5 , 0xa0 , 0x16 , 0xd3 , 0xaa , 0x4d , 0xe7 , 0xde , 0xaf , 0xc2 , 0x5e , 0x1e , 0x9a , 0x9d , 0xc8 , 0xb2 , 0x5c , 0x1c , 0x68 , 0xf7 , 0x28 , 0xb4 , 0x1 , 0x4d , 0x9f , 0xc8 , 0x4 }
51
52
assert .Equal (t , expectedSignature , signature )
52
53
53
- key , err = LoadEd25519KeyFromFile (filepath .Join ("test-data" , "ed25519-test-key.pub" ))
54
+ key , err = LoadED25519KeyFromFile (filepath .Join ("test-data" , "ed25519-test-key.pub" ))
54
55
if err != nil {
55
56
t .Fatal (err )
56
57
}
57
58
58
- sv , err = NewEd25519SignerVerifierFromSSLibKey (key )
59
+ sv , err = NewED25519SignerVerifierFromSSLibKey (key )
59
60
if err != nil {
60
61
t .Error (err )
61
62
}
@@ -64,13 +65,13 @@ func TestEd25519SignerVerifierSign(t *testing.T) {
64
65
assert .ErrorIs (t , err , ErrNotPrivateKey )
65
66
}
66
67
67
- func TestEd25519SignerVerifierVerify (t * testing.T ) {
68
- key , err := LoadEd25519KeyFromFile (filepath .Join ("test-data" , "ed25519-test-key.pub" ))
68
+ func TestED25519SignerVerifierVerify (t * testing.T ) {
69
+ key , err := LoadED25519KeyFromFile (filepath .Join ("test-data" , "ed25519-test-key.pub" ))
69
70
if err != nil {
70
71
t .Fatal (err )
71
72
}
72
73
73
- sv , err := NewEd25519SignerVerifierFromSSLibKey (key )
74
+ sv , err := NewED25519SignerVerifierFromSSLibKey (key )
74
75
if err != nil {
75
76
t .Error (err )
76
77
}
@@ -92,3 +93,52 @@ func hexDecode(t *testing.T, data string) []byte {
92
93
}
93
94
return b
94
95
}
96
+
97
+ func TestED25519SignerVerifierWithDSSEEnvelope (t * testing.T ) {
98
+ key , err := LoadED25519KeyFromFile (filepath .Join ("test-data" , "ed25519-test-key" ))
99
+ if err != nil {
100
+ t .Fatal (err )
101
+ }
102
+
103
+ sv , err := NewED25519SignerVerifierFromSSLibKey (key )
104
+ if err != nil {
105
+ t .Fatal (err )
106
+ }
107
+
108
+ payloadType := "application/vnd.dsse+json"
109
+ payload := []byte ("test message" )
110
+
111
+ es , err := dsse .NewEnvelopeSigner (sv )
112
+ if err != nil {
113
+ t .Error (err )
114
+ }
115
+
116
+ env , err := es .SignPayload (context .Background (), payloadType , payload )
117
+ if err != nil {
118
+ t .Error (err )
119
+ }
120
+
121
+ assert .Equal (t , "52e3b8e73279d6ebdd62a5016e2725ff284f569665eb92ccb145d83817a02997" , env .Signatures [0 ].KeyID )
122
+ envPayload , err := env .DecodeB64Payload ()
123
+ assert .Equal (t , payload , envPayload )
124
+ assert .Nil (t , err )
125
+
126
+ key , err = LoadED25519KeyFromFile (filepath .Join ("test-data" , "ed25519-test-key.pub" ))
127
+ if err != nil {
128
+ t .Fatal (err )
129
+ }
130
+
131
+ sv , err = NewED25519SignerVerifierFromSSLibKey (key )
132
+ if err != nil {
133
+ t .Fatal (err )
134
+ }
135
+
136
+ ev , err := dsse .NewEnvelopeVerifier (sv )
137
+ if err != nil {
138
+ t .Error (err )
139
+ }
140
+
141
+ acceptedKeys , err := ev .Verify (context .Background (), env )
142
+ assert .Nil (t , err )
143
+ assert .Equal (t , "52e3b8e73279d6ebdd62a5016e2725ff284f569665eb92ccb145d83817a02997" , acceptedKeys [0 ].KeyID )
144
+ }
0 commit comments