-
Notifications
You must be signed in to change notification settings - Fork 12
/
certificates.go
155 lines (150 loc) · 8.34 KB
/
certificates.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
149
150
151
152
153
154
155
package test
func TestIssuerCertificate() []byte {
return []byte(`
-----BEGIN CERTIFICATE-----
MIIFmzCCA4OgAwIBAgIUTYj83F3iY96M93bV40y70VTy3E8wDQYJKoZIhvcNAQEL
BQAwXTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxGzAZBgNVBAoM
Em1hcmluM3IuM3NjYWxlLm5ldDEcMBoGA1UEAwwTbWFyaW4zci1jYS1pbnN0YW5j
ZTAeFw0yMzA4MDQxNDQ2NTdaFw0zMzA4MDExNDQ2NTdaMF0xCzAJBgNVBAYTAkFV
MRMwEQYDVQQIDApTb21lLVN0YXRlMRswGQYDVQQKDBJtYXJpbjNyLjNzY2FsZS5u
ZXQxHDAaBgNVBAMME21hcmluM3ItY2EtaW5zdGFuY2UwggIiMA0GCSqGSIb3DQEB
AQUAA4ICDwAwggIKAoICAQC4iCw+VG4Te4BO5lcVEhDpi9Vn1yE5Z/L6ZEE+4aU7
wLRae0tgIugA+ZGSThBSx2Q0xj1qXVzmVxP1B8DbXEtr0hOJjU0d1vK8waF7D7Kp
ev97jxvdupgHiLK7QHrngNqJgiJPWtUcym3CDRTDnUNiH4Gpi+lMBGLQz8awAckH
5bgmIQZCL4Szr8UooD+BT3ESNUhNCOU2of0/ksNqYpzNmtHiXyXlK4QB34PQb+pY
LHsUzWpOzq/1EvZ8rVgHQ/MzPFzI5m+zEGjcbiPB7ciFS55rvgVULlDT4eojAEJj
agXzKHa4zn2Ktmz2jt5bF3ViG/+0PRc8wXzbvmrdi/8jIJdby2HNdQWqW2GlAXzD
EVkmaFRN8pQfX4WIT5KTy0uazBh+zxGc2Ky55T1xp6dagNnsl3SKaGslbF15+kW8
NZlCobDxdMrPr0odlJSWgPEpd+G7Gb3EVKsXTeCEVCK/4UDE8+CZkLuwEf46sKeW
x0JiqepE74kF+gEf0cMq8IdSo0Sujcllv/dE+GkpFjFGM6DA5RP5MxXJdkEJXexd
XLgtIXbrm93sbDlA8/bxOC8RhABE5nHj7v9t1oES3xprKC9EK6K3slCyQMtH3Brs
fFSMT+Wv1hNVnjmjdo+I750fi8x6awLEazSnTmzRSrT6tAxhVak3jCKYS+plIZGX
OQIDAQABo1MwUTAdBgNVHQ4EFgQUvckbU5IUiAkWVh2DOQ6+b3kyGKAwHwYDVR0j
BBgwFoAUvckbU5IUiAkWVh2DOQ6+b3kyGKAwDwYDVR0TAQH/BAUwAwEB/zANBgkq
hkiG9w0BAQsFAAOCAgEAUSV9z7bCbCSYs14FtGThLKis4pfqQ/JIFhJAETYntR/K
Ut9dcaZEfX1PvXgPS+6FD5G+xvgVD2jPtuXU/BpAc8iMOERb5OwPZ5SdNbGz9MT9
XQp7fpupbK4NVpuwjNlmZmVbkJD0N7kXIWhIuOyEZXSDZViN158UbAPvn0lcKXfu
It+UYjtXlgzcunD3+j9PsIVYg8VZuFjca2GuV382pDiNWTwyqU+ZF3HguU0UCvZH
u0zBVnRUtgK2lnJ1MoLSIDMs8THsxFFzXaFhi2Jc8MRY0c3TAR3L5F7FkiDMfBVK
hmDfXPJcovSF9JjyfK8LBfU1upcjInBwWVxVisa0EHC40EZbALf90bUI6L97j9KT
/MRfPcb0gaVNmZl9qerx4s8D98mp3kt2LzfvXbtI7YzLRR9oaYRPu3KF/AU9+mFt
OkiRar08WyaDP9mdLz84BFnpOWF5Ljr9/m6q3m1hQcC4c/+tT0NNT52l+IVarmUv
sKNZaLl/MwIsgluS4LmohPzv/nzTByKIlE+pWxNfCC5Tg5hX+rION32fL65MnFn7
X/TAaW7rlb/Ef3mpBpXWdgTY8i9I6tEEhLPR/8zRUqpzZ67pFzwpKu7xf/VRLr/J
QcfXN1+CKgfuyfpZkkMzW14AChQKK/64ojJRCV6SFDv0eXs3B5cB13iMCMRBQQ8=
-----END CERTIFICATE-----
`)
}
func TestIssuerKey() []byte {
return []byte(`
-----BEGIN PRIVATE KEY-----
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
bsH5AntQDWS6msXGU+n2yJ+c1Ana
-----END PRIVATE KEY-----
`)
}
func TestValidCertificate() []byte {
return []byte(`
-----BEGIN CERTIFICATE-----
MIIFmzCCA4OgAwIBAgIUTYj83F3iY96M93bV40y70VTy3E8wDQYJKoZIhvcNAQEL
BQAwXTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxGzAZBgNVBAoM
Em1hcmluM3IuM3NjYWxlLm5ldDEcMBoGA1UEAwwTbWFyaW4zci1jYS1pbnN0YW5j
ZTAeFw0yMzA4MDQxNDQ2NTdaFw0zMzA4MDExNDQ2NTdaMF0xCzAJBgNVBAYTAkFV
MRMwEQYDVQQIDApTb21lLVN0YXRlMRswGQYDVQQKDBJtYXJpbjNyLjNzY2FsZS5u
ZXQxHDAaBgNVBAMME21hcmluM3ItY2EtaW5zdGFuY2UwggIiMA0GCSqGSIb3DQEB
AQUAA4ICDwAwggIKAoICAQC4iCw+VG4Te4BO5lcVEhDpi9Vn1yE5Z/L6ZEE+4aU7
wLRae0tgIugA+ZGSThBSx2Q0xj1qXVzmVxP1B8DbXEtr0hOJjU0d1vK8waF7D7Kp
ev97jxvdupgHiLK7QHrngNqJgiJPWtUcym3CDRTDnUNiH4Gpi+lMBGLQz8awAckH
5bgmIQZCL4Szr8UooD+BT3ESNUhNCOU2of0/ksNqYpzNmtHiXyXlK4QB34PQb+pY
LHsUzWpOzq/1EvZ8rVgHQ/MzPFzI5m+zEGjcbiPB7ciFS55rvgVULlDT4eojAEJj
agXzKHa4zn2Ktmz2jt5bF3ViG/+0PRc8wXzbvmrdi/8jIJdby2HNdQWqW2GlAXzD
EVkmaFRN8pQfX4WIT5KTy0uazBh+zxGc2Ky55T1xp6dagNnsl3SKaGslbF15+kW8
NZlCobDxdMrPr0odlJSWgPEpd+G7Gb3EVKsXTeCEVCK/4UDE8+CZkLuwEf46sKeW
x0JiqepE74kF+gEf0cMq8IdSo0Sujcllv/dE+GkpFjFGM6DA5RP5MxXJdkEJXexd
XLgtIXbrm93sbDlA8/bxOC8RhABE5nHj7v9t1oES3xprKC9EK6K3slCyQMtH3Brs
fFSMT+Wv1hNVnjmjdo+I750fi8x6awLEazSnTmzRSrT6tAxhVak3jCKYS+plIZGX
OQIDAQABo1MwUTAdBgNVHQ4EFgQUvckbU5IUiAkWVh2DOQ6+b3kyGKAwHwYDVR0j
BBgwFoAUvckbU5IUiAkWVh2DOQ6+b3kyGKAwDwYDVR0TAQH/BAUwAwEB/zANBgkq
hkiG9w0BAQsFAAOCAgEAUSV9z7bCbCSYs14FtGThLKis4pfqQ/JIFhJAETYntR/K
Ut9dcaZEfX1PvXgPS+6FD5G+xvgVD2jPtuXU/BpAc8iMOERb5OwPZ5SdNbGz9MT9
XQp7fpupbK4NVpuwjNlmZmVbkJD0N7kXIWhIuOyEZXSDZViN158UbAPvn0lcKXfu
It+UYjtXlgzcunD3+j9PsIVYg8VZuFjca2GuV382pDiNWTwyqU+ZF3HguU0UCvZH
u0zBVnRUtgK2lnJ1MoLSIDMs8THsxFFzXaFhi2Jc8MRY0c3TAR3L5F7FkiDMfBVK
hmDfXPJcovSF9JjyfK8LBfU1upcjInBwWVxVisa0EHC40EZbALf90bUI6L97j9KT
/MRfPcb0gaVNmZl9qerx4s8D98mp3kt2LzfvXbtI7YzLRR9oaYRPu3KF/AU9+mFt
OkiRar08WyaDP9mdLz84BFnpOWF5Ljr9/m6q3m1hQcC4c/+tT0NNT52l+IVarmUv
sKNZaLl/MwIsgluS4LmohPzv/nzTByKIlE+pWxNfCC5Tg5hX+rION32fL65MnFn7
X/TAaW7rlb/Ef3mpBpXWdgTY8i9I6tEEhLPR/8zRUqpzZ67pFzwpKu7xf/VRLr/J
QcfXN1+CKgfuyfpZkkMzW14AChQKK/64ojJRCV6SFDv0eXs3B5cB13iMCMRBQQ8=
-----END CERTIFICATE-----
`)
}
func TestExpiredCertificate() []byte {
return []byte(`
-----BEGIN CERTIFICATE-----
MIICwjCCAiSgAwIBAgIQIOyQL+7YxHIda+FqkHjYqTAKBggqhkjOPQQDBDA7MRsw
GQYDVQQKExJtYXJpbjNyLjNzY2FsZS5uZXQxHDAaBgNVBAMTE21hcmluM3ItY2Et
aW5zdGFuY2UwHhcNMjAxMjE4MTMwMTQ2WhcNMjAxMjE4MTMwMTQ3WjAsMRswGQYD
VQQKExJtYXJpbjNyLjNzY2FsZS5uZXQxDTALBgNVBAMTBHRlc3QwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6Lq1+onmVDTc9kbuXS5BgTy98aadxDly8
wpmcssRV0OBvIpUYhh17vcYd5t/a52XJQ3P1vT25hMv62Bhw0gokMjNAM76mBILG
BN7uK443+ob0E7Z5ZVxdzqlyUBpHMdb5XCiIbcf4U0XP5iZLF/njvZZjgDa6halh
c5whh0g7ekkhGtyQZYOI+pfdsQCVs7c0HjilIMi4CZfIwkefs1R/PQ6KZnABGUBs
k817R4aNLw54pCinYTQ4FvlxLR2A2cstR/f+CBHhcjDSUDdE25omHmRRaiIAigfl
UiKPoFYKA+kU4i69I2w4mjWTWZ7Y1qoURCXHDd34vIJyUXzx5iFLAgMBAAGjTjBM
MA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8E
AjAAMBcGA1UdEQQQMA6CDGV4YW1wbGUudGVzdDAKBggqhkjOPQQDBAOBiwAwgYcC
QXvi1o7Tk/Co7aLyQfyjxWTTmFIRbso5E+vp/v70U+RzQzJjMU9LHjLHPpaJT6hv
wC4IQVoqTFV9o0LMfmrY9tu0AkIBkSPte09kukRVH682WPLoSgMAfou9DxiwcilT
osel1VN6TUilTRCHM7UU5UItRDaEhFwxnGr9ErAmvkQIVTGSURM=
-----END CERTIFICATE-----
`)
}