-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcerts_test.go
148 lines (139 loc) · 6.99 KB
/
certs_test.go
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
package anchor
import (
"crypto/x509"
"testing"
)
func TestCertSet(t *testing.T) {
cs := make(CertSet)
cs.AppendPEM(AnchorRSA)
cs.AppendPEM(AnchorECDSA)
cs.AppendPEM(AnchorEd25519)
cs.AppendPEM(SubRSA)
cs.AppendPEM(SubECDSA)
cs.AppendPEM(SubEd25519)
if want, got := 6, len(cs); want != got {
t.Errorf("want CertSet of %d, got %d", want, got)
}
allAnchorCAs, err := cs.Select(ByType(AnchorCA))
if err != nil {
t.Fatal(err)
}
if want, got := 3, len(allAnchorCAs); want != got {
t.Errorf("want AnchorCA CertSet of %d, got %d", want, got)
}
_, rsaSubCA, err := cs.Find(ByType(SubCA), ByAlgo(x509.RSA))
if err != nil {
t.Fatal(err)
}
if want, got := "internal TLS - SubCA", rsaSubCA.Subject.CommonName; want != got {
t.Errorf("want found rsa subca %q, got %q", want, got)
}
}
var (
AnchorRSA = `-----BEGIN CERTIFICATE-----
MIIDfjCCAmagAwIBAgINALpdYJGDMdSTMjNWJTANBgkqhkiG9w0BAQsFADAqMQ4w
DAYDVQQKEwVRdWljazEYMBYGA1UEAxMPRGVtbyAtIEFuY2hvckNBMB4XDTIyMDgx
NjAwMDAwMFoXDTI0MDgxNTIzNTk1OVowKjEOMAwGA1UEChMFUXVpY2sxGDAWBgNV
BAMTD0RlbW8gLSBBbmNob3JDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBALo8lFV+J2WrE1WaDIKNBri3/1VlYeMqLuiPyb1RGqgTNSCCMjEJg7CAJGWK
4YKHOPrBxTSPlkle4sWEtKneR89xBo0Yp2E2OQmsELEtb+SQXaqAOcdl3Qnqm7Aa
t6aMhWHfN9LjqvXe7sTUpXQH1GizQDk2DKOCJ+Tz/Sb6dtd8JOZkAghkNz/WtzMS
1iaLOm/lvCDtEUoKw/rl9py1mTLv2TsZ+fQdlRW3hXObnAFmqCZklL6+byZaYABZ
Y1ET/GEWmWn9LXpCA4PxuyiiWgtUV6coSzkE9L0MOJ9vYyIZcQLxwM8giAVL7zFj
3MOhz3XD1ng5rjl3bx6Hge946M8CAwEAAaOBojCBnzAOBgNVHQ8BAf8EBAMCAQYw
EgYDVR0TAQH/BAgwBgEB/wIBATApBgNVHQ4EIgQgI2+3liE60/KdY7hNbeXrz8r3
8jKp8lpgmlehRmoeROIwKwYDVR0jBCQwIoAgI2+3liE60/KdY7hNbeXrz8r38jKp
8lpgmlehRmoeROIwIQYDVR0eAQH/BBcwFaATMBGCD3F1aWNrLWRlbW8udGVzdDAN
BgkqhkiG9w0BAQsFAAOCAQEAuePE/un1qCD0SUzXRYSmoibf5/7ShawXlKvqxkp9
V0sem9IpQkceBHqRhWpJeuLThAMq0nVh7yvicmx8S1kKtGvK9hJzH8XvAIZtkZFh
FLjxuXk/egeK14uSGi0/2JZS1Ojfosyt3gMm/RI+C3Ib0ah9F3r46MHxBo1hZxIx
eC0EcjcTNv85wYHTgBMJ1LI8VgzR/0c2as/TE5V5ZBcEl0rffnMF/Q2+04856qDJ
yABHnZa6IyULVs8JscZIfjytl9HpqczhWQDzR7MEwVvnsLvHLWahWyeJOkAE2drZ
MzlyCI4eMOaLbyH89133Mgwxzfi5kArQfnVMh8nlutG7DQ==
-----END CERTIFICATE-----`
AnchorECDSA = `-----BEGIN CERTIFICATE-----
MIIB8jCCAZigAwIBAgINALpdYJGDMeDhOQNYqzAKBggqhkjOPQQDAjAqMQ4wDAYD
VQQKEwVRdWljazEYMBYGA1UEAxMPRGVtbyAtIEFuY2hvckNBMB4XDTIyMDgxNjAw
MDAwMFoXDTI0MDgxNTIzNTk1OVowKjEOMAwGA1UEChMFUXVpY2sxGDAWBgNVBAMT
D0RlbW8gLSBBbmNob3JDQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBfFR4Fw
6Wgk+YBnupr2ivtTagdbKjLhiw4evxvNJ/uJYr4H2xpaE2A1/XKIEYyScLNgABth
wPbLQCQW5lHRzf+jgaIwgZ8wDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYB
Af8CAQEwKQYDVR0OBCIEIBXXARzU1+A6LBKlgXM7qq/GIt6MgL2dGy3ZLPIIqwPq
MCsGA1UdIwQkMCKAIBXXARzU1+A6LBKlgXM7qq/GIt6MgL2dGy3ZLPIIqwPqMCEG
A1UdHgEB/wQXMBWgEzARgg9xdWljay1kZW1vLnRlc3QwCgYIKoZIzj0EAwIDSAAw
RQIhAOeTwY8qg+fmmC4un54TJtAhfW82Bhlj1G99TCivduACAiBXGV0F3DOLzhua
j1IaLB0PEXkpsI4ZGzarn2XfCFg9ig==
-----END CERTIFICATE-----`
AnchorEd25519 = `-----BEGIN CERTIFICATE-----
MIIBsjCCAWSgAwIBAgINALpdYJGDMbBBcIGpVjAFBgMrZXAwKjEOMAwGA1UEChMF
UXVpY2sxGDAWBgNVBAMTD0RlbW8gLSBBbmNob3JDQTAeFw0yMjA4MTYwMDAwMDBa
Fw0yNDA4MTUyMzU5NTlaMCoxDjAMBgNVBAoTBVF1aWNrMRgwFgYDVQQDEw9EZW1v
IC0gQW5jaG9yQ0EwKjAFBgMrZXADIQBgNBpIZyhLNNWxYvtKEHRKe8+v1uB+awS1
E119nOiwcqOBojCBnzAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIB
ATApBgNVHQ4EIgQgaRs8Cf2mD+zWjBzuZZNav9TweFW5eRlBLsNhWAFinegwKwYD
VR0jBCQwIoAgaRs8Cf2mD+zWjBzuZZNav9TweFW5eRlBLsNhWAFinegwIQYDVR0e
AQH/BBcwFaATMBGCD3F1aWNrLWRlbW8udGVzdDAFBgMrZXADQQDDi9SY9bL6uvGp
rIgEmdCBmRExlsSCR14ebj6J9tPjr+Awhv1imefofQNd1BDI3KEuU36yka7a/yB6
yL/OGBYC
-----END CERTIFICATE-----`
SubRSA = `-----BEGIN CERTIFICATE-----
MIIEYjCCA0qgAwIBAgINAMJvDv92beKrpXqtbzANBgkqhkiG9w0BAQsFADAqMQ4w
DAYDVQQKEwVRdWljazEYMBYGA1UEAxMPRGVtbyAtIEFuY2hvckNBMB4XDTIyMDgx
NjAwMDAwMFoXDTIzMDgxNTIzNTk1OVowLzEOMAwGA1UEChMFUXVpY2sxHTAbBgNV
BAMTFGludGVybmFsIFRMUyAtIFN1YkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAokjalixwcUGRhS67LX49pZ12hzTU15MCrPKhkXfzlvgPE/7HZWjU
BCw/Imqm0Ven1s8BWPou39pSXu0JFSIY1P7UuSCADj08zeW1zHmW82m6x1VMR420
F5NAjQzmESYN4gV89hOcRvoYcXt6SfC6gaBajp8qrUgjAOMnoYFowQt3q7j4/Gm3
CS/cxFGmXD2xyXvqanubJ2wCf1ZrQ+d5MRQ/+yY6HWAfk2wzhVJSu5Hj+vGwemDe
r3DFhsJ0e/2WDQPQNpPi/eXd7AZZSTWsAKuNn+UsorpjI4Iy5A1taK0AkfWdSBo0
Wmm5DzG/zb23BoQryR38gB9W8ixB4KC5IwIDAQABo4IBgDCCAXwwDgYDVR0PAQH/
BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwKQYDVR0OBCIEIIZ57Qs+AspT/zFJ
7s012JgH+X+mQnEah5hV8LDa+ivOMCsGA1UdIwQkMCKAICNvt5YhOtPynWO4TW3l
68/K9/IyqfJaYJpXoUZqHkTiMDsGA1UdHgEB/wQxMC+gLTAXghUuZGVtby5xdWlj
ay1kZW1vLnRlc3QwEoIQLnF1aWNrLWRlbW8udGVzdDBoBggrBgEFBQcBAQRcMFow
WAYIKwYBBQUHMAKGTGh0dHA6Ly9hbmNob3IuZGV2L3F1aWNrL2RlbW8veDUwOS9j
YS9hbmNob3ItY2EtYmE1ZDYwOTE4MzMxX2Q0OTMzMjMzNTYyNS5kZXIwVwYDVR0f
BFAwTjBMoEqgSIZGaHR0cDovL2FuY2hvci5kZXYvcXVpY2svZGVtby94NTA5L2Nh
L2NybC1iYTVkNjA5MTgzMzFfZDQ5MzMyMzM1NjI1LmRlcjANBgkqhkiG9w0BAQsF
AAOCAQEAp8Ef1uFCkTK99UjrM4/sERpIWVla/qg/4WQqpS0w6lskkxzqewWayQ0B
JUNAe3u5Yjv5/B0gl6Zth3OgJqVA//nUSsrjGPwB24Nja0f2HPGlZGlcaXlwgu/J
BPrztO6vMfnmWyz1WRmRl6u7vaHEY/sCVFR4xrKRJJAxbuJ8Odc4zmWRf9btIerK
Sp5VYuNPQXRXCEU0gL+yFYsal3xvAEQWHQey5zJCGP4ge8FjHIH6vWcdAuPG3xU+
YCXHOLUU4tN5aqyyb4a+9gIxHTilfgpJ3YhXfqyOom5JfvRyh6ZiefUiSLf08Uyr
HMVt6jVBvGAVyZlW8PoEksNPeKK+pw==
-----END CERTIFICATE-----`
SubECDSA = `-----BEGIN CERTIFICATE-----
MIIC1jCCAnygAwIBAgINAMJvDv92beeGxEzHmjAKBggqhkjOPQQDAjAqMQ4wDAYD
VQQKEwVRdWljazEYMBYGA1UEAxMPRGVtbyAtIEFuY2hvckNBMB4XDTIyMDgxNjAw
MDAwMFoXDTIzMDgxNTIzNTk1OVowLzEOMAwGA1UEChMFUXVpY2sxHTAbBgNVBAMT
FGludGVybmFsIFRMUyAtIFN1YkNBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
qo4RVAxGpLXrkhPSKIKpkFT5PzwQZB0UrynJQAfrAbju0N5m0bGFxrehAWUPUdqj
k/ONpLRf3ejtkiPS+YXOUaOCAYAwggF8MA4GA1UdDwEB/wQEAwIBBjASBgNVHRMB
Af8ECDAGAQH/AgEAMCkGA1UdDgQiBCDMh49csuGO5OfLqRo2aHYXL91gyhGzaLKo
h2Xr8uBMwjArBgNVHSMEJDAigCAV1wEc1NfgOiwSpYFzO6qvxiLejIC9nRst2Szy
CKsD6jA7BgNVHR4BAf8EMTAvoC0wF4IVLmRlbW8ucXVpY2stZGVtby50ZXN0MBKC
EC5xdWljay1kZW1vLnRlc3QwaAYIKwYBBQUHAQEEXDBaMFgGCCsGAQUFBzAChkxo
dHRwOi8vYW5jaG9yLmRldi9xdWljay9kZW1vL3g1MDkvY2EvYW5jaG9yLWNhLWJh
NWQ2MDkxODMzMV9lMGUxMzkwMzU4YWIuZGVyMFcGA1UdHwRQME4wTKBKoEiGRmh0
dHA6Ly9hbmNob3IuZGV2L3F1aWNrL2RlbW8veDUwOS9jYS9jcmwtYmE1ZDYwOTE4
MzMxX2UwZTEzOTAzNThhYi5kZXIwCgYIKoZIzj0EAwIDSAAwRQIhALZ6Ea1TNeaR
Gpc1SvL8MITL1bjQ/UK4N+9kcQGTuwXyAiBeGrQ9lzSt5S5deA3nvtxKaISHM//m
ShpDHDRX8BmdAw==
-----END CERTIFICATE-----`
SubEd25519 = `-----BEGIN CERTIFICATE-----
MIICljCCAkigAwIBAgINAMJvDv92bTcKjyeHMDAFBgMrZXAwKjEOMAwGA1UEChMF
UXVpY2sxGDAWBgNVBAMTD0RlbW8gLSBBbmNob3JDQTAeFw0yMjA4MTYwMDAwMDBa
Fw0yMzA4MTUyMzU5NTlaMC8xDjAMBgNVBAoTBVF1aWNrMR0wGwYDVQQDExRpbnRl
cm5hbCBUTFMgLSBTdWJDQTAqMAUGAytlcAMhADrrJc07qxQI49Q7YVKX37UZ5mIE
YbSf1weAOPouRwYWo4IBgDCCAXwwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQI
MAYBAf8CAQAwKQYDVR0OBCIEIKzgJyU/hSef8je7cfU2Z4tpUHKqf+aDptKj4Ebo
iSffMCsGA1UdIwQkMCKAIGkbPAn9pg/s1owc7mWTWr/U8HhVuXkZQS7DYVgBYp3o
MDsGA1UdHgEB/wQxMC+gLTAXghUuZGVtby5xdWljay1kZW1vLnRlc3QwEoIQLnF1
aWNrLWRlbW8udGVzdDBoBggrBgEFBQcBAQRcMFowWAYIKwYBBQUHMAKGTGh0dHA6
Ly9hbmNob3IuZGV2L3F1aWNrL2RlbW8veDUwOS9jYS9hbmNob3ItY2EtYmE1ZDYw
OTE4MzMxX2IwNDE3MDgxYTk1Ni5kZXIwVwYDVR0fBFAwTjBMoEqgSIZGaHR0cDov
L2FuY2hvci5kZXYvcXVpY2svZGVtby94NTA5L2NhL2NybC1iYTVkNjA5MTgzMzFf
YjA0MTcwODFhOTU2LmRlcjAFBgMrZXADQQCh5ZVPjIA4inaM18Mf1WoGjiO57fGB
68xNTH0HN+aK39DudCxp1JzB2hSd+omctOyuU1cGKWkP0kaKBDkA/bQB
-----END CERTIFICATE-----`
)