1
2
3
4
5 package nss
6
7 import (
8 "crypto/x509"
9 "encoding/pem"
10 "reflect"
11 "sort"
12 "strings"
13 "testing"
14 "time"
15 )
16
17 func mustParse(b []byte) *x509.Certificate {
18 block, _ := pem.Decode(b)
19 cert, err := x509.ParseCertificate(block.Bytes)
20 if err != nil {
21 panic(err)
22 }
23 return cert
24 }
25
26 var testComodo = mustParse([]byte(`-----BEGIN CERTIFICATE-----
27 MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
28 MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
29 GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj
30 YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL
31 MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
32 BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM
33 GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
34 ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua
35 BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe
36 3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4
37 YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR
38 rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm
39 ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU
40 oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
41 MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v
42 QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t
43 b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF
44 AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q
45 GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
46 Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2
47 G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi
48 l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3
49 smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
50 -----END CERTIFICATE-----`))
51
52 var testTrustcor = mustParse([]byte(`-----BEGIN CERTIFICATE-----
53 MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNV
54 BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw
55 IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy
56 dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEfMB0GA1UEAwwWVHJ1c3RDb3Ig
57 Um9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEyMzExNzI2MzlaMIGk
58 MQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEg
59 Q2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYD
60 VQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRy
61 dXN0Q29yIFJvb3RDZXJ0IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
62 AoICAQCnIG7CKqJiJJWQdsg4foDSq8GbZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+
63 QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9NkRvRUqdw6VC0xK5mC8tkq
64 1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1oYxOdqHp
65 2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nK
66 DOObXUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hape
67 az6LMvYHL1cEksr1/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF
68 3wP+TfSvPd9cW436cOGlfifHhi5qjxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88
69 oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQPeSghYA2FFn3XVDjxklb9tTNM
70 g9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+CtgrKAmrhQhJ8Z3
71 mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh
72 8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAd
73 BgNVHQ4EFgQU2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6U
74 nrybPZx9mCAZ5YwwYrIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYw
75 DQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/hOsh80QA9z+LqBrWyOrsGS2h60COX
76 dKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnpkpfbsEZC89NiqpX+
77 MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv2wnL
78 /V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RX
79 CI/hOWB3S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYa
80 ZH9bDTMJBzN7Bj8RpFxwPIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW
81 2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dvDDqPys/cA8GiCcjl/YBeyGBCARsaU1q7
82 N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYURpFHmygk71dSTlxCnKr3
83 Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANExdqtvArB
84 As8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp
85 5KeXRKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu
86 1uwJ
87 -----END CERTIFICATE-----`))
88
89 func TestParseCertData(t *testing.T) {
90 trustcorDistrust, err := time.Parse("060102150405Z0700", "221130000000Z")
91 if err != nil {
92 t.Fatalf("failed to parse distrust time: %s", err)
93 }
94
95 for _, tc := range []struct {
96 name string
97 data string
98 output []*Certificate
99 err string
100 }{
101 {
102 name: "valid certs",
103 data: validCertdata,
104 output: []*Certificate{
105 &Certificate{X509: testComodo},
106 &Certificate{X509: testTrustcor, Constraints: []Constraint{DistrustAfter(trustcorDistrust)}},
107 },
108 },
109 {
110 name: "cert obj, no trust obj",
111 data: certNoTrust,
112 err: "missing trust object for certificate with SHA1 hash: d1eb23a46d17d68fd92564c2f1f1601764d8e349",
113 },
114 {
115 name: "trust obj, no cert obj",
116 data: trustNoCert,
117 },
118 {
119 name: "missing certificate der",
120 data: missingCertificateOctal,
121 err: "malformed CKO_CERTIFICATE object",
122 },
123 {
124 name: "untrusted cert (cert)",
125 data: untrustedCertCert,
126 },
127 {
128 name: "untrusted cert (trust)",
129 data: untrustedCertTrust,
130 },
131 {
132 name: "malformed class",
133 data: malformedClass,
134 err: "malformed CKA_CLASS",
135 },
136 {
137 name: "malformed cert octal",
138 data: malformedOctalCert,
139 err: "invalid syntax",
140 },
141 {
142 name: "malformed hash octal",
143 data: malformedOctalhash,
144 err: "invalid syntax",
145 },
146 {
147 name: "malformed distrust octal",
148 data: malformedOctalDistrust,
149 err: "invalid syntax",
150 },
151 } {
152 t.Run(tc.name, func(t *testing.T) {
153 r := strings.NewReader(tc.data)
154 nc, err := Parse(r)
155 if err != nil {
156 if tc.err == "" {
157 t.Fatalf("unexpected error: %s", err)
158 } else if tc.err != err.Error() {
159 t.Fatalf("unexpected error: want %q, got %q", tc.err, err)
160 }
161 } else if tc.err != "" {
162 t.Fatal("expected error, got nil")
163 }
164
165 if len(tc.output) != len(nc) {
166 t.Fatalf("unexpected number of parsed certs: want %d, got %d", len(tc.output), len(nc))
167 }
168
169
170 sort.Slice(nc, func(i, j int) bool {
171 return nc[i].X509.Subject.String() < nc[j].X509.Subject.String()
172 })
173
174 if !reflect.DeepEqual(tc.output, nc) {
175 t.Fatal("unexpected results")
176 }
177 })
178 }
179 }
180
181 const validCertdata = `#
182 # Certificate "Comodo AAA Services root"
183 #
184 # Issuer: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
185 # Serial Number: 1 (0x1)
186 # Subject: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
187 # Not Valid Before: Thu Jan 01 00:00:00 2004
188 # Not Valid After : Sun Dec 31 23:59:59 2028
189 # Fingerprint (SHA-256): D7:A7:A0:FB:5D:7E:27:31:D7:71:E9:48:4E:BC:DE:F7:1D:5F:0C:3E:0A:29:48:78:2B:C8:3E:E0:EA:69:9E:F4
190 # Fingerprint (SHA1): D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49
191 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
192 CKA_TOKEN CK_BBOOL CK_TRUE
193 CKA_PRIVATE CK_BBOOL CK_FALSE
194 CKA_MODIFIABLE CK_BBOOL CK_FALSE
195 CKA_LABEL UTF8 "Comodo AAA Services root"
196 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
197 CKA_SUBJECT MULTILINE_OCTAL
198 \060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
199 \033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
200 \162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
201 \006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
202 \060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
203 \103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
204 \125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
205 \143\141\164\145\040\123\145\162\166\151\143\145\163
206 END
207 CKA_ID UTF8 "0"
208 CKA_ISSUER MULTILINE_OCTAL
209 \060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
210 \033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
211 \162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
212 \006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
213 \060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
214 \103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
215 \125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
216 \143\141\164\145\040\123\145\162\166\151\143\145\163
217 END
218 CKA_SERIAL_NUMBER MULTILINE_OCTAL
219 \002\001\001
220 END
221 CKA_VALUE MULTILINE_OCTAL
222 \060\202\004\062\060\202\003\032\240\003\002\001\002\002\001\001
223 \060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
224 \173\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033
225 \060\031\006\003\125\004\010\014\022\107\162\145\141\164\145\162
226 \040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006
227 \003\125\004\007\014\007\123\141\154\146\157\162\144\061\032\060
228 \030\006\003\125\004\012\014\021\103\157\155\157\144\157\040\103
229 \101\040\114\151\155\151\164\145\144\061\041\060\037\006\003\125
230 \004\003\014\030\101\101\101\040\103\145\162\164\151\146\151\143
231 \141\164\145\040\123\145\162\166\151\143\145\163\060\036\027\015
232 \060\064\060\061\060\061\060\060\060\060\060\060\132\027\015\062
233 \070\061\062\063\061\062\063\065\071\065\071\132\060\173\061\013
234 \060\011\006\003\125\004\006\023\002\107\102\061\033\060\031\006
235 \003\125\004\010\014\022\107\162\145\141\164\145\162\040\115\141
236 \156\143\150\145\163\164\145\162\061\020\060\016\006\003\125\004
237 \007\014\007\123\141\154\146\157\162\144\061\032\060\030\006\003
238 \125\004\012\014\021\103\157\155\157\144\157\040\103\101\040\114
239 \151\155\151\164\145\144\061\041\060\037\006\003\125\004\003\014
240 \030\101\101\101\040\103\145\162\164\151\146\151\143\141\164\145
241 \040\123\145\162\166\151\143\145\163\060\202\001\042\060\015\006
242 \011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
243 \000\060\202\001\012\002\202\001\001\000\276\100\235\364\156\341
244 \352\166\207\034\115\105\104\216\276\106\310\203\006\235\301\052
245 \376\030\037\216\344\002\372\363\253\135\120\212\026\061\013\232
246 \006\320\305\160\042\315\111\055\124\143\314\266\156\150\106\013
247 \123\352\313\114\044\300\274\162\116\352\361\025\256\364\124\232
248 \022\012\303\172\262\063\140\342\332\211\125\363\042\130\363\336
249 \334\317\357\203\206\242\214\224\117\237\150\362\230\220\106\204
250 \047\307\166\277\343\314\065\054\213\136\007\144\145\202\300\110
251 \260\250\221\371\141\237\166\040\120\250\221\307\146\265\353\170
252 \142\003\126\360\212\032\023\352\061\243\036\240\231\375\070\366
253 \366\047\062\130\157\007\365\153\270\373\024\053\257\267\252\314
254 \326\143\137\163\214\332\005\231\250\070\250\313\027\170\066\121
255 \254\351\236\364\170\072\215\317\017\331\102\342\230\014\253\057
256 \237\016\001\336\357\237\231\111\361\055\337\254\164\115\033\230
257 \265\107\305\345\051\321\371\220\030\307\142\234\276\203\307\046
258 \173\076\212\045\307\300\335\235\346\065\150\020\040\235\217\330
259 \336\322\303\204\234\015\136\350\057\311\002\003\001\000\001\243
260 \201\300\060\201\275\060\035\006\003\125\035\016\004\026\004\024
261 \240\021\012\043\076\226\361\007\354\342\257\051\357\202\245\177
262 \320\060\244\264\060\016\006\003\125\035\017\001\001\377\004\004
263 \003\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005
264 \060\003\001\001\377\060\173\006\003\125\035\037\004\164\060\162
265 \060\070\240\066\240\064\206\062\150\164\164\160\072\057\057\143
266 \162\154\056\143\157\155\157\144\157\143\141\056\143\157\155\057
267 \101\101\101\103\145\162\164\151\146\151\143\141\164\145\123\145
268 \162\166\151\143\145\163\056\143\162\154\060\066\240\064\240\062
269 \206\060\150\164\164\160\072\057\057\143\162\154\056\143\157\155
270 \157\144\157\056\156\145\164\057\101\101\101\103\145\162\164\151
271 \146\151\143\141\164\145\123\145\162\166\151\143\145\163\056\143
272 \162\154\060\015\006\011\052\206\110\206\367\015\001\001\005\005
273 \000\003\202\001\001\000\010\126\374\002\360\233\350\377\244\372
274 \326\173\306\104\200\316\117\304\305\366\000\130\314\246\266\274
275 \024\111\150\004\166\350\346\356\135\354\002\017\140\326\215\120
276 \030\117\046\116\001\343\346\260\245\356\277\274\164\124\101\277
277 \375\374\022\270\307\117\132\364\211\140\005\177\140\267\005\112
278 \363\366\361\302\277\304\271\164\206\266\055\175\153\314\322\363
279 \106\335\057\306\340\152\303\303\064\003\054\175\226\335\132\302
280 \016\247\012\231\301\005\213\253\014\057\363\134\072\317\154\067
281 \125\011\207\336\123\100\154\130\357\374\266\253\145\156\004\366
282 \033\334\074\340\132\025\306\236\331\361\131\110\060\041\145\003
283 \154\354\351\041\163\354\233\003\241\340\067\255\240\025\030\217
284 \372\272\002\316\247\054\251\020\023\054\324\345\010\046\253\042
285 \227\140\370\220\136\164\324\242\232\123\275\362\251\150\340\242
286 \156\302\327\154\261\243\017\236\277\353\150\347\126\362\256\362
287 \343\053\070\072\011\201\265\153\205\327\276\055\355\077\032\267
288 \262\143\342\365\142\054\202\324\152\000\101\120\361\071\203\237
289 \225\351\066\226\230\156
290 END
291 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
292 CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
293 CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
294
295 # Trust for "Comodo AAA Services root"
296 # Issuer: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
297 # Serial Number: 1 (0x1)
298 # Subject: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
299 # Not Valid Before: Thu Jan 01 00:00:00 2004
300 # Not Valid After : Sun Dec 31 23:59:59 2028
301 # Fingerprint (SHA-256): D7:A7:A0:FB:5D:7E:27:31:D7:71:E9:48:4E:BC:DE:F7:1D:5F:0C:3E:0A:29:48:78:2B:C8:3E:E0:EA:69:9E:F4
302 # Fingerprint (SHA1): D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49
303 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
304 CKA_TOKEN CK_BBOOL CK_TRUE
305 CKA_PRIVATE CK_BBOOL CK_FALSE
306 CKA_MODIFIABLE CK_BBOOL CK_FALSE
307 CKA_LABEL UTF8 "Comodo AAA Services root"
308 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
309 \321\353\043\244\155\027\326\217\331\045\144\302\361\361\140\027
310 \144\330\343\111
311 END
312 CKA_CERT_MD5_HASH MULTILINE_OCTAL
313 \111\171\004\260\353\207\031\254\107\260\274\021\121\233\164\320
314 END
315 CKA_ISSUER MULTILINE_OCTAL
316 \060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
317 \033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
318 \162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
319 \006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
320 \060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
321 \103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
322 \125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
323 \143\141\164\145\040\123\145\162\166\151\143\145\163
324 END
325 CKA_SERIAL_NUMBER MULTILINE_OCTAL
326 \002\001\001
327 END
328 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
329 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
330 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
331 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
332
333 #
334 # Certificate "TrustCor RootCert CA-2"
335 #
336 # Issuer: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
337 # Serial Number:25:a1:df:ca:33:cb:59:02
338 # Subject: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
339 # Not Valid Before: Thu Feb 04 12:32:23 2016
340 # Not Valid After : Sun Dec 31 17:26:39 2034
341 # Fingerprint (SHA-256): 07:53:E9:40:37:8C:1B:D5:E3:83:6E:39:5D:AE:A5:CB:83:9E:50:46:F1:BD:0E:AE:19:51:CF:10:FE:C7:C9:65
342 # Fingerprint (SHA1): B8:BE:6D:CB:56:F1:55:B9:63:D4:12:CA:4E:06:34:C7:94:B2:1C:C0
343 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
344 CKA_TOKEN CK_BBOOL CK_TRUE
345 CKA_PRIVATE CK_BBOOL CK_FALSE
346 CKA_MODIFIABLE CK_BBOOL CK_FALSE
347 CKA_LABEL UTF8 "TrustCor RootCert CA-2"
348 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
349 CKA_SUBJECT MULTILINE_OCTAL
350 \060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
351 \061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
352 \141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
353 \155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
354 \014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
355 \155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
356 \045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
357 \040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
358 \150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
359 \026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
360 \162\164\040\103\101\055\062
361 END
362 CKA_ID UTF8 "0"
363 CKA_ISSUER MULTILINE_OCTAL
364 \060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
365 \061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
366 \141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
367 \155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
368 \014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
369 \155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
370 \045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
371 \040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
372 \150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
373 \026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
374 \162\164\040\103\101\055\062
375 END
376 CKA_SERIAL_NUMBER MULTILINE_OCTAL
377 \002\010\045\241\337\312\063\313\131\002
378 END
379 CKA_VALUE MULTILINE_OCTAL
380 \060\202\006\057\060\202\004\027\240\003\002\001\002\002\010\045
381 \241\337\312\063\313\131\002\060\015\006\011\052\206\110\206\367
382 \015\001\001\013\005\000\060\201\244\061\013\060\011\006\003\125
383 \004\006\023\002\120\101\061\017\060\015\006\003\125\004\010\014
384 \006\120\141\156\141\155\141\061\024\060\022\006\003\125\004\007
385 \014\013\120\141\156\141\155\141\040\103\151\164\171\061\044\060
386 \042\006\003\125\004\012\014\033\124\162\165\163\164\103\157\162
387 \040\123\171\163\164\145\155\163\040\123\056\040\144\145\040\122
388 \056\114\056\061\047\060\045\006\003\125\004\013\014\036\124\162
389 \165\163\164\103\157\162\040\103\145\162\164\151\146\151\143\141
390 \164\145\040\101\165\164\150\157\162\151\164\171\061\037\060\035
391 \006\003\125\004\003\014\026\124\162\165\163\164\103\157\162\040
392 \122\157\157\164\103\145\162\164\040\103\101\055\062\060\036\027
393 \015\061\066\060\062\060\064\061\062\063\062\062\063\132\027\015
394 \063\064\061\062\063\061\061\067\062\066\063\071\132\060\201\244
395 \061\013\060\011\006\003\125\004\006\023\002\120\101\061\017\060
396 \015\006\003\125\004\010\014\006\120\141\156\141\155\141\061\024
397 \060\022\006\003\125\004\007\014\013\120\141\156\141\155\141\040
398 \103\151\164\171\061\044\060\042\006\003\125\004\012\014\033\124
399 \162\165\163\164\103\157\162\040\123\171\163\164\145\155\163\040
400 \123\056\040\144\145\040\122\056\114\056\061\047\060\045\006\003
401 \125\004\013\014\036\124\162\165\163\164\103\157\162\040\103\145
402 \162\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162
403 \151\164\171\061\037\060\035\006\003\125\004\003\014\026\124\162
404 \165\163\164\103\157\162\040\122\157\157\164\103\145\162\164\040
405 \103\101\055\062\060\202\002\042\060\015\006\011\052\206\110\206
406 \367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012
407 \002\202\002\001\000\247\040\156\302\052\242\142\044\225\220\166
408 \310\070\176\200\322\253\301\233\145\005\224\364\301\012\020\325
409 \002\254\355\237\223\307\207\310\260\047\053\102\014\075\012\076
410 \101\132\236\165\335\215\312\340\233\354\150\062\244\151\222\150
411 \214\013\201\016\126\240\076\032\335\054\045\024\202\057\227\323
412 \144\106\364\124\251\334\072\124\055\061\053\231\202\362\331\052
413 \327\357\161\000\270\061\244\276\172\044\007\303\102\040\362\212
414 \324\222\004\033\145\126\114\154\324\373\266\141\132\107\043\264
415 \330\151\264\267\072\320\164\074\014\165\241\214\116\166\241\351
416 \333\052\245\073\372\316\260\377\176\152\050\375\047\034\310\261
417 \351\051\361\127\156\144\264\320\301\025\155\016\276\056\016\106
418 \310\136\364\121\376\357\016\143\072\073\161\272\317\157\131\312
419 \014\343\233\135\111\270\114\342\127\261\230\212\102\127\234\166
420 \357\357\275\321\150\250\322\364\011\273\167\065\276\045\202\010
421 \304\026\054\104\040\126\251\104\021\167\357\135\264\035\252\136
422 \153\076\213\062\366\007\057\127\004\222\312\365\376\235\302\351
423 \350\263\216\114\113\002\061\331\344\074\110\202\047\367\030\202
424 \166\110\072\161\261\023\241\071\325\056\305\064\302\035\142\205
425 \337\003\376\115\364\257\075\337\134\133\215\372\160\341\245\176
426 \047\307\206\056\152\217\022\306\204\136\103\121\120\234\031\233
427 \170\346\374\366\355\107\176\173\075\146\357\023\023\210\137\074
428 \241\143\373\371\254\207\065\237\363\202\236\244\077\012\234\061
429 \151\213\231\244\210\112\216\156\146\115\357\026\304\017\171\050
430 \041\140\015\205\026\175\327\124\070\361\222\126\375\265\063\114
431 \203\334\327\020\237\113\375\306\370\102\275\272\174\163\002\340
432 \377\175\315\133\341\324\254\141\173\127\325\112\173\133\324\205
433 \130\047\135\277\370\053\140\254\240\046\256\024\041\047\306\167
434 \232\063\200\074\136\106\077\367\303\261\243\206\063\306\350\136
435 \015\271\065\054\252\106\301\205\002\165\200\240\353\044\373\025
436 \252\344\147\177\156\167\077\364\004\212\057\174\173\343\027\141
437 \360\335\011\251\040\310\276\011\244\320\176\104\303\262\060\112
438 \070\252\251\354\030\232\007\202\053\333\270\234\030\255\332\340
439 \106\027\254\317\135\002\003\001\000\001\243\143\060\141\060\035
440 \006\003\125\035\016\004\026\004\024\331\376\041\100\156\224\236
441 \274\233\075\234\175\230\040\031\345\214\060\142\262\060\037\006
442 \003\125\035\043\004\030\060\026\200\024\331\376\041\100\156\224
443 \236\274\233\075\234\175\230\040\031\345\214\060\142\262\060\017
444 \006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
445 \016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060
446 \015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202
447 \002\001\000\236\105\236\014\073\266\357\341\072\310\174\321\000
448 \075\317\342\352\006\265\262\072\273\006\113\150\172\320\043\227
449 \164\247\054\360\010\330\171\132\327\132\204\212\330\022\232\033
450 \331\175\134\115\160\305\245\371\253\345\243\211\211\335\001\372
451 \354\335\371\351\222\227\333\260\106\102\363\323\142\252\225\376
452 \061\147\024\151\130\220\012\252\013\356\067\043\307\120\121\264
453 \365\176\236\343\173\367\344\314\102\062\055\111\014\313\377\111
454 \014\233\036\064\375\156\156\226\212\171\003\266\157\333\011\313
455 \375\137\145\024\067\341\070\365\363\141\026\130\344\265\155\015
456 \013\004\033\077\120\055\177\263\307\172\032\026\200\140\370\212
457 \037\351\033\052\306\371\272\001\032\151\277\322\130\307\124\127
458 \010\217\341\071\140\167\113\254\131\204\032\210\361\335\313\117
459 \170\327\347\341\063\055\374\356\101\372\040\260\276\313\367\070
460 \224\300\341\320\205\017\273\355\054\163\253\355\376\222\166\032
461 \144\177\133\015\063\011\007\063\173\006\077\021\244\134\160\074
462 \205\300\317\343\220\250\203\167\372\333\346\305\214\150\147\020
463 \147\245\122\055\360\304\231\217\177\277\321\153\342\265\107\326
464 \331\320\205\231\115\224\233\017\113\215\356\000\132\107\035\021
465 \003\254\101\030\257\207\267\157\014\072\217\312\317\334\003\301
466 \242\011\310\345\375\200\136\310\140\102\001\033\032\123\132\273
467 \067\246\267\274\272\204\351\036\154\032\324\144\332\324\103\376
468 \223\213\113\362\054\171\026\020\324\223\013\210\217\241\330\206
469 \024\106\221\107\233\050\044\357\127\122\116\134\102\234\252\367
470 \111\354\047\350\100\036\263\246\211\042\162\234\365\015\063\264
471 \130\243\060\073\335\324\152\124\223\276\032\115\363\223\224\367
472 \374\204\013\077\204\040\134\064\003\104\305\332\255\274\012\301
473 \002\317\036\345\224\331\363\216\133\330\114\360\235\354\141\027
474 \273\024\062\124\014\002\051\223\036\222\206\366\177\357\347\222
475 \005\016\131\335\231\010\056\056\372\234\000\122\323\305\146\051
476 \344\247\227\104\244\016\050\201\023\065\305\366\157\144\346\101
477 \304\325\057\314\064\105\045\317\101\000\226\075\112\056\302\226
478 \230\117\116\112\234\227\267\333\037\222\062\310\377\017\121\156
479 \326\354\011
480 END
481 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
482 # For Server Distrust After: Wed Nov 30 00:00:00 2022
483 CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL
484 \062\062\061\061\063\060\060\060\060\060\060\060\132
485 END
486 # For Email Distrust After: Wed Nov 30 00:00:00 2022
487 CKA_NSS_EMAIL_DISTRUST_AFTER MULTILINE_OCTAL
488 \062\062\061\061\063\060\060\060\060\060\060\060\132
489 END
490
491
492 # Trust for "TrustCor RootCert CA-2"
493 # Issuer: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
494 # Serial Number:25:a1:df:ca:33:cb:59:02
495 # Subject: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
496 # Not Valid Before: Thu Feb 04 12:32:23 2016
497 # Not Valid After : Sun Dec 31 17:26:39 2034
498 # Fingerprint (SHA-256): 07:53:E9:40:37:8C:1B:D5:E3:83:6E:39:5D:AE:A5:CB:83:9E:50:46:F1:BD:0E:AE:19:51:CF:10:FE:C7:C9:65
499 # Fingerprint (SHA1): B8:BE:6D:CB:56:F1:55:B9:63:D4:12:CA:4E:06:34:C7:94:B2:1C:C0
500 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
501 CKA_TOKEN CK_BBOOL CK_TRUE
502 CKA_PRIVATE CK_BBOOL CK_FALSE
503 CKA_MODIFIABLE CK_BBOOL CK_FALSE
504 CKA_LABEL UTF8 "TrustCor RootCert CA-2"
505 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
506 \270\276\155\313\126\361\125\271\143\324\022\312\116\006\064\307
507 \224\262\034\300
508 END
509 CKA_CERT_MD5_HASH MULTILINE_OCTAL
510 \242\341\370\030\013\272\105\325\307\101\052\273\067\122\105\144
511 END
512 CKA_ISSUER MULTILINE_OCTAL
513 \060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
514 \061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
515 \141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
516 \155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
517 \014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
518 \155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
519 \045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
520 \040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
521 \150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
522 \026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
523 \162\164\040\103\101\055\062
524 END
525 CKA_SERIAL_NUMBER MULTILINE_OCTAL
526 \002\010\045\241\337\312\063\313\131\002
527 END
528 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
529 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
530 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
531 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
532 `
533
534 const trustNoCert = `CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
535 CKA_TOKEN CK_BBOOL CK_TRUE
536 CKA_PRIVATE CK_BBOOL CK_FALSE
537 CKA_MODIFIABLE CK_BBOOL CK_FALSE
538 CKA_LABEL UTF8 "Comodo AAA Services root"
539 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
540 \321\353\043\244\155\027\326\217\331\045\144\302\361\361\140\027
541 \144\330\343\111
542 END
543 CKA_CERT_MD5_HASH MULTILINE_OCTAL
544 \111\171\004\260\353\207\031\254\107\260\274\021\121\233\164\320
545 END
546 CKA_ISSUER MULTILINE_OCTAL
547 \060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
548 \033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
549 \162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
550 \006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
551 \060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
552 \103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
553 \125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
554 \143\141\164\145\040\123\145\162\166\151\143\145\163
555 END
556 CKA_SERIAL_NUMBER MULTILINE_OCTAL
557 \002\001\001
558 END
559 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
560 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
561 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
562 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE`
563
564 const certNoTrust = `CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
565 CKA_TOKEN CK_BBOOL CK_TRUE
566 CKA_PRIVATE CK_BBOOL CK_FALSE
567 CKA_MODIFIABLE CK_BBOOL CK_FALSE
568 CKA_LABEL UTF8 "Comodo AAA Services root"
569 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
570 CKA_SUBJECT MULTILINE_OCTAL
571 \060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
572 \033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
573 \162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
574 \006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
575 \060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
576 \103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
577 \125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
578 \143\141\164\145\040\123\145\162\166\151\143\145\163
579 END
580 CKA_ID UTF8 "0"
581 CKA_ISSUER MULTILINE_OCTAL
582 \060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
583 \033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
584 \162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
585 \006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
586 \060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
587 \103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
588 \125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
589 \143\141\164\145\040\123\145\162\166\151\143\145\163
590 END
591 CKA_SERIAL_NUMBER MULTILINE_OCTAL
592 \002\001\001
593 END
594 CKA_VALUE MULTILINE_OCTAL
595 \060\202\004\062\060\202\003\032\240\003\002\001\002\002\001\001
596 \060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
597 \173\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033
598 \060\031\006\003\125\004\010\014\022\107\162\145\141\164\145\162
599 \040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006
600 \003\125\004\007\014\007\123\141\154\146\157\162\144\061\032\060
601 \030\006\003\125\004\012\014\021\103\157\155\157\144\157\040\103
602 \101\040\114\151\155\151\164\145\144\061\041\060\037\006\003\125
603 \004\003\014\030\101\101\101\040\103\145\162\164\151\146\151\143
604 \141\164\145\040\123\145\162\166\151\143\145\163\060\036\027\015
605 \060\064\060\061\060\061\060\060\060\060\060\060\132\027\015\062
606 \070\061\062\063\061\062\063\065\071\065\071\132\060\173\061\013
607 \060\011\006\003\125\004\006\023\002\107\102\061\033\060\031\006
608 \003\125\004\010\014\022\107\162\145\141\164\145\162\040\115\141
609 \156\143\150\145\163\164\145\162\061\020\060\016\006\003\125\004
610 \007\014\007\123\141\154\146\157\162\144\061\032\060\030\006\003
611 \125\004\012\014\021\103\157\155\157\144\157\040\103\101\040\114
612 \151\155\151\164\145\144\061\041\060\037\006\003\125\004\003\014
613 \030\101\101\101\040\103\145\162\164\151\146\151\143\141\164\145
614 \040\123\145\162\166\151\143\145\163\060\202\001\042\060\015\006
615 \011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
616 \000\060\202\001\012\002\202\001\001\000\276\100\235\364\156\341
617 \352\166\207\034\115\105\104\216\276\106\310\203\006\235\301\052
618 \376\030\037\216\344\002\372\363\253\135\120\212\026\061\013\232
619 \006\320\305\160\042\315\111\055\124\143\314\266\156\150\106\013
620 \123\352\313\114\044\300\274\162\116\352\361\025\256\364\124\232
621 \022\012\303\172\262\063\140\342\332\211\125\363\042\130\363\336
622 \334\317\357\203\206\242\214\224\117\237\150\362\230\220\106\204
623 \047\307\166\277\343\314\065\054\213\136\007\144\145\202\300\110
624 \260\250\221\371\141\237\166\040\120\250\221\307\146\265\353\170
625 \142\003\126\360\212\032\023\352\061\243\036\240\231\375\070\366
626 \366\047\062\130\157\007\365\153\270\373\024\053\257\267\252\314
627 \326\143\137\163\214\332\005\231\250\070\250\313\027\170\066\121
628 \254\351\236\364\170\072\215\317\017\331\102\342\230\014\253\057
629 \237\016\001\336\357\237\231\111\361\055\337\254\164\115\033\230
630 \265\107\305\345\051\321\371\220\030\307\142\234\276\203\307\046
631 \173\076\212\045\307\300\335\235\346\065\150\020\040\235\217\330
632 \336\322\303\204\234\015\136\350\057\311\002\003\001\000\001\243
633 \201\300\060\201\275\060\035\006\003\125\035\016\004\026\004\024
634 \240\021\012\043\076\226\361\007\354\342\257\051\357\202\245\177
635 \320\060\244\264\060\016\006\003\125\035\017\001\001\377\004\004
636 \003\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005
637 \060\003\001\001\377\060\173\006\003\125\035\037\004\164\060\162
638 \060\070\240\066\240\064\206\062\150\164\164\160\072\057\057\143
639 \162\154\056\143\157\155\157\144\157\143\141\056\143\157\155\057
640 \101\101\101\103\145\162\164\151\146\151\143\141\164\145\123\145
641 \162\166\151\143\145\163\056\143\162\154\060\066\240\064\240\062
642 \206\060\150\164\164\160\072\057\057\143\162\154\056\143\157\155
643 \157\144\157\056\156\145\164\057\101\101\101\103\145\162\164\151
644 \146\151\143\141\164\145\123\145\162\166\151\143\145\163\056\143
645 \162\154\060\015\006\011\052\206\110\206\367\015\001\001\005\005
646 \000\003\202\001\001\000\010\126\374\002\360\233\350\377\244\372
647 \326\173\306\104\200\316\117\304\305\366\000\130\314\246\266\274
648 \024\111\150\004\166\350\346\356\135\354\002\017\140\326\215\120
649 \030\117\046\116\001\343\346\260\245\356\277\274\164\124\101\277
650 \375\374\022\270\307\117\132\364\211\140\005\177\140\267\005\112
651 \363\366\361\302\277\304\271\164\206\266\055\175\153\314\322\363
652 \106\335\057\306\340\152\303\303\064\003\054\175\226\335\132\302
653 \016\247\012\231\301\005\213\253\014\057\363\134\072\317\154\067
654 \125\011\207\336\123\100\154\130\357\374\266\253\145\156\004\366
655 \033\334\074\340\132\025\306\236\331\361\131\110\060\041\145\003
656 \154\354\351\041\163\354\233\003\241\340\067\255\240\025\030\217
657 \372\272\002\316\247\054\251\020\023\054\324\345\010\046\253\042
658 \227\140\370\220\136\164\324\242\232\123\275\362\251\150\340\242
659 \156\302\327\154\261\243\017\236\277\353\150\347\126\362\256\362
660 \343\053\070\072\011\201\265\153\205\327\276\055\355\077\032\267
661 \262\143\342\365\142\054\202\324\152\000\101\120\361\071\203\237
662 \225\351\066\226\230\156
663 END
664 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
665 CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
666 CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE`
667
668 const missingCertificateOctal = `CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE`
669
670 const untrustedCertCert = `#
671 # Certificate "Comodo AAA Services root"
672 #
673 # Issuer: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
674 # Serial Number: 1 (0x1)
675 # Subject: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
676 # Not Valid Before: Thu Jan 01 00:00:00 2004
677 # Not Valid After : Sun Dec 31 23:59:59 2028
678 # Fingerprint (SHA-256): D7:A7:A0:FB:5D:7E:27:31:D7:71:E9:48:4E:BC:DE:F7:1D:5F:0C:3E:0A:29:48:78:2B:C8:3E:E0:EA:69:9E:F4
679 # Fingerprint (SHA1): D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49
680 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
681 CKA_TOKEN CK_BBOOL CK_TRUE
682 CKA_PRIVATE CK_BBOOL CK_FALSE
683 CKA_MODIFIABLE CK_BBOOL CK_FALSE
684 CKA_LABEL UTF8 "Comodo AAA Services root"
685 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
686 CKA_SUBJECT MULTILINE_OCTAL
687 \060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
688 \033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
689 \162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
690 \006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
691 \060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
692 \103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
693 \125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
694 \143\141\164\145\040\123\145\162\166\151\143\145\163
695 END
696 CKA_ID UTF8 "0"
697 CKA_ISSUER MULTILINE_OCTAL
698 \060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
699 \033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
700 \162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
701 \006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
702 \060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
703 \103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
704 \125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
705 \143\141\164\145\040\123\145\162\166\151\143\145\163
706 END
707 CKA_SERIAL_NUMBER MULTILINE_OCTAL
708 \002\001\001
709 END
710 CKA_VALUE MULTILINE_OCTAL
711 \060\202\004\062\060\202\003\032\240\003\002\001\002\002\001\001
712 \060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
713 \173\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033
714 \060\031\006\003\125\004\010\014\022\107\162\145\141\164\145\162
715 \040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006
716 \003\125\004\007\014\007\123\141\154\146\157\162\144\061\032\060
717 \030\006\003\125\004\012\014\021\103\157\155\157\144\157\040\103
718 \101\040\114\151\155\151\164\145\144\061\041\060\037\006\003\125
719 \004\003\014\030\101\101\101\040\103\145\162\164\151\146\151\143
720 \141\164\145\040\123\145\162\166\151\143\145\163\060\036\027\015
721 \060\064\060\061\060\061\060\060\060\060\060\060\132\027\015\062
722 \070\061\062\063\061\062\063\065\071\065\071\132\060\173\061\013
723 \060\011\006\003\125\004\006\023\002\107\102\061\033\060\031\006
724 \003\125\004\010\014\022\107\162\145\141\164\145\162\040\115\141
725 \156\143\150\145\163\164\145\162\061\020\060\016\006\003\125\004
726 \007\014\007\123\141\154\146\157\162\144\061\032\060\030\006\003
727 \125\004\012\014\021\103\157\155\157\144\157\040\103\101\040\114
728 \151\155\151\164\145\144\061\041\060\037\006\003\125\004\003\014
729 \030\101\101\101\040\103\145\162\164\151\146\151\143\141\164\145
730 \040\123\145\162\166\151\143\145\163\060\202\001\042\060\015\006
731 \011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
732 \000\060\202\001\012\002\202\001\001\000\276\100\235\364\156\341
733 \352\166\207\034\115\105\104\216\276\106\310\203\006\235\301\052
734 \376\030\037\216\344\002\372\363\253\135\120\212\026\061\013\232
735 \006\320\305\160\042\315\111\055\124\143\314\266\156\150\106\013
736 \123\352\313\114\044\300\274\162\116\352\361\025\256\364\124\232
737 \022\012\303\172\262\063\140\342\332\211\125\363\042\130\363\336
738 \334\317\357\203\206\242\214\224\117\237\150\362\230\220\106\204
739 \047\307\166\277\343\314\065\054\213\136\007\144\145\202\300\110
740 \260\250\221\371\141\237\166\040\120\250\221\307\146\265\353\170
741 \142\003\126\360\212\032\023\352\061\243\036\240\231\375\070\366
742 \366\047\062\130\157\007\365\153\270\373\024\053\257\267\252\314
743 \326\143\137\163\214\332\005\231\250\070\250\313\027\170\066\121
744 \254\351\236\364\170\072\215\317\017\331\102\342\230\014\253\057
745 \237\016\001\336\357\237\231\111\361\055\337\254\164\115\033\230
746 \265\107\305\345\051\321\371\220\030\307\142\234\276\203\307\046
747 \173\076\212\045\307\300\335\235\346\065\150\020\040\235\217\330
748 \336\322\303\204\234\015\136\350\057\311\002\003\001\000\001\243
749 \201\300\060\201\275\060\035\006\003\125\035\016\004\026\004\024
750 \240\021\012\043\076\226\361\007\354\342\257\051\357\202\245\177
751 \320\060\244\264\060\016\006\003\125\035\017\001\001\377\004\004
752 \003\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005
753 \060\003\001\001\377\060\173\006\003\125\035\037\004\164\060\162
754 \060\070\240\066\240\064\206\062\150\164\164\160\072\057\057\143
755 \162\154\056\143\157\155\157\144\157\143\141\056\143\157\155\057
756 \101\101\101\103\145\162\164\151\146\151\143\141\164\145\123\145
757 \162\166\151\143\145\163\056\143\162\154\060\066\240\064\240\062
758 \206\060\150\164\164\160\072\057\057\143\162\154\056\143\157\155
759 \157\144\157\056\156\145\164\057\101\101\101\103\145\162\164\151
760 \146\151\143\141\164\145\123\145\162\166\151\143\145\163\056\143
761 \162\154\060\015\006\011\052\206\110\206\367\015\001\001\005\005
762 \000\003\202\001\001\000\010\126\374\002\360\233\350\377\244\372
763 \326\173\306\104\200\316\117\304\305\366\000\130\314\246\266\274
764 \024\111\150\004\166\350\346\356\135\354\002\017\140\326\215\120
765 \030\117\046\116\001\343\346\260\245\356\277\274\164\124\101\277
766 \375\374\022\270\307\117\132\364\211\140\005\177\140\267\005\112
767 \363\366\361\302\277\304\271\164\206\266\055\175\153\314\322\363
768 \106\335\057\306\340\152\303\303\064\003\054\175\226\335\132\302
769 \016\247\012\231\301\005\213\253\014\057\363\134\072\317\154\067
770 \125\011\207\336\123\100\154\130\357\374\266\253\145\156\004\366
771 \033\334\074\340\132\025\306\236\331\361\131\110\060\041\145\003
772 \154\354\351\041\163\354\233\003\241\340\067\255\240\025\030\217
773 \372\272\002\316\247\054\251\020\023\054\324\345\010\046\253\042
774 \227\140\370\220\136\164\324\242\232\123\275\362\251\150\340\242
775 \156\302\327\154\261\243\017\236\277\353\150\347\126\362\256\362
776 \343\053\070\072\011\201\265\153\205\327\276\055\355\077\032\267
777 \262\143\342\365\142\054\202\324\152\000\101\120\361\071\203\237
778 \225\351\066\226\230\156
779 END
780 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_FALSE
781 CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
782 CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
783
784 # Trust for "Comodo AAA Services root"
785 # Issuer: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
786 # Serial Number: 1 (0x1)
787 # Subject: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
788 # Not Valid Before: Thu Jan 01 00:00:00 2004
789 # Not Valid After : Sun Dec 31 23:59:59 2028
790 # Fingerprint (SHA-256): D7:A7:A0:FB:5D:7E:27:31:D7:71:E9:48:4E:BC:DE:F7:1D:5F:0C:3E:0A:29:48:78:2B:C8:3E:E0:EA:69:9E:F4
791 # Fingerprint (SHA1): D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49
792 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
793 CKA_TOKEN CK_BBOOL CK_TRUE
794 CKA_PRIVATE CK_BBOOL CK_FALSE
795 CKA_MODIFIABLE CK_BBOOL CK_FALSE
796 CKA_LABEL UTF8 "Comodo AAA Services root"
797 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
798 \321\353\043\244\155\027\326\217\331\045\144\302\361\361\140\027
799 \144\330\343\111
800 END
801 CKA_CERT_MD5_HASH MULTILINE_OCTAL
802 \111\171\004\260\353\207\031\254\107\260\274\021\121\233\164\320
803 END
804 CKA_ISSUER MULTILINE_OCTAL
805 \060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
806 \033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
807 \162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
808 \006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
809 \060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
810 \103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
811 \125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
812 \143\141\164\145\040\123\145\162\166\151\143\145\163
813 END
814 CKA_SERIAL_NUMBER MULTILINE_OCTAL
815 \002\001\001
816 END
817 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
818 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
819 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
820 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE`
821
822 const untrustedCertTrust = `#
823 # Certificate "Comodo AAA Services root"
824 #
825 # Issuer: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
826 # Serial Number: 1 (0x1)
827 # Subject: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
828 # Not Valid Before: Thu Jan 01 00:00:00 2004
829 # Not Valid After : Sun Dec 31 23:59:59 2028
830 # Fingerprint (SHA-256): D7:A7:A0:FB:5D:7E:27:31:D7:71:E9:48:4E:BC:DE:F7:1D:5F:0C:3E:0A:29:48:78:2B:C8:3E:E0:EA:69:9E:F4
831 # Fingerprint (SHA1): D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49
832 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
833 CKA_TOKEN CK_BBOOL CK_TRUE
834 CKA_PRIVATE CK_BBOOL CK_FALSE
835 CKA_MODIFIABLE CK_BBOOL CK_FALSE
836 CKA_LABEL UTF8 "Comodo AAA Services root"
837 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
838 CKA_SUBJECT MULTILINE_OCTAL
839 \060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
840 \033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
841 \162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
842 \006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
843 \060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
844 \103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
845 \125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
846 \143\141\164\145\040\123\145\162\166\151\143\145\163
847 END
848 CKA_ID UTF8 "0"
849 CKA_ISSUER MULTILINE_OCTAL
850 \060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
851 \033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
852 \162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
853 \006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
854 \060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
855 \103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
856 \125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
857 \143\141\164\145\040\123\145\162\166\151\143\145\163
858 END
859 CKA_SERIAL_NUMBER MULTILINE_OCTAL
860 \002\001\001
861 END
862 CKA_VALUE MULTILINE_OCTAL
863 \060\202\004\062\060\202\003\032\240\003\002\001\002\002\001\001
864 \060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
865 \173\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033
866 \060\031\006\003\125\004\010\014\022\107\162\145\141\164\145\162
867 \040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006
868 \003\125\004\007\014\007\123\141\154\146\157\162\144\061\032\060
869 \030\006\003\125\004\012\014\021\103\157\155\157\144\157\040\103
870 \101\040\114\151\155\151\164\145\144\061\041\060\037\006\003\125
871 \004\003\014\030\101\101\101\040\103\145\162\164\151\146\151\143
872 \141\164\145\040\123\145\162\166\151\143\145\163\060\036\027\015
873 \060\064\060\061\060\061\060\060\060\060\060\060\132\027\015\062
874 \070\061\062\063\061\062\063\065\071\065\071\132\060\173\061\013
875 \060\011\006\003\125\004\006\023\002\107\102\061\033\060\031\006
876 \003\125\004\010\014\022\107\162\145\141\164\145\162\040\115\141
877 \156\143\150\145\163\164\145\162\061\020\060\016\006\003\125\004
878 \007\014\007\123\141\154\146\157\162\144\061\032\060\030\006\003
879 \125\004\012\014\021\103\157\155\157\144\157\040\103\101\040\114
880 \151\155\151\164\145\144\061\041\060\037\006\003\125\004\003\014
881 \030\101\101\101\040\103\145\162\164\151\146\151\143\141\164\145
882 \040\123\145\162\166\151\143\145\163\060\202\001\042\060\015\006
883 \011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
884 \000\060\202\001\012\002\202\001\001\000\276\100\235\364\156\341
885 \352\166\207\034\115\105\104\216\276\106\310\203\006\235\301\052
886 \376\030\037\216\344\002\372\363\253\135\120\212\026\061\013\232
887 \006\320\305\160\042\315\111\055\124\143\314\266\156\150\106\013
888 \123\352\313\114\044\300\274\162\116\352\361\025\256\364\124\232
889 \022\012\303\172\262\063\140\342\332\211\125\363\042\130\363\336
890 \334\317\357\203\206\242\214\224\117\237\150\362\230\220\106\204
891 \047\307\166\277\343\314\065\054\213\136\007\144\145\202\300\110
892 \260\250\221\371\141\237\166\040\120\250\221\307\146\265\353\170
893 \142\003\126\360\212\032\023\352\061\243\036\240\231\375\070\366
894 \366\047\062\130\157\007\365\153\270\373\024\053\257\267\252\314
895 \326\143\137\163\214\332\005\231\250\070\250\313\027\170\066\121
896 \254\351\236\364\170\072\215\317\017\331\102\342\230\014\253\057
897 \237\016\001\336\357\237\231\111\361\055\337\254\164\115\033\230
898 \265\107\305\345\051\321\371\220\030\307\142\234\276\203\307\046
899 \173\076\212\045\307\300\335\235\346\065\150\020\040\235\217\330
900 \336\322\303\204\234\015\136\350\057\311\002\003\001\000\001\243
901 \201\300\060\201\275\060\035\006\003\125\035\016\004\026\004\024
902 \240\021\012\043\076\226\361\007\354\342\257\051\357\202\245\177
903 \320\060\244\264\060\016\006\003\125\035\017\001\001\377\004\004
904 \003\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005
905 \060\003\001\001\377\060\173\006\003\125\035\037\004\164\060\162
906 \060\070\240\066\240\064\206\062\150\164\164\160\072\057\057\143
907 \162\154\056\143\157\155\157\144\157\143\141\056\143\157\155\057
908 \101\101\101\103\145\162\164\151\146\151\143\141\164\145\123\145
909 \162\166\151\143\145\163\056\143\162\154\060\066\240\064\240\062
910 \206\060\150\164\164\160\072\057\057\143\162\154\056\143\157\155
911 \157\144\157\056\156\145\164\057\101\101\101\103\145\162\164\151
912 \146\151\143\141\164\145\123\145\162\166\151\143\145\163\056\143
913 \162\154\060\015\006\011\052\206\110\206\367\015\001\001\005\005
914 \000\003\202\001\001\000\010\126\374\002\360\233\350\377\244\372
915 \326\173\306\104\200\316\117\304\305\366\000\130\314\246\266\274
916 \024\111\150\004\166\350\346\356\135\354\002\017\140\326\215\120
917 \030\117\046\116\001\343\346\260\245\356\277\274\164\124\101\277
918 \375\374\022\270\307\117\132\364\211\140\005\177\140\267\005\112
919 \363\366\361\302\277\304\271\164\206\266\055\175\153\314\322\363
920 \106\335\057\306\340\152\303\303\064\003\054\175\226\335\132\302
921 \016\247\012\231\301\005\213\253\014\057\363\134\072\317\154\067
922 \125\011\207\336\123\100\154\130\357\374\266\253\145\156\004\366
923 \033\334\074\340\132\025\306\236\331\361\131\110\060\041\145\003
924 \154\354\351\041\163\354\233\003\241\340\067\255\240\025\030\217
925 \372\272\002\316\247\054\251\020\023\054\324\345\010\046\253\042
926 \227\140\370\220\136\164\324\242\232\123\275\362\251\150\340\242
927 \156\302\327\154\261\243\017\236\277\353\150\347\126\362\256\362
928 \343\053\070\072\011\201\265\153\205\327\276\055\355\077\032\267
929 \262\143\342\365\142\054\202\324\152\000\101\120\361\071\203\237
930 \225\351\066\226\230\156
931 END
932 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
933 CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
934 CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
935
936 # Trust for "Comodo AAA Services root"
937 # Issuer: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
938 # Serial Number: 1 (0x1)
939 # Subject: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
940 # Not Valid Before: Thu Jan 01 00:00:00 2004
941 # Not Valid After : Sun Dec 31 23:59:59 2028
942 # Fingerprint (SHA-256): D7:A7:A0:FB:5D:7E:27:31:D7:71:E9:48:4E:BC:DE:F7:1D:5F:0C:3E:0A:29:48:78:2B:C8:3E:E0:EA:69:9E:F4
943 # Fingerprint (SHA1): D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49
944 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
945 CKA_TOKEN CK_BBOOL CK_TRUE
946 CKA_PRIVATE CK_BBOOL CK_FALSE
947 CKA_MODIFIABLE CK_BBOOL CK_FALSE
948 CKA_LABEL UTF8 "Comodo AAA Services root"
949 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
950 \321\353\043\244\155\027\326\217\331\045\144\302\361\361\140\027
951 \144\330\343\111
952 END
953 CKA_CERT_MD5_HASH MULTILINE_OCTAL
954 \111\171\004\260\353\207\031\254\107\260\274\021\121\233\164\320
955 END
956 CKA_ISSUER MULTILINE_OCTAL
957 \060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
958 \033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
959 \162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
960 \006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
961 \060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
962 \103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
963 \125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
964 \143\141\164\145\040\123\145\162\166\151\143\145\163
965 END
966 CKA_SERIAL_NUMBER MULTILINE_OCTAL
967 \002\001\001
968 END
969 CKA_TRUST_SERVER_AUTH CK_TRUST
970 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
971 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
972 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE`
973
974 const malformedClass = `CKA_CLASS`
975
976 const malformedOctalCert = `#
977 # Certificate "Comodo AAA Services root"
978 #
979 # Issuer: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
980 # Serial Number: 1 (0x1)
981 # Subject: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
982 # Not Valid Before: Thu Jan 01 00:00:00 2004
983 # Not Valid After : Sun Dec 31 23:59:59 2028
984 # Fingerprint (SHA-256): D7:A7:A0:FB:5D:7E:27:31:D7:71:E9:48:4E:BC:DE:F7:1D:5F:0C:3E:0A:29:48:78:2B:C8:3E:E0:EA:69:9E:F4
985 # Fingerprint (SHA1): D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49
986 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
987 CKA_TOKEN CK_BBOOL CK_TRUE
988 CKA_PRIVATE CK_BBOOL CK_FALSE
989 CKA_MODIFIABLE CK_BBOOL CK_FALSE
990 CKA_LABEL UTF8 "Comodo AAA Services root"
991 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
992 CKA_SUBJECT MULTILINE_OCTAL
993 \060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
994 \033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
995 \162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
996 \006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
997 \060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
998 \103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
999 \125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
1000 \143\141\164\145\040\123\145\162\166\151\143\145\163
1001 END
1002 CKA_ID UTF8 "0"
1003 CKA_ISSUER MULTILINE_OCTAL
1004 \060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
1005 \033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
1006 \162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
1007 \006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
1008 \060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
1009 \103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
1010 \125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
1011 \143\141\164\145\040\123\145\162\166\151\143\145\163
1012 END
1013 CKA_SERIAL_NUMBER MULTILINE_OCTAL
1014 \002\001\001
1015 END
1016 CKA_VALUE MULTILINE_OCTAL
1017 hello\xxxxxxx
1018 END
1019 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
1020 CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
1021 CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE`
1022
1023 const malformedOctalhash = `# Trust for "Comodo AAA Services root"
1024 # Issuer: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
1025 # Serial Number: 1 (0x1)
1026 # Subject: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
1027 # Not Valid Before: Thu Jan 01 00:00:00 2004
1028 # Not Valid After : Sun Dec 31 23:59:59 2028
1029 # Fingerprint (SHA-256): D7:A7:A0:FB:5D:7E:27:31:D7:71:E9:48:4E:BC:DE:F7:1D:5F:0C:3E:0A:29:48:78:2B:C8:3E:E0:EA:69:9E:F4
1030 # Fingerprint (SHA1): D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49
1031 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
1032 CKA_TOKEN CK_BBOOL CK_TRUE
1033 CKA_PRIVATE CK_BBOOL CK_FALSE
1034 CKA_MODIFIABLE CK_BBOOL CK_FALSE
1035 CKA_LABEL UTF8 "Comodo AAA Services root"
1036 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
1037 \xxxxx
1038 END
1039 CKA_CERT_MD5_HASH MULTILINE_OCTAL
1040 \111\171\004\260\353\207\031\254\107\260\274\021\121\233\164\320
1041 END
1042 CKA_ISSUER MULTILINE_OCTAL
1043 \060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
1044 \033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
1045 \162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
1046 \006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
1047 \060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
1048 \103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
1049 \125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
1050 \143\141\164\145\040\123\145\162\166\151\143\145\163
1051 END
1052 CKA_SERIAL_NUMBER MULTILINE_OCTAL
1053 \002\001\001
1054 END
1055 CKA_TRUST_SERVER_AUTH CK_TRUST
1056 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
1057 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
1058 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE`
1059
1060 const malformedOctalDistrust = `#
1061 # Certificate "TrustCor RootCert CA-2"
1062 #
1063 # Issuer: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
1064 # Serial Number:25:a1:df:ca:33:cb:59:02
1065 # Subject: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
1066 # Not Valid Before: Thu Feb 04 12:32:23 2016
1067 # Not Valid After : Sun Dec 31 17:26:39 2034
1068 # Fingerprint (SHA-256): 07:53:E9:40:37:8C:1B:D5:E3:83:6E:39:5D:AE:A5:CB:83:9E:50:46:F1:BD:0E:AE:19:51:CF:10:FE:C7:C9:65
1069 # Fingerprint (SHA1): B8:BE:6D:CB:56:F1:55:B9:63:D4:12:CA:4E:06:34:C7:94:B2:1C:C0
1070 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
1071 CKA_TOKEN CK_BBOOL CK_TRUE
1072 CKA_PRIVATE CK_BBOOL CK_FALSE
1073 CKA_MODIFIABLE CK_BBOOL CK_FALSE
1074 CKA_LABEL UTF8 "TrustCor RootCert CA-2"
1075 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
1076 CKA_SUBJECT MULTILINE_OCTAL
1077 \060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
1078 \061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
1079 \141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
1080 \155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
1081 \014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
1082 \155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
1083 \045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
1084 \040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
1085 \150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
1086 \026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
1087 \162\164\040\103\101\055\062
1088 END
1089 CKA_ID UTF8 "0"
1090 CKA_ISSUER MULTILINE_OCTAL
1091 \060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
1092 \061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
1093 \141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
1094 \155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
1095 \014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
1096 \155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
1097 \045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
1098 \040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
1099 \150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
1100 \026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
1101 \162\164\040\103\101\055\062
1102 END
1103 CKA_SERIAL_NUMBER MULTILINE_OCTAL
1104 \002\010\045\241\337\312\063\313\131\002
1105 END
1106 CKA_VALUE MULTILINE_OCTAL
1107 \060\202\006\057\060\202\004\027\240\003\002\001\002\002\010\045
1108 \241\337\312\063\313\131\002\060\015\006\011\052\206\110\206\367
1109 \015\001\001\013\005\000\060\201\244\061\013\060\011\006\003\125
1110 \004\006\023\002\120\101\061\017\060\015\006\003\125\004\010\014
1111 \006\120\141\156\141\155\141\061\024\060\022\006\003\125\004\007
1112 \014\013\120\141\156\141\155\141\040\103\151\164\171\061\044\060
1113 \042\006\003\125\004\012\014\033\124\162\165\163\164\103\157\162
1114 \040\123\171\163\164\145\155\163\040\123\056\040\144\145\040\122
1115 \056\114\056\061\047\060\045\006\003\125\004\013\014\036\124\162
1116 \165\163\164\103\157\162\040\103\145\162\164\151\146\151\143\141
1117 \164\145\040\101\165\164\150\157\162\151\164\171\061\037\060\035
1118 \006\003\125\004\003\014\026\124\162\165\163\164\103\157\162\040
1119 \122\157\157\164\103\145\162\164\040\103\101\055\062\060\036\027
1120 \015\061\066\060\062\060\064\061\062\063\062\062\063\132\027\015
1121 \063\064\061\062\063\061\061\067\062\066\063\071\132\060\201\244
1122 \061\013\060\011\006\003\125\004\006\023\002\120\101\061\017\060
1123 \015\006\003\125\004\010\014\006\120\141\156\141\155\141\061\024
1124 \060\022\006\003\125\004\007\014\013\120\141\156\141\155\141\040
1125 \103\151\164\171\061\044\060\042\006\003\125\004\012\014\033\124
1126 \162\165\163\164\103\157\162\040\123\171\163\164\145\155\163\040
1127 \123\056\040\144\145\040\122\056\114\056\061\047\060\045\006\003
1128 \125\004\013\014\036\124\162\165\163\164\103\157\162\040\103\145
1129 \162\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162
1130 \151\164\171\061\037\060\035\006\003\125\004\003\014\026\124\162
1131 \165\163\164\103\157\162\040\122\157\157\164\103\145\162\164\040
1132 \103\101\055\062\060\202\002\042\060\015\006\011\052\206\110\206
1133 \367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012
1134 \002\202\002\001\000\247\040\156\302\052\242\142\044\225\220\166
1135 \310\070\176\200\322\253\301\233\145\005\224\364\301\012\020\325
1136 \002\254\355\237\223\307\207\310\260\047\053\102\014\075\012\076
1137 \101\132\236\165\335\215\312\340\233\354\150\062\244\151\222\150
1138 \214\013\201\016\126\240\076\032\335\054\045\024\202\057\227\323
1139 \144\106\364\124\251\334\072\124\055\061\053\231\202\362\331\052
1140 \327\357\161\000\270\061\244\276\172\044\007\303\102\040\362\212
1141 \324\222\004\033\145\126\114\154\324\373\266\141\132\107\043\264
1142 \330\151\264\267\072\320\164\074\014\165\241\214\116\166\241\351
1143 \333\052\245\073\372\316\260\377\176\152\050\375\047\034\310\261
1144 \351\051\361\127\156\144\264\320\301\025\155\016\276\056\016\106
1145 \310\136\364\121\376\357\016\143\072\073\161\272\317\157\131\312
1146 \014\343\233\135\111\270\114\342\127\261\230\212\102\127\234\166
1147 \357\357\275\321\150\250\322\364\011\273\167\065\276\045\202\010
1148 \304\026\054\104\040\126\251\104\021\167\357\135\264\035\252\136
1149 \153\076\213\062\366\007\057\127\004\222\312\365\376\235\302\351
1150 \350\263\216\114\113\002\061\331\344\074\110\202\047\367\030\202
1151 \166\110\072\161\261\023\241\071\325\056\305\064\302\035\142\205
1152 \337\003\376\115\364\257\075\337\134\133\215\372\160\341\245\176
1153 \047\307\206\056\152\217\022\306\204\136\103\121\120\234\031\233
1154 \170\346\374\366\355\107\176\173\075\146\357\023\023\210\137\074
1155 \241\143\373\371\254\207\065\237\363\202\236\244\077\012\234\061
1156 \151\213\231\244\210\112\216\156\146\115\357\026\304\017\171\050
1157 \041\140\015\205\026\175\327\124\070\361\222\126\375\265\063\114
1158 \203\334\327\020\237\113\375\306\370\102\275\272\174\163\002\340
1159 \377\175\315\133\341\324\254\141\173\127\325\112\173\133\324\205
1160 \130\047\135\277\370\053\140\254\240\046\256\024\041\047\306\167
1161 \232\063\200\074\136\106\077\367\303\261\243\206\063\306\350\136
1162 \015\271\065\054\252\106\301\205\002\165\200\240\353\044\373\025
1163 \252\344\147\177\156\167\077\364\004\212\057\174\173\343\027\141
1164 \360\335\011\251\040\310\276\011\244\320\176\104\303\262\060\112
1165 \070\252\251\354\030\232\007\202\053\333\270\234\030\255\332\340
1166 \106\027\254\317\135\002\003\001\000\001\243\143\060\141\060\035
1167 \006\003\125\035\016\004\026\004\024\331\376\041\100\156\224\236
1168 \274\233\075\234\175\230\040\031\345\214\060\142\262\060\037\006
1169 \003\125\035\043\004\030\060\026\200\024\331\376\041\100\156\224
1170 \236\274\233\075\234\175\230\040\031\345\214\060\142\262\060\017
1171 \006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
1172 \016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060
1173 \015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202
1174 \002\001\000\236\105\236\014\073\266\357\341\072\310\174\321\000
1175 \075\317\342\352\006\265\262\072\273\006\113\150\172\320\043\227
1176 \164\247\054\360\010\330\171\132\327\132\204\212\330\022\232\033
1177 \331\175\134\115\160\305\245\371\253\345\243\211\211\335\001\372
1178 \354\335\371\351\222\227\333\260\106\102\363\323\142\252\225\376
1179 \061\147\024\151\130\220\012\252\013\356\067\043\307\120\121\264
1180 \365\176\236\343\173\367\344\314\102\062\055\111\014\313\377\111
1181 \014\233\036\064\375\156\156\226\212\171\003\266\157\333\011\313
1182 \375\137\145\024\067\341\070\365\363\141\026\130\344\265\155\015
1183 \013\004\033\077\120\055\177\263\307\172\032\026\200\140\370\212
1184 \037\351\033\052\306\371\272\001\032\151\277\322\130\307\124\127
1185 \010\217\341\071\140\167\113\254\131\204\032\210\361\335\313\117
1186 \170\327\347\341\063\055\374\356\101\372\040\260\276\313\367\070
1187 \224\300\341\320\205\017\273\355\054\163\253\355\376\222\166\032
1188 \144\177\133\015\063\011\007\063\173\006\077\021\244\134\160\074
1189 \205\300\317\343\220\250\203\167\372\333\346\305\214\150\147\020
1190 \147\245\122\055\360\304\231\217\177\277\321\153\342\265\107\326
1191 \331\320\205\231\115\224\233\017\113\215\356\000\132\107\035\021
1192 \003\254\101\030\257\207\267\157\014\072\217\312\317\334\003\301
1193 \242\011\310\345\375\200\136\310\140\102\001\033\032\123\132\273
1194 \067\246\267\274\272\204\351\036\154\032\324\144\332\324\103\376
1195 \223\213\113\362\054\171\026\020\324\223\013\210\217\241\330\206
1196 \024\106\221\107\233\050\044\357\127\122\116\134\102\234\252\367
1197 \111\354\047\350\100\036\263\246\211\042\162\234\365\015\063\264
1198 \130\243\060\073\335\324\152\124\223\276\032\115\363\223\224\367
1199 \374\204\013\077\204\040\134\064\003\104\305\332\255\274\012\301
1200 \002\317\036\345\224\331\363\216\133\330\114\360\235\354\141\027
1201 \273\024\062\124\014\002\051\223\036\222\206\366\177\357\347\222
1202 \005\016\131\335\231\010\056\056\372\234\000\122\323\305\146\051
1203 \344\247\227\104\244\016\050\201\023\065\305\366\157\144\346\101
1204 \304\325\057\314\064\105\045\317\101\000\226\075\112\056\302\226
1205 \230\117\116\112\234\227\267\333\037\222\062\310\377\017\121\156
1206 \326\354\011
1207 END
1208 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
1209 # For Server Distrust After: Wed Nov 30 00:00:00 2022
1210 CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL
1211 \xxxxxxxx
1212 END
1213 # For Email Distrust After: Wed Nov 30 00:00:00 2022
1214 CKA_NSS_EMAIL_DISTRUST_AFTER MULTILINE_OCTAL
1215 \062\062\061\061\063\060\060\060\060\060\060\060\132
1216 END`
1217
View as plain text