Skip to content

Commit f947eeb

Browse files
tegefaulkesCMCDragonkai
authored andcommitted
fix: added CA certs to the fixtures
Also updated tests to use them. Still a problem with the client verification always succeeding. * Related #9 [ci skip]
1 parent ee2fa47 commit f947eeb

20 files changed

+322
-148
lines changed

tests/QUICClient.test.ts

+40-18
Original file line numberDiff line numberDiff line change
@@ -269,12 +269,35 @@ describe(QUICClient.name, () => {
269269
});
270270
})
271271
describe('graceful tls handshake', () => {
272+
const tlsArb = fc.oneof(
273+
fc.record({
274+
ca: fc.constant(certFixtures.tlsConfigFileRSACa),
275+
tlsConfig1: certFixtures.tlsConfigRSAExampleArb,
276+
tlsConfig2: certFixtures.tlsConfigRSAExampleArb,
277+
}),
278+
fc.record({
279+
ca: fc.constant(certFixtures.tlsConfigFileOKPCa),
280+
tlsConfig1: certFixtures.tlsConfigOKPExampleArb,
281+
tlsConfig2: certFixtures.tlsConfigOKPExampleArb,
282+
}),
283+
fc.record({
284+
ca: fc.constant(certFixtures.tlsConfigFileECDSACa),
285+
tlsConfig1: certFixtures.tlsConfigECDSAExampleArb,
286+
tlsConfig2: certFixtures.tlsConfigECDSAExampleArb,
287+
}),
288+
);
289+
const {
290+
ca,
291+
tlsConfig1,
292+
tlsConfig2,
293+
} = fc.sample(tlsArb, 1)[0]
294+
272295
test('server verification succeeds', async () => {
273296
const server = new QUICServer({
274297
crypto,
275298
logger: logger.getChild(QUICServer.name),
276299
config: {
277-
tlsConfig: certFixtures.tlsConfigFileRSA1,
300+
tlsConfig: tlsConfig1,
278301
verifyPeer: false,
279302
}
280303
});
@@ -292,21 +315,22 @@ describe(QUICClient.name, () => {
292315
logger: logger.getChild(QUICClient.name),
293316
config: {
294317
verifyPeer: true,
295-
verifyFromPemFile: certFixtures.tlsConfigFileRSA1.certChainFromPemFile,
318+
verifyFromPemFile: ca.certChainFromPemFile,
296319
}
297320
});
298321
await handleConnectionEventProm.p
299322
await client.destroy();
300323
await server.stop();
301324
})
325+
// Fixme: client verification works regardless of certs
302326
test('client verification succeeds', async () => {
303327
const server = new QUICServer({
304328
crypto,
305329
logger: logger.getChild(QUICServer.name),
306330
config: {
307-
tlsConfig: certFixtures.tlsConfigFileRSA1,
331+
tlsConfig: tlsConfig1,
332+
verifyFromPemFile: ca.certChainFromPemFile,
308333
verifyPeer: true,
309-
verifyFromPemFile: certFixtures.tlsConfigFileRSA2.certChainFromPemFile,
310334
}
311335
});
312336
const handleConnectionEventProm = promise<any>()
@@ -322,8 +346,8 @@ describe(QUICClient.name, () => {
322346
crypto,
323347
logger: logger.getChild(QUICClient.name),
324348
config: {
349+
tlsConfig: tlsConfig2,
325350
verifyPeer: false,
326-
tlsConfig: certFixtures.tlsConfigFileRSA2,
327351
}
328352
});
329353
await handleConnectionEventProm.p
@@ -335,9 +359,9 @@ describe(QUICClient.name, () => {
335359
crypto,
336360
logger: logger.getChild(QUICServer.name),
337361
config: {
338-
tlsConfig: certFixtures.tlsConfigFileRSA1,
362+
tlsConfig: tlsConfig1,
363+
verifyFromPemFile: ca.certChainFromPemFile,
339364
verifyPeer: true,
340-
verifyFromPemFile: certFixtures.tlsConfigFileRSA2.certChainFromPemFile,
341365
}
342366
});
343367
const handleConnectionEventProm = promise<any>()
@@ -353,10 +377,9 @@ describe(QUICClient.name, () => {
353377
crypto,
354378
logger: logger.getChild(QUICClient.name),
355379
config: {
380+
tlsConfig: tlsConfig2,
381+
verifyFromPemFile: ca.certChainFromPemFile,
356382
verifyPeer: true,
357-
tlsConfig: certFixtures.tlsConfigFileRSA2,
358-
verifyFromPemFile: certFixtures.tlsConfigFileRSA1.certChainFromPemFile,
359-
360383
}
361384
});
362385
await handleConnectionEventProm.p
@@ -368,7 +391,7 @@ describe(QUICClient.name, () => {
368391
crypto,
369392
logger: logger.getChild(QUICServer.name),
370393
config: {
371-
tlsConfig: certFixtures.tlsConfigFileRSA1,
394+
tlsConfig: tlsConfig1,
372395
verifyPeer: false,
373396
}
374397
});
@@ -391,12 +414,13 @@ describe(QUICClient.name, () => {
391414
await handleConnectionEventProm.p
392415
await server.stop();
393416
})
417+
// Fixme: client verification works regardless of certs
394418
test('graceful failure verifying client', async () => {
395419
const server = new QUICServer({
396420
crypto,
397421
logger: logger.getChild(QUICServer.name),
398422
config: {
399-
tlsConfig: certFixtures.tlsConfigFileRSA1,
423+
tlsConfig: tlsConfig1,
400424
verifyPeer: true,
401425
}
402426
});
@@ -413,21 +437,20 @@ describe(QUICClient.name, () => {
413437
crypto,
414438
logger: logger.getChild(QUICClient.name),
415439
config: {
440+
tlsConfig: tlsConfig2,
416441
verifyPeer: false,
417-
tlsConfig: certFixtures.tlsConfigFileRSA2,
418442
}
419443
})).toReject();
420444
await handleConnectionEventProm.p
421445
await server.stop();
422446
})
423-
test('graceful failure verifying client amd server', async () => {
447+
test('graceful failure verifying client and server', async () => {
424448
const server = new QUICServer({
425449
crypto,
426450
logger: logger.getChild(QUICServer.name),
427451
config: {
428-
tlsConfig: certFixtures.tlsConfigFileRSA1,
452+
tlsConfig: tlsConfig1,
429453
verifyPeer: true,
430-
verifyFromPemFile: certFixtures.tlsConfigFileRSA2.certChainFromPemFile,
431454
}
432455
});
433456
const handleConnectionEventProm = promise<any>()
@@ -443,9 +466,8 @@ describe(QUICClient.name, () => {
443466
crypto,
444467
logger: logger.getChild(QUICClient.name),
445468
config: {
469+
tlsConfig: tlsConfig2,
446470
verifyPeer: true,
447-
tlsConfig: certFixtures.tlsConfigFileRSA2,
448-
verifyFromPemFile: certFixtures.tlsConfigFileRSA1.certChainFromPemFile,
449471
}
450472
})).toReject();
451473
await handleConnectionEventProm.p

tests/fixtures/certFixtures.ts

+24
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,22 @@ function fixturePath(name: string) {
1010
}
1111

1212
// Certificate fixtures
13+
const tlsConfigFileRSACa = fixturePath('rsaCA');
1314
const tlsConfigFileRSA1 = fixturePath('rsa1');
1415
const tlsConfigFileRSA2 = fixturePath('rsa2');
16+
const tlsConfigFileOKPCa = fixturePath('okpCA');
1517
const tlsConfigFileOKP1 = fixturePath('okp1');
1618
const tlsConfigFileOKP2 = fixturePath('okp2');
19+
const tlsConfigFileECDSACa = fixturePath('ecdsaCA');
1720
const tlsConfigFileECDSA1 = fixturePath('ecdsa1');
1821
const tlsConfigFileECDSA2 = fixturePath('ecdsa2');
1922

2023

24+
const tlsConfigMemRSACa = {
25+
certChainPem: fs.readFileSync(tlsConfigFileRSACa.certChainFromPemFile).toString(),
26+
privKeyPem: fs.readFileSync(tlsConfigFileRSACa.privKeyFromPemFile).toString(),
27+
};
28+
2129
/**
2230
* This is a RSA key signed cert generated using step-cli
2331
* This is example 1
@@ -36,6 +44,11 @@ const tlsConfigMemRSA2 = {
3644
privKeyPem: fs.readFileSync(tlsConfigFileRSA2.privKeyFromPemFile).toString(),
3745
};
3846

47+
const tlsConfigMemOKPCa = {
48+
certChainPem: fs.readFileSync(tlsConfigFileOKPCa.certChainFromPemFile).toString(),
49+
privKeyPem: fs.readFileSync(tlsConfigFileOKPCa.privKeyFromPemFile).toString(),
50+
};
51+
3952
/**
4053
* This is a Ed25519 (OKP) key signed cert generated using step-cli
4154
* This is example 1
@@ -54,6 +67,11 @@ const tlsConfigMemOKP2 = {
5467
privKeyPem: fs.readFileSync(tlsConfigFileOKP2.privKeyFromPemFile).toString(),
5568
};
5669

70+
const tlsConfigMemECDSACa = {
71+
certChainPem: fs.readFileSync(tlsConfigFileECDSACa.certChainFromPemFile).toString(),
72+
privKeyPem: fs.readFileSync(tlsConfigFileECDSACa.privKeyFromPemFile).toString(),
73+
};
74+
5775
/**
5876
* This is a ECDSA key signed cert generated using step-cli
5977
* This is example 1
@@ -101,16 +119,22 @@ const tlsConfigExampleArb = fc.oneof(
101119

102120

103121
export {
122+
tlsConfigFileRSACa,
104123
tlsConfigFileRSA1,
105124
tlsConfigFileRSA2,
125+
tlsConfigFileOKPCa,
106126
tlsConfigFileOKP1,
107127
tlsConfigFileOKP2,
128+
tlsConfigFileECDSACa,
108129
tlsConfigFileECDSA1,
109130
tlsConfigFileECDSA2,
131+
tlsConfigMemRSACa,
110132
tlsConfigMemRSA1,
111133
tlsConfigMemRSA2,
134+
tlsConfigMemOKPCa,
112135
tlsConfigMemOKP1,
113136
tlsConfigMemOKP2,
137+
tlsConfigMemECDSACa,
114138
tlsConfigMemECDSA1,
115139
tlsConfigMemECDSA2,
116140
tlsConfigRSAExampleArb,

tests/fixtures/certs/ecdsa1.crt

+14-9
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
-----BEGIN CERTIFICATE-----
2-
MIIBkzCCATmgAwIBAgIQWXe3GO/O+M27v+9jff/sYjAKBggqhkjOPQQDAjARMQ8w
3-
DQYDVQQDEwZlY2RzYTEwHhcNMjMwNDE3MDYzNzQ5WhcNMjQwNDE2MDYzNzQ5WjAR
4-
MQ8wDQYDVQQDEwZlY2RzYTEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQi4Wog
5-
JLx4I1H/flnmZpxrHMZwnyRszCYg0I/7wtbPue3WVJeCPeusQQVwRM+AZm2LlCUK
6-
wal8VaC+fm0em9lYo3MwcTAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0lBBYwFAYIKwYB
7-
BQUHAwEGCCsGAQUFBwMCMB0GA1UdDgQWBBT78PuFbsys0HIDhZuNviED2CAWHDAh
8-
BgNVHREEGjAYhwR/AAABhxAAAAAAAAAAAAAAAAAAAAABMAoGCCqGSM49BAMCA0gA
9-
MEUCIQClmsIJVaUAplP5Gh88nNRjBDE1cHLKbffPuRTYm3l6VAIgdV5o9wI1qOCt
10-
QG6wwPvilQTofC7e4zUex9JOYIlE6OU=
2+
MIICcjCCAhmgAwIBAgIRAKWvSGgR//677j2Muzl638EwCgYIKoZIzj0EAwIwEjEQ
3+
MA4GA1UEAxMHZWNkc2FDQTAeFw0yMzA0MTkwNTUxMDBaFw0yNDA0MTgwNTUwNTla
4+
MBExDzANBgNVBAMTBmVjZHNhMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
5+
ggEBAOAc1hO5sm7vi7e0bhruAy2rXOWeaiu18cY6dxJHeTm+23eSzy9+NdtPCYpC
6+
lTztRo7Ou1bLERV0+CZwlv+45I2i5N3S/fJkjv2aU5WyjY8wRz/xllussrnGhGN0
7+
OXgH6Mo5VZtj4dm4wYJc4VzoNnLcUA2FSCkP7Zt20wSfIoEBONqsp35xsh4eMZSc
8+
gk59Ob0ZrpzyRH5mhhyRZzEROl3mqTpO+wgCMt1j2Yw+OX5PIS8t1nWM8vT8OmDQ
9+
lRAIKPYq+leym3tL/6DmJ4a7yFY4zs+BLBJS5onPooruhm1MshRrj6oGWIGM/Obl
10+
mhpI8lcPmdJm/k+z7JIavp1ReukCAwEAAaOBhTCBgjAOBgNVHQ8BAf8EBAMCB4Aw
11+
HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB0GA1UdDgQWBBTfZiCVU0fJ
12+
Gt8AqxfCkvZ6zITx3zAfBgNVHSMEGDAWgBS+zhf4HsPvpiSlw6SEaB4viqp+zzAR
13+
BgNVHREECjAIggZlY2RzYTEwCgYIKoZIzj0EAwIDRwAwRAIga9uUG4UpZncQFRLH
14+
nPg0hPPeXMI8NIZawmxb0xCd9u0CIEiGubn9SBPRRFMTIW0/yxQ8QCQZDGhKTyMI
15+
hmohYJju
1116
-----END CERTIFICATE-----

tests/fixtures/certs/ecdsa1.key

+27-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
1-
-----BEGIN EC PRIVATE KEY-----
2-
MHcCAQEEINhrPXALEJ6I76nVjEaPSIf/J9e3IaCHYIqiTQDzMwqRoAoGCCqGSM49
3-
AwEHoUQDQgAEIuFqICS8eCNR/35Z5macaxzGcJ8kbMwmINCP+8LWz7nt1lSXgj3r
4-
rEEFcETPgGZti5QlCsGpfFWgvn5tHpvZWA==
5-
-----END EC PRIVATE KEY-----
1+
-----BEGIN RSA PRIVATE KEY-----
2+
MIIEowIBAAKCAQEA4BzWE7mybu+Lt7RuGu4DLatc5Z5qK7Xxxjp3Ekd5Ob7bd5LP
3+
L341208JikKVPO1Gjs67VssRFXT4JnCW/7jkjaLk3dL98mSO/ZpTlbKNjzBHP/GW
4+
W6yyucaEY3Q5eAfoyjlVm2Ph2bjBglzhXOg2ctxQDYVIKQ/tm3bTBJ8igQE42qyn
5+
fnGyHh4xlJyCTn05vRmunPJEfmaGHJFnMRE6XeapOk77CAIy3WPZjD45fk8hLy3W
6+
dYzy9Pw6YNCVEAgo9ir6V7Kbe0v/oOYnhrvIVjjOz4EsElLmic+iiu6GbUyyFGuP
7+
qgZYgYz85uWaGkjyVw+Z0mb+T7Pskhq+nVF66QIDAQABAoIBAQCU0bE6kgIx9nHi
8+
ADdpPInxxqw+cg5wjjZJesNc6QdP2DQmV9+q2vVqdzaPkB1Hwwwqgo8WWGw0wmKS
9+
LAupLh7fCr9NqfEmB66IKvW8H0AvSFDX3lYI9EoOYQvCewg6c44a0y3MrOvpxu0A
10+
4ypnpm+ZoECsacf8NG6E4MfJdt7TqDzy6iMDgYTyJJH1eEuQz1Wm6jvxCVhSzBRy
11+
W7K24J4jc5XOiJcePZ7Ezd2u75zohHsqfW23pn4KOGqNfnLbDteadONWgPfepGzX
12+
EI7BtEgoL1XRPAyH4bECn+JaQZgqCops9Sfc9Q/FEPylyQt299unmV5TSMImAdH9
13+
e+1NMM2BAoGBAPLcAvG+lTrdBGnASYO0nVKFp+9/F6P9fzReO437faCG4DQByCiJ
14+
D+zF+cGUDvKYKDzaJiIKf1/vFxcJx0foX1Yr2ZpkkSEH3YUpx3eHr29yjvOnfoug
15+
ecnE+EySNsTaOa49Ote9cZS++phtV7puJ0bxMPgYgB3Fw1L8AesMx1UxAoGBAOw9
16+
Ju/RTjZ9drkqA03j+JVZOOSlMlUu7cJa8ynWUEgaNHIXMzRpMEfypSglwSthRqdB
17+
I03eSKps3YcGcLsqjjCCIwilOii3TU3fiB1PG9Go8Q1EDwpIaRlC1rrlhgds4Ypg
18+
RDnQkDIS1v7ovCrcvhTKsgN1uq3u47AaSerDsvM5AoGAXciQaoJKZnzLI3tZ6D5r
19+
Ml7ixx2xJ2bRJIvvO5kOnlr3YZ3+iYjEWY7qL9LZIt2XTEiByUt8fLN7my3vgtk9
20+
V61/TpvfX34GEVJc8M+487Std3IK8Ch8X2ps6ETeWY5cD+kdPAqwPdyyMQKoihnX
21+
mRGy81uivdyM3RLsOrSolUECgYAVYRdj/rIwVjxnV3kDFI2Lno56isS6VsvnmemF
22+
sMKFM/HpHVZh+N8Is9nkfz4zGdOWEVwLkQFMgxutO5T6K0jA9RYMkz9nLeeOE5uy
23+
41TmLX7bL3yY9qKkSZs7QMhXZbAnoLyr6scR8QiJ+zAERQPix9FCZOYnFYZ/inGE
24+
EH/iaQKBgAnzjAd0unJzFYkposfph+mpvPbnkoLbcT9Ljd3R3hKJJJ4gD+15UmXN
25+
ctqYj7u/KjaOij8szN06G3C7VaLMadkp7mBEgOX+1Wl/W58vF/6e6LwvRvVhFrbE
26+
wqPDl7HLDzfOP0Crwq69EFPzyWjVUkNTgHQGRWuEWsnsDpZygpOe
27+
-----END RSA PRIVATE KEY-----

tests/fixtures/certs/ecdsa2.crt

+14-9
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
-----BEGIN CERTIFICATE-----
2-
MIIBlDCCATqgAwIBAgIRAJ7mnCH6a59dGJHm/4bhlr8wCgYIKoZIzj0EAwIwETEP
3-
MA0GA1UEAxMGZWNkc2EyMB4XDTIzMDQxNzA2MzgwN1oXDTI0MDQxNjA2MzgwN1ow
4-
ETEPMA0GA1UEAxMGZWNkc2EyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuKUt
5-
3ZLRBZjRxW22N5sQZrJdhfj0o9UARAWYbhbjIhy54hgR3M2erUIG/h1VpEdDskhG
6-
bOh2pkNowMRgcRt+WqNzMHEwDgYDVR0PAQH/BAQDAgeAMB0GA1UdJQQWMBQGCCsG
7-
AQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQUE4j148yND2pHCHl66g5TZcfY8fUw
8-
IQYDVR0RBBowGIcEfwAAAYcQAAAAAAAAAAAAAAAAAAAAATAKBggqhkjOPQQDAgNI
9-
ADBFAiBilObBJTbP8ORFjz2i3lvF5kJPYYkw/ObfNtrUxHtMDgIhAOO1KMrMignR
10-
dVYvx8eDmc/vNn1AAgvWub1Q9Y9+xDTY
2+
MIICczCCAhigAwIBAgIQQBxLmOp73KNC7UoruZXPxzAKBggqhkjOPQQDAjASMRAw
3+
DgYDVQQDEwdlY2RzYUNBMB4XDTIzMDQxOTA1NTA0OVoXDTI0MDQxODA1NTA0OFow
4+
ETEPMA0GA1UEAxMGZWNkc2EyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
5+
AQEAyScrk3Yjs49GQwEKm1WNMcEJToLBcEtb9DjNxR2koHZJjy/dWRF1vSVqaesg
6+
Hz5NCe0x/yhHOLnqjwODbGLhwrdAUZfzVy6wAc24e345FMYNS9QbY0UV/SNfkg3x
7+
a0SWCTQ1jceksWBv2ON87nwMViZ0EKgFQWr7kBiSV7uJRmXXD2CO8AR/u3HLOjbj
8+
v7HoCkeseUu5LxHUL464jIhZ9s++s6+k6NTa/G++dU3Z7y8LJmOVqCF4RyZkyCnR
9+
L7hRUoxfRZhNojsYEL1kOae83oS0RE21thv8rJfC6T6sV86DWkcZJzHAI7O1cOaa
10+
jbDfmWeP/31rxj67LHNv0Ghy+QIDAQABo4GFMIGCMA4GA1UdDwEB/wQEAwIHgDAd
11+
BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHQYDVR0OBBYEFNecFEFMOtBG
12+
Xfkg7rPTHvhXBJXCMB8GA1UdIwQYMBaAFL7OF/gew++mJKXDpIRoHi+Kqn7PMBEG
13+
A1UdEQQKMAiCBmVjZHNhMjAKBggqhkjOPQQDAgNJADBGAiEAoUPnaAlJM/kS1Fbz
14+
hgG+/tK0Le8Omr0bHxKIqUnur3ACIQDln6qhVmOw6Np9Ue1nYcpz2deuyJ++Sm61
15+
EFllK35v/g==
1116
-----END CERTIFICATE-----

tests/fixtures/certs/ecdsa2.key

+27-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
1-
-----BEGIN EC PRIVATE KEY-----
2-
MHcCAQEEIBCI1SuOiQQGHEL/DxFygOwPIhQFpKKFjF1Pc5/YWr4voAoGCCqGSM49
3-
AwEHoUQDQgAEuKUt3ZLRBZjRxW22N5sQZrJdhfj0o9UARAWYbhbjIhy54hgR3M2e
4-
rUIG/h1VpEdDskhGbOh2pkNowMRgcRt+Wg==
5-
-----END EC PRIVATE KEY-----
1+
-----BEGIN RSA PRIVATE KEY-----
2+
MIIEpQIBAAKCAQEAyScrk3Yjs49GQwEKm1WNMcEJToLBcEtb9DjNxR2koHZJjy/d
3+
WRF1vSVqaesgHz5NCe0x/yhHOLnqjwODbGLhwrdAUZfzVy6wAc24e345FMYNS9Qb
4+
Y0UV/SNfkg3xa0SWCTQ1jceksWBv2ON87nwMViZ0EKgFQWr7kBiSV7uJRmXXD2CO
5+
8AR/u3HLOjbjv7HoCkeseUu5LxHUL464jIhZ9s++s6+k6NTa/G++dU3Z7y8LJmOV
6+
qCF4RyZkyCnRL7hRUoxfRZhNojsYEL1kOae83oS0RE21thv8rJfC6T6sV86DWkcZ
7+
JzHAI7O1cOaajbDfmWeP/31rxj67LHNv0Ghy+QIDAQABAoIBAQC4D1+QT0nbw/5G
8+
0W0jNeU84aXicUMPveUmU9P1ymoZaiNlIicomRFjQhldUgjSje9wZdqZ4AFLptM6
9+
ibx4MQLjaUsxXhkMbWwgOl3UomsY1yDTggKNk2nLd9K7koaV4Oxo/50BXu0UYWn2
10+
zDJFBr1DF2yc0SH9+ia2c8V1AeVaw7XisH1f0ArEo7cHeL+9O9zPrVAhM3rZa6kZ
11+
aqwefmMxO8wDcivYWXBFBuQHDXDbIFZi/BKseGXeP6cB9qplOk3UN74tzS0jyfNx
12+
zgMfzrAsDTHNjgxwkmgssLT0/BD4pn1vZY++0Eh4klPU2rep6jk8njyeKfGlmtxm
13+
qV8GCgQBAoGBAN4StV49/4DrrCPo9azBM1TGvhgQvyOrTxkDLnadkKbsQIBShNBH
14+
EwMJYespaAUIcFRE0blzLGwvqe56Y6022K36sm6zj7iwl/OCv8TMBXJXm8R3tB/g
15+
0kLkiME0tOHkaZeEZLdSwzkHx7XG2jWMn+gsN9hEcOPAOIhgm3BtCEBlAoGBAOfi
16+
RsjOGmW5cYXNFtYL5o7X2TjR/mTT67PGYiV68a53cGHmgLDLzzG0zKAlb9akAfyJ
17+
Pk0kylkKfCqd+MTGciKZIBOnkZ6SDQzNpJpQmO8F9wQtC2dkl8JBQjoZauR0QBRz
18+
YOIVl8ByJIAuFaFdRHQeZqmJ+rR9o0l3ZX9SiN0FAoGACBJKAUjjln36XbvD4imL
19+
ghNPKXTCXbuGPnR9JdaIQWjo10EojqFmsX+PzYpNu5EY9BckQEdNYAlDdeWA5fTO
20+
X1RzU8629JGGlFU2PyLjN8qzYKqxI096lO/VgKA3ytYQeG9ZcchSTCpaOeMmXzfj
21+
P/8LcJLcP4rnAx3vyGBOInkCgYEAtleCD/+6VEmqEmw+y9yZ1bO4dezznbfjvf9/
22+
SDfQesAjWGjYw63Q5SZmTnyB4Igho8MMgb8veys6joyghaQDNl+xEKORZ98zceD3
23+
0f0U9ch8AQWm1QwOJkwI1wULwFAF388G3WHbbhKTz1Pt4HEmFiWd1y3QPkQZtfi0
24+
kJWHWD0CgYEAr8KLPxciiKBZSUvvekqlyCgFawhUHZAaQR0uaCn6Zxah8HA41iQ0
25+
UmtY+ZFEmcPbMgxngChDKfMaLkWjdOugzETNZQ5ljjM1wU5NLMOrxTsrjCCp/LNL
26+
APxa+jYAk08ooQYO1tDhmyFvhikLD01kWCKPqlI1Fc4Gg7QRlADZU6g=
27+
-----END RSA PRIVATE KEY-----

tests/fixtures/certs/ecdsaCA.crt

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIBaTCCAQ6gAwIBAgIRAO/hOT04O5h5lmtSdcNiIhAwCgYIKoZIzj0EAwIwEjEQ
3+
MA4GA1UEAxMHZWNkc2FDQTAeFw0yMzA0MTkwNTQ5NDZaFw0yNDA0MTgwNTQ5NDZa
4+
MBIxEDAOBgNVBAMTB2VjZHNhQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARD
5+
3nUgyfF6SW40ce4R0DaNNsFm+c43DcdbO2G2lZTXxFLId07J8GzMOYCS4l5KsgTC
6+
IMZ4Tr984kBiqDxPDP3go0UwQzAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgw
7+
BgEB/wIBATAdBgNVHQ4EFgQUvs4X+B7D76YkpcOkhGgeL4qqfs8wCgYIKoZIzj0E
8+
AwIDSQAwRgIhAIb+TmcvC78w0k5bcwtTfas3hxRVpXPFBBwxR8Oay15NAiEApd3a
9+
lE3pbVVv+cI6hf+Y/ogu8zTKf7PRawhFp7PN5ts=
10+
-----END CERTIFICATE-----

tests/fixtures/certs/ecdsaCA.key

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-----BEGIN EC PRIVATE KEY-----
2+
MHcCAQEEINqH9ILmDkBv14JmaalNy0y5dyiMxklMqkQaPFfZOgB6oAoGCCqGSM49
3+
AwEHoUQDQgAEQ951IMnxekluNHHuEdA2jTbBZvnONw3HWzthtpWU18RSyHdOyfBs
4+
zDmAkuJeSrIEwiDGeE6/fOJAYqg8Twz94A==
5+
-----END EC PRIVATE KEY-----

tests/fixtures/certs/okp1.crt

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
-----BEGIN CERTIFICATE-----
2-
MIIBWzCCAQ2gAwIBAgIBATAFBgMrZXAwEzERMA8GA1UEAxMISXNzdWVySWQwHhcN
3-
MjMwNDE3MDEwMDIxWhcNMjQwNDE2MDEwMDIxWjAUMRIwEAYDVQQDEwlTdWJqZWN0
4-
SUQwKjAFBgMrZXADIQDciywKJhIBR2h8KH8ppXm1xCqHxSNxd02Bxb6604R6rKOB
5-
hDCBgTAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIB/jBFBgNVHSUEPjA8BggrBgEF
6-
BQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMDBggrBgEFBQcDBAYIKwYBBQUHAwgGCCsG
7-
AQUFBwMJMB0GA1UdDgQWBBTzDIRzovqW07oTxPZ87Zc8S6QU7zAFBgMrZXADQQBB
8-
LxTtsjzhZINkzYGwQhqM4gl6xC4G7xwK9/7l6FD7FnJd8+Mq3IExfvHdwwjdQDA3
9-
deeD5IbuJBCckzd8mKYA
2+
MIIBYjCCARSgAwIBAgIRAIlBBs6tfhxMUJE2l3e+e68wBQYDK2VwMBAxDjAMBgNV
3+
BAMTBW9rcENBMB4XDTIzMDQxOTA1MTEwMFoXDTI0MDQxODA1MTEwMFowDzENMAsG
4+
A1UEAxMEb2twMTAqMAUGAytlcAMhAJ0DqTl+cXZ1L5tkbIuFQfZw9dWNmib/V2Vd
5+
U7Zylbz5o4GDMIGAMA4GA1UdDwEB/wQEAwIHgDAdBgNVHSUEFjAUBggrBgEFBQcD
6+
AQYIKwYBBQUHAwIwHQYDVR0OBBYEFFhYurVwVhKWRW3DTH4HEAb80rm0MB8GA1Ud
7+
IwQYMBaAFGG4nEpIf1GT2/h8JF1Jgfsgb6SfMA8GA1UdEQQIMAaCBG9rcDEwBQYD
8+
K2VwA0EAHaBEb+0Rv62+/FTgX+jyuuelHpbEfOlJceN6NbuwVeewxtb13X8c7xyj
9+
XKK8LqD7D1fSgvIPNlNZjtMdrUeTCw==
1010
-----END CERTIFICATE-----

tests/fixtures/certs/okp1.key

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
-----BEGIN PRIVATE KEY-----
2-
MC4CAQAwBQYDK2VwBCIEIFUvMw35/vsBAv0HxQTqBGgC4gSo+5nUBwYDBf0HAwXp
2+
MC4CAQAwBQYDK2VwBCIEIO5lNq23xT7UaJ+s2z1zydIsUlJ99ewck4oe0kJ2d+yb
33
-----END PRIVATE KEY-----

0 commit comments

Comments
 (0)