@@ -9,6 +9,15 @@ import (
9
9
"github.com/stretchr/testify/require"
10
10
)
11
11
12
+ func chainContains (chain []* x509.Certificate , want * x509.Certificate ) bool {
13
+ for _ , cert := range chain {
14
+ if cert .Equal (want ) {
15
+ return true
16
+ }
17
+ }
18
+ return false
19
+ }
20
+
12
21
func TestSign (t * testing.T ) {
13
22
defer testSetup (t , "--sign" , "-u" , certHexFingerprint (leaf .Certificate ))()
14
23
@@ -37,8 +46,8 @@ func TestSignIncludeCertsAIA(t *testing.T) {
37
46
require .NoError (t , err )
38
47
39
48
require .Equal (t , 2 , len (certs ))
40
- require .True (t , certs [ 0 ]. Equal ( aiaLeaf .Certificate ))
41
- require .True (t , certs [ 1 ]. Equal ( intermediate .Certificate ))
49
+ require .True (t , chainContains ( certs , aiaLeaf .Certificate ))
50
+ require .True (t , chainContains ( certs , intermediate .Certificate ))
42
51
}
43
52
44
53
func TestSignIncludeCertsDefault (t * testing.T ) {
@@ -57,8 +66,8 @@ func TestSignIncludeCertsDefault(t *testing.T) {
57
66
require .NoError (t , err )
58
67
59
68
require .Equal (t , 2 , len (certs ))
60
- require .True (t , certs [ 0 ]. Equal ( leaf .Certificate ))
61
- require .True (t , certs [ 1 ]. Equal ( intermediate .Certificate ))
69
+ require .True (t , chainContains ( certs , leaf .Certificate ))
70
+ require .True (t , chainContains ( certs , intermediate .Certificate ))
62
71
}
63
72
64
73
func TestSignIncludeCertsMinus3 (t * testing.T ) {
@@ -77,8 +86,8 @@ func TestSignIncludeCertsMinus3(t *testing.T) {
77
86
require .NoError (t , err )
78
87
79
88
require .Equal (t , 2 , len (certs ))
80
- require .True (t , certs [ 0 ]. Equal ( leaf .Certificate ))
81
- require .True (t , certs [ 1 ]. Equal ( intermediate .Certificate ))
89
+ require .True (t , chainContains ( certs , leaf .Certificate ))
90
+ require .True (t , chainContains ( certs , intermediate .Certificate ))
82
91
}
83
92
84
93
func TestSignIncludeCertsMinus2 (t * testing.T ) {
@@ -97,8 +106,8 @@ func TestSignIncludeCertsMinus2(t *testing.T) {
97
106
require .NoError (t , err )
98
107
99
108
require .Equal (t , 2 , len (certs ))
100
- require .True (t , certs [ 0 ]. Equal ( leaf .Certificate ))
101
- require .True (t , certs [ 1 ]. Equal ( intermediate .Certificate ))
109
+ require .True (t , chainContains ( certs , leaf .Certificate ))
110
+ require .True (t , chainContains ( certs , intermediate .Certificate ))
102
111
}
103
112
104
113
func TestSignIncludeCertsMinus1 (t * testing.T ) {
@@ -117,9 +126,9 @@ func TestSignIncludeCertsMinus1(t *testing.T) {
117
126
require .NoError (t , err )
118
127
119
128
require .Equal (t , 3 , len (certs ))
120
- require .True (t , certs [ 0 ]. Equal ( leaf .Certificate ))
121
- require .True (t , certs [ 1 ]. Equal ( intermediate .Certificate ))
122
- require .True (t , certs [ 2 ]. Equal ( ca .Certificate ))
129
+ require .True (t , chainContains ( certs , leaf .Certificate ))
130
+ require .True (t , chainContains ( certs , intermediate .Certificate ))
131
+ require .True (t , chainContains ( certs , ca .Certificate ))
123
132
}
124
133
125
134
func TestSignIncludeCerts0 (t * testing.T ) {
@@ -156,7 +165,7 @@ func TestSignIncludeCerts1(t *testing.T) {
156
165
require .NoError (t , err )
157
166
158
167
require .Equal (t , 1 , len (certs ))
159
- require .True (t , certs [ 0 ]. Equal ( leaf .Certificate ))
168
+ require .True (t , chainContains ( certs , leaf .Certificate ))
160
169
}
161
170
162
171
func TestSignIncludeCerts2 (t * testing.T ) {
@@ -175,8 +184,8 @@ func TestSignIncludeCerts2(t *testing.T) {
175
184
require .NoError (t , err )
176
185
177
186
require .Equal (t , 2 , len (certs ))
178
- require .True (t , certs [ 0 ]. Equal ( leaf .Certificate ))
179
- require .True (t , certs [ 1 ]. Equal ( intermediate .Certificate ))
187
+ require .True (t , chainContains ( certs , leaf .Certificate ))
188
+ require .True (t , chainContains ( certs , intermediate .Certificate ))
180
189
}
181
190
182
191
func TestSignIncludeCerts3 (t * testing.T ) {
@@ -195,9 +204,9 @@ func TestSignIncludeCerts3(t *testing.T) {
195
204
require .NoError (t , err )
196
205
197
206
require .Equal (t , 3 , len (certs ))
198
- require .True (t , certs [ 0 ]. Equal ( leaf .Certificate ))
199
- require .True (t , certs [ 1 ]. Equal ( intermediate .Certificate ))
200
- require .True (t , certs [ 2 ]. Equal ( ca .Certificate ))
207
+ require .True (t , chainContains ( certs , leaf .Certificate ))
208
+ require .True (t , chainContains ( certs , intermediate .Certificate ))
209
+ require .True (t , chainContains ( certs , ca .Certificate ))
201
210
}
202
211
203
212
func TestSignIncludeCerts4 (t * testing.T ) {
@@ -216,7 +225,7 @@ func TestSignIncludeCerts4(t *testing.T) {
216
225
require .NoError (t , err )
217
226
218
227
require .Equal (t , 3 , len (certs ))
219
- require .True (t , certs [ 0 ]. Equal ( leaf .Certificate ))
220
- require .True (t , certs [ 1 ]. Equal ( intermediate .Certificate ))
221
- require .True (t , certs [ 2 ]. Equal ( ca .Certificate ))
228
+ require .True (t , chainContains ( certs , leaf .Certificate ))
229
+ require .True (t , chainContains ( certs , intermediate .Certificate ))
230
+ require .True (t , chainContains ( certs , ca .Certificate ))
222
231
}
0 commit comments