@@ -9,6 +9,15 @@ import (
99 "github.com/stretchr/testify/require"
1010)
1111
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+
1221func TestSign (t * testing.T ) {
1322 defer testSetup (t , "--sign" , "-u" , certHexFingerprint (leaf .Certificate ))()
1423
@@ -37,8 +46,8 @@ func TestSignIncludeCertsAIA(t *testing.T) {
3746 require .NoError (t , err )
3847
3948 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 ))
4251}
4352
4453func TestSignIncludeCertsDefault (t * testing.T ) {
@@ -57,8 +66,8 @@ func TestSignIncludeCertsDefault(t *testing.T) {
5766 require .NoError (t , err )
5867
5968 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 ))
6271}
6372
6473func TestSignIncludeCertsMinus3 (t * testing.T ) {
@@ -77,8 +86,8 @@ func TestSignIncludeCertsMinus3(t *testing.T) {
7786 require .NoError (t , err )
7887
7988 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 ))
8291}
8392
8493func TestSignIncludeCertsMinus2 (t * testing.T ) {
@@ -97,8 +106,8 @@ func TestSignIncludeCertsMinus2(t *testing.T) {
97106 require .NoError (t , err )
98107
99108 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 ))
102111}
103112
104113func TestSignIncludeCertsMinus1 (t * testing.T ) {
@@ -117,9 +126,9 @@ func TestSignIncludeCertsMinus1(t *testing.T) {
117126 require .NoError (t , err )
118127
119128 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 ))
123132}
124133
125134func TestSignIncludeCerts0 (t * testing.T ) {
@@ -156,7 +165,7 @@ func TestSignIncludeCerts1(t *testing.T) {
156165 require .NoError (t , err )
157166
158167 require .Equal (t , 1 , len (certs ))
159- require .True (t , certs [ 0 ]. Equal ( leaf .Certificate ))
168+ require .True (t , chainContains ( certs , leaf .Certificate ))
160169}
161170
162171func TestSignIncludeCerts2 (t * testing.T ) {
@@ -175,8 +184,8 @@ func TestSignIncludeCerts2(t *testing.T) {
175184 require .NoError (t , err )
176185
177186 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 ))
180189}
181190
182191func TestSignIncludeCerts3 (t * testing.T ) {
@@ -195,9 +204,9 @@ func TestSignIncludeCerts3(t *testing.T) {
195204 require .NoError (t , err )
196205
197206 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 ))
201210}
202211
203212func TestSignIncludeCerts4 (t * testing.T ) {
@@ -216,7 +225,7 @@ func TestSignIncludeCerts4(t *testing.T) {
216225 require .NoError (t , err )
217226
218227 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 ))
222231}
0 commit comments