Skip to content

Commit c8548c5

Browse files
committed
Test the TLS channel
1 parent 295eea8 commit c8548c5

16 files changed

Lines changed: 782 additions & 137 deletions

‎.github/workflows/ci.yml‎

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
concurrency:
1010
group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.name }}
1111
cancel-in-progress: true
12-
timeout-minutes: 10
12+
timeout-minutes: 30
1313
strategy:
1414
fail-fast: true
1515
matrix:
@@ -19,21 +19,56 @@ jobs:
1919
cmake_generator: "Unix Makefiles"
2020
cmake_build_type: Debug
2121
cmake_defines: -DNATIVE_STREAMING_ENABLE_TESTS=ON
22+
tls: true
23+
- name: Ubuntu without TLS
24+
runner: ubuntu-latest
25+
cmake_generator: "Unix Makefiles"
26+
cmake_build_type: Debug
27+
cmake_defines: -DNATIVE_STREAMING_ENABLE_TESTS=ON
28+
tls: false
2229
- name: Windows
2330
runner: windows-latest
2431
cmake_generator: "Visual Studio 17 2022"
2532
cmake_build_type: Debug
2633
cmake_defines: -DNATIVE_STREAMING_ENABLE_TESTS=ON
34+
tls: true
35+
- name: Windows without TLS
36+
runner: windows-latest
37+
cmake_generator: "Visual Studio 17 2022"
38+
cmake_build_type: Debug
39+
cmake_defines: -DNATIVE_STREAMING_ENABLE_TESTS=ON
40+
tls: false
2741

2842
steps:
2943
- name: Checkout repository
3044
uses: actions/checkout@v3
3145

46+
# OpenSSL is the only dependency which is not fetched, and the TLS channel needs it. Installed
47+
# the way the other openDAQ repositories do it: from the distribution on Linux, from vcpkg on
48+
# Windows, whose build is dynamic - hence its bin directory on PATH, so that the tests find the
49+
# DLLs at run time
50+
- name: Install OpenSSL
51+
if: runner.os == 'Linux' && matrix.tls
52+
run: sudo apt-get update && sudo apt-get install -y libssl-dev
53+
54+
# The runner image ships libssl-dev, whose headers are on the default include path: removed, so
55+
# that the build without TLS fails if OpenSSL leaks into it
56+
- name: Remove OpenSSL
57+
if: runner.os == 'Linux' && !matrix.tls
58+
run: sudo apt-get remove -y libssl-dev
59+
60+
- name: Install OpenSSL
61+
if: runner.os == 'Windows' && matrix.tls
62+
run: |
63+
vcpkg install openssl:x64-windows
64+
Add-Content -Path $env:GITHUB_ENV -Value "OPENSSL_ROOT_DIR=C:/vcpkg/installed/x64-windows" -Encoding utf8
65+
Add-Content -Path $env:GITHUB_PATH -Value "C:\vcpkg\installed\x64-windows\bin" -Encoding utf8
66+
3267
- name: Configure
3368
run: |
3469
mkdir build
3570
cd build
36-
cmake -G "${{ matrix.cmake_generator }}" ${{ matrix.cmake_defines }} -DCMAKE_BUILD_TYPE=${{ matrix.cmake_build_type }} ..
71+
cmake -G "${{ matrix.cmake_generator }}" ${{ matrix.cmake_defines }} -DNATIVE_STREAMING_ENABLE_TLS=${{ matrix.tls && 'ON' || 'OFF' }} -DCMAKE_BUILD_TYPE=${{ matrix.cmake_build_type }} ..
3772
3873
- name: Build
3974
working-directory: build

‎test/CMakeLists.txt‎

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ set(TEST_APP test_${PROJECT_NAME})
22

33
set(TEST_HEADERS test_base.hpp
44
test_connection.hpp
5+
test_secrets.hpp
56
)
67

78
set(TEST_SOURCES test_server.cpp
@@ -14,6 +15,10 @@ set(TEST_SOURCES test_server.cpp
1415
test_authentication.cpp
1516
)
1617

18+
if (NATIVE_STREAMING_ENABLE_TLS)
19+
list(APPEND TEST_SOURCES test_tls.cpp)
20+
endif()
21+
1722
add_executable(${TEST_APP} test_app.cpp
1823
${TEST_HEADERS}
1924
${TEST_SOURCES}
@@ -28,7 +33,18 @@ target_include_directories(${TEST_APP} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/incl
2833

2934
target_compile_features(${TEST_APP} PRIVATE cxx_std_17)
3035

36+
if (NATIVE_STREAMING_ENABLE_TLS)
37+
# the TLS tests read their certificates and keys relative to the working directory, which is the
38+
# directory the test executable lives in
39+
add_custom_command(TARGET ${TEST_APP} POST_BUILD
40+
COMMAND ${CMAKE_COMMAND} -E copy_directory
41+
"${CMAKE_CURRENT_SOURCE_DIR}/secrets"
42+
"$<TARGET_FILE_DIR:${TEST_APP}>/secrets"
43+
COMMENT "Copying the TLS test fixtures next to the test executable"
44+
)
45+
endif()
46+
3147
add_test(NAME ${TEST_APP}
3248
COMMAND $<TARGET_FILE_NAME:${TEST_APP}>
33-
WORKING_DIRECTORY bin
49+
WORKING_DIRECTORY $<TARGET_FILE_DIR:${TEST_APP}>
3450
)

‎test/secrets/ca.crt‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDKzCCAhOgAwIBAgIUNgRhCm4dAKL02pxKKqETQV6nYzgwDQYJKoZIhvcNAQEL
3+
BQAwJTEjMCEGA1UEAwwabGliTmF0aXZlU3RyZWFtaW5nIFRlc3QgQ0EwHhcNMjYw
4+
OTA4MTUzMzA5WhcNMzYwOTA1MTUzMzA5WjAlMSMwIQYDVQQDDBpsaWJOYXRpdmVT
5+
dHJlYW1pbmcgVGVzdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
6+
ALcdhQwB+yJB/7OHbc/wppq7eIgCsf8ipgzuEMS7VaSorRPoVn5GlrsZ4SyyE9fp
7+
tJ4GQguswscMJhWIMXb3ieGsCVfKQZX0/MFFBtFCrmfRUdiZ9Pz9V3YtlfnUf8Sd
8+
UGvmhv1KL+omkTJw0LpQvu7nVsI/aFFOS0JuCJXZCegg2FT5N2KZH8u7PAuT4Tqd
9+
CemRkgpPq1W9vfz+LuWffrF2QqN5Sk00zMc+UEUPiWbt42ZYv8qsdv1E8e5KTYbD
10+
HGApXqv8ORv1YyZB1wjQ6P1G3rRjTE6hZlSIXdWDlnmhwF4FDOF93gRsrFyMj4ge
11+
Wytoa8cQK/G1gihZLiWknJECAwEAAaNTMFEwHQYDVR0OBBYEFFAbPFGRDlGMvu0Y
12+
xn4u4Nfn1HLCMB8GA1UdIwQYMBaAFFAbPFGRDlGMvu0Yxn4u4Nfn1HLCMA8GA1Ud
13+
EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFkIUw2Zd68kC6qTlpMAXGdt
14+
fa6UB6HPe9t3FG27drUwsThQPTSJffLbvz63328T9USA2Q1Rs7jId9618JhYaIA1
15+
m7Qr28eg92SPhyAc8zIxNuaNNR2tSDDI/Ps5LGHypv+fC6JCNr4SqEuh0HIUT8VU
16+
pjemwB5abi2WX42PZJIBG2KeNNrTtEmjyFjGlrz1PfMQsaUqQd18XQdbp6JCVEI2
17+
qaG9yvIocIwvv9W2M7hyQldKEw1r+OA8S2TzwHl3NoEVZBJvTPHxbqh6G0RXMT/t
18+
XlYKKAW2kTUqMAky9jINJUZUIV1gNrHpKPUmVbI5+Homd7K91Yu8kyeiOJ15FjE=
19+
-----END CERTIFICATE-----

‎test/secrets/ca.key‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC3HYUMAfsiQf+z
3+
h23P8Kaau3iIArH/IqYM7hDEu1WkqK0T6FZ+Rpa7GeEsshPX6bSeBkILrMLHDCYV
4+
iDF294nhrAlXykGV9PzBRQbRQq5n0VHYmfT8/Vd2LZX51H/EnVBr5ob9Si/qJpEy
5+
cNC6UL7u51bCP2hRTktCbgiV2QnoINhU+TdimR/LuzwLk+E6nQnpkZIKT6tVvb38
6+
/i7ln36xdkKjeUpNNMzHPlBFD4lm7eNmWL/KrHb9RPHuSk2GwxxgKV6r/Dkb9WMm
7+
QdcI0Oj9Rt60Y0xOoWZUiF3Vg5Z5ocBeBQzhfd4EbKxcjI+IHlsraGvHECvxtYIo
8+
WS4lpJyRAgMBAAECggEACnPvL8cKLAO1TMKEQyc933MoV31DO2j3LnbwMpwYsLWn
9+
QaMU6Drv0546fiJr4w/2d+yBXH4Vaqbid/6xB3/sbpszN6rLm9DjFRueCW0uHFjf
10+
fEbs7FHVlQus9hi1CBx3JjL/4tlstZ1TfbFhHOL170MkmaHketBbwp7viFxIxj0c
11+
Nhj65zOvZfPpddbUEr0VVJQcAoFuNQQq5LK+bYULZnwc5syLrWkhgjrd2MmSZuPv
12+
oL/D82VFAvszdW4I16SYj+f9wxzq4KEmddKd4cc+Gv2/KCtKZZ36JQWPWnC6fo7Y
13+
j4vI3K+WRwnMLw9Mqe5muB1QrLdg97XsoE50UdR7pQKBgQDxn078qklz52u4ZyGQ
14+
kiPT5UqWEY66JBxdmRBnTL3BRbhMnwxTYyOA+jeQwojaDX8mRYlreYN6rYHA+lLg
15+
4EfsIFI2q5g+C4vfz+pEMnXj86Eipnt7na+pMTXYa0eJ1QolG42b2Tr7EdBfGuqy
16+
HQgNBOP6Y46IRaC8oKw3mvCqfQKBgQDCAvW/MUbjdtM/KV4ydvoXz6jCEpQVZBUz
17+
Db0D3wMsU2W6pkDaG8n2x/z8Zsch6gMalCBaadBWAtJnXMz/JrMDR5v2+G9LhzQj
18+
P0avn/ChoMW7d47xmE0dMh+RIiw/JaNczWrUC7+7kztih9MqFVXAd2MajiyWDeiI
19+
Ig7mUOTCpQKBgQClZ6lqzif6cDINyovvrBtas1yb3ukWBCJm8KGKFb7Q0CmaSkbl
20+
zrg/Uws2zfVhUFv6lx+7szOOh7iLotGZn++cdYPSaSWPU9gtHugAR4rswZtNXSqr
21+
NQdLi6SQwt/2OyD2xiXqyorV1RwP/x0rUTRxtSdcAUtRfljKyDMc3bRjAQKBgAIn
22+
tkMhcQAl2cLh2sIEwFJzZBSD0FFMg0/F30ujto1Pf9nK7v19QYkUP6MuIRgnWVF6
23+
Q8G9WysZbOzpAv3ymBp5OSpNKC9WmSWrFkXtKOciug+TDGtynaitXdxm3Mb2zBHD
24+
1mP0nXSf9hDqIVZeVk2FBfzNh4FDNkoM1s2IKIJhAoGBALH1pKFt95yRfh/+hQlP
25+
xrdVJgEu2vTsfnZ3vzH+1dQbI0+q3GvSB0nxYA3PTA6h/nkQOEd3rWwS819g6DfX
26+
tZOF5eUUazsesX379YioocU5KTVvSeoxaVdl5r8YXCx2l/n5UIX4VmXah2qkFpmC
27+
cfgicg0bMUDtFvc5pQAgE5W0
28+
-----END PRIVATE KEY-----

‎test/secrets/client.crt‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDMTCCAhmgAwIBAgIUAywUwpplirG0yC6u351THSBuTHIwDQYJKoZIhvcNAQEL
3+
BQAwJTEjMCEGA1UEAwwabGliTmF0aXZlU3RyZWFtaW5nIFRlc3QgQ0EwHhcNMjYw
4+
OTA4MTUzMzA5WhcNMzYwOTA1MTUzMzA5WjAnMSUwIwYDVQQDDBxuYXRpdmUtc3Ry
5+
ZWFtaW5nLXRlc3QtY2xpZW50MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
6+
AQEAwymohLyi/00fxbF8b3ghthSVL46zRhjSs90YtpIorcp6z8lbUqtW6+nrn0QM
7+
o1swC7wfd5lNmUghrvVTv7td6dKFhodmgzL+WOVvDnsOYbfpW8iaGtQxl0RZl2fz
8+
zFHXRqb0upKTjZ1YDiURJ2orz/kjHKDgJ27TzeEz3HZRJPwAy61PGddz9jazUmwK
9+
J4HI/NUSki8Ex2b2+Z4GvhAxMTbmhYdtle2zf3DU6hBQJkoA5RxboGSKTBjvBDoH
10+
VJ7iWViveKvZBYLBi9mgrQ76c/vxTV4dnte5NgFH9Ni/5Kvx7iPukAclR0GEWPVp
11+
4KT6STsGCishPSOsP+Ic6NYWaQIDAQABo1cwVTATBgNVHSUEDDAKBggrBgEFBQcD
12+
AjAdBgNVHQ4EFgQUHua9Vkff3ux7kTRK+Z3FDmfHp4IwHwYDVR0jBBgwFoAUUBs8
13+
UZEOUYy+7RjGfi7g1+fUcsIwDQYJKoZIhvcNAQELBQADggEBAEqL78Utqg38IvLz
14+
U5dr+0p6CDNPwLnHjFsLQsB+M9UjwTlxQ62sHz7Jf5X3fQD858g6Io62NvLSiVpx
15+
i6DcYkMFeWlu088ik5S3fXMCWPKy05pk4hkZ8WZzO4O4fkWBuTQHuOl2Ym+PTKx0
16+
M9jsUFCJgXqK9J5ZWMK1WF5oJlMzk7emsbVuVwkK5ugxAuACpOjYiovdyAEFL3zz
17+
wUYXHaPeGtOk4OukpwGSGc54M1G3eQTYDH4KB+zQphNs36w4oWWITY4+/AUd/1cm
18+
uFV4jQ7ZEozuYnJ6dKYuLqbl6RGQnZkcHIbvMPOXi4wQWKKJ2B35KnMNmRtUkh6l
19+
c33pcvU=
20+
-----END CERTIFICATE-----

‎test/secrets/client.key‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDDKaiEvKL/TR/F
3+
sXxveCG2FJUvjrNGGNKz3Ri2kiitynrPyVtSq1br6eufRAyjWzALvB93mU2ZSCGu
4+
9VO/u13p0oWGh2aDMv5Y5W8Oew5ht+lbyJoa1DGXRFmXZ/PMUddGpvS6kpONnVgO
5+
JREnaivP+SMcoOAnbtPN4TPcdlEk/ADLrU8Z13P2NrNSbAongcj81RKSLwTHZvb5
6+
nga+EDExNuaFh22V7bN/cNTqEFAmSgDlHFugZIpMGO8EOgdUnuJZWK94q9kFgsGL
7+
2aCtDvpz+/FNXh2e17k2AUf02L/kq/HuI+6QByVHQYRY9WngpPpJOwYKKyE9I6w/
8+
4hzo1hZpAgMBAAECggEAD6xWShwDc8EEBrKQyDubwCLaB6DhroT1fZgJe+Fes/T5
9+
X5uPongmeblmVfrh5Z0/+AlKdlE7pU42KktYck2VUV8PSx+vm2S/1BrPjEL/WNir
10+
ZywZOC4HXNsSiNwX0mEA4BMuFJe16DRqgG74ot4zbjcssIgOSGHC+nCWDiP7CJ8H
11+
yqMusYfvq8oix8LyGPm2n/8Ik3C0aO0SvR+NxZfKQ4s7fPZatH7+2GHw4NNN0TUX
12+
IkQhFhmJgzxE5c0veoUa4ACn4XgN4ySRoIsjpdk6h3rezxmUeFrQDKGC7lNLm1vA
13+
2lfGFmCnHVI7M9Eb71tsOkmoKAlphcT9Ws3XdSaCaQKBgQDleVDdnATaZzD3sXHb
14+
ebInpLoiwxiPuRBc9ajltx0zlWnd1oXU32kcnWzYwgYXn0EFThTE5DivkBJx0Im+
15+
h7UwKul25/0JtsXmrU18ba2NdiQWIjRVVzlkXi/r37pwRq814UbAo4sSSf5qYuc9
16+
o3HGiFk82q2sF2IiUZni5QPDdQKBgQDZuP4bN90xihINOBtSMrJHfvwxXFD4YrJq
17+
7CZ4oOyHTNFm35rs/ShcDw708dqzZkOuwxe8gDuZpiwdGiox33kZhyLOIoyMyn76
18+
3nH/Fle0JlUrwh9i3mNzCPMD+Jq6I6HZRSJbWqzBSJrQcptnHHjmJ4i2cyDu+Tm/
19+
Djyz020spQKBgQCHQdOlXAIMTciyJthKmlelQFYqiT5f8KAxeuc7x4whzI7jIEAw
20+
MiM9p5jxxqNapxbnLpfVWgQDj3MfvOCD+m+U3aZQ3PrsD9xkVIAYuHkUqa8pkK2y
21+
I8CDZXTvnibBaRh7NLbEc2FUvWKFiJhuX3l/oPygfvDhP8MrIVgIQh7OxQKBgEcP
22+
d/BORWV72PRzkYc8gK+RJKK/rLXFENKRDOVmMIzgZ6AZ7yjWX6vcRldv8J+JCyIp
23+
DsA5Yjp93/wHpCnu9El+r79zy0fQd61NmQtWsX1c3YOQsknEp9TN4PM02ttR8etG
24+
Azap26SiG9VY8puu0U7dLGPQI7mboltXPDy9Du75AoGAFQyu2uw3EpcN8SAxeDr+
25+
CHPZB5RzsHhFKdnoGNzQhdSz17ViA1vB+F1+ZOcv3dfWGOlCC6+BY0cwOAE2V3GB
26+
9S6tOHUFjytruuE8Dz7ZXOgQtpjA10LrCcXBUQ7l7qC1pds6LhZSqiuDa/m2zoMW
27+
JcgjInfe98DAGCqBYiA6csM=
28+
-----END PRIVATE KEY-----

‎test/secrets/gen_certs.sh‎

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#!/usr/bin/env bash
2+
# Regenerates the TLS fixtures used by the tests. The generated files are committed, so this only
3+
# has to be run when they expire or when the set of them changes.
4+
#
5+
# The keys are unencrypted: the library configures no passphrase callback.
6+
# The server certificate carries IP:127.0.0.1 / DNS:localhost subject alternative names. The client
7+
# does not verify the server's identity against the address it connected to - only that the chain
8+
# leads to the configured authority - so the names are there for the sake of the fixture being
9+
# well-formed rather than because a test depends on them.
10+
set -euo pipefail
11+
cd "$(dirname "$0")"
12+
DAYS=3650
13+
14+
gen_ca () { # name CN
15+
openssl req -x509 -newkey rsa:2048 -nodes -keyout "$1.key" -out "$1.crt" \
16+
-days "$DAYS" -subj "/CN=$2"
17+
}
18+
19+
gen_leaf () { # name CN ca extfile
20+
openssl req -newkey rsa:2048 -nodes -keyout "$1.key" -out "$1.csr" -subj "/CN=$2"
21+
openssl x509 -req -in "$1.csr" -CA "$3.crt" -CAkey "$3.key" -CAcreateserial \
22+
-out "$1.crt" -days "$DAYS" ${4:+-extfile "$4"}
23+
rm -f "$1.csr"
24+
}
25+
26+
cat > server_ext.cnf <<'EXT'
27+
subjectAltName = IP:127.0.0.1, DNS:localhost
28+
extendedKeyUsage = serverAuth
29+
EXT
30+
31+
cat > client_ext.cnf <<'EXT'
32+
extendedKeyUsage = clientAuth
33+
EXT
34+
35+
# the authority the tests trust, and the leaves issued by it
36+
gen_ca ca "libNativeStreaming Test CA"
37+
gen_leaf server "native-streaming-test-server" ca server_ext.cnf
38+
gen_leaf client "native-streaming-test-client" ca client_ext.cnf
39+
40+
# an unrelated authority, used to prove that an untrusted peer is rejected
41+
gen_ca other-ca "libNativeStreaming Other CA"
42+
43+
rm -f server_ext.cnf client_ext.cnf ca.srl other-ca.srl
44+
echo "Generated: $(ls *.crt *.key | tr '\n' ' ')"

‎test/secrets/other-ca.crt‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDLTCCAhWgAwIBAgIULBEztzFmTgyZ0kFHBPRKJyYR9o0wDQYJKoZIhvcNAQEL
3+
BQAwJjEkMCIGA1UEAwwbbGliTmF0aXZlU3RyZWFtaW5nIE90aGVyIENBMB4XDTI2
4+
MDkwODE1MzMwOVoXDTM2MDkwNTE1MzMwOVowJjEkMCIGA1UEAwwbbGliTmF0aXZl
5+
U3RyZWFtaW5nIE90aGVyIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
6+
AQEApueOmg8zaC7DxESXMEZJ2Gwk/ebvDrBzhrrchagRzGhShAd67Ap5rhvQZ4b9
7+
ffxhSw8N9hD1wyixmeXEc4YGLRUVyiB7Z24UpxHI0J9BOqFE2H0MpLt4M9vCbEmp
8+
feOY4rHvlBZx5HJhm4mWvGth8tVg1KDT8vSX0fkFZ3IvM48VE5N8//R1AUq1apgi
9+
EyifTyZGbI+i3Cy0+ZmzO8/nXg5uzMM/K5Dycb937US4IL2e+YEVeOqU6MZC64a+
10+
b29CIvUZewVaEVrvclOCFs6pbDpu/u9+Xf79NhANTu7a/ZKEJHEyoMgJzSPaMlJ7
11+
8SlgUU6CbxvigMTXHlhFvCiiCwIDAQABo1MwUTAdBgNVHQ4EFgQUTASr57TMGwGh
12+
Ng0RcX++6USVTWwwHwYDVR0jBBgwFoAUTASr57TMGwGhNg0RcX++6USVTWwwDwYD
13+
VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAcA2a/yvpGEwlSPvUSQW3
14+
VpZzQrJpjfSHQwT+MOqzaX2J5szqn0SGy6+/IR5T5tyBtbOiuhbWQS9dAiYnwi0t
15+
nh2yPPT8DrKqjQD+E2EFA6AaBcxloTnlUjpspv9uxKW9IFTFpsSmvky5lRTHBzsA
16+
Y7c7dDKZuRTZnoD+l4h6NRVNL9OuG2mAHHesXKrStpTZ4VeOlBm9lj+KO0M5jKN8
17+
siorVLLr4cIfDR32fVeof/z9xqZ0TRvs3s1gX+fWQN6/6fgHWr7Xn6S9D+73cMqm
18+
Ji7pYvDRgAz7Mo+qMBvQQOpcMDSVa5UH2xh+3PmPSaOZW8bci/WRCZFR6PPVcDVg
19+
4g==
20+
-----END CERTIFICATE-----

‎test/secrets/other-ca.key‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCm546aDzNoLsPE
3+
RJcwRknYbCT95u8OsHOGutyFqBHMaFKEB3rsCnmuG9Bnhv19/GFLDw32EPXDKLGZ
4+
5cRzhgYtFRXKIHtnbhSnEcjQn0E6oUTYfQyku3gz28JsSal945jise+UFnHkcmGb
5+
iZa8a2Hy1WDUoNPy9JfR+QVnci8zjxUTk3z/9HUBSrVqmCITKJ9PJkZsj6LcLLT5
6+
mbM7z+deDm7Mwz8rkPJxv3ftRLggvZ75gRV46pToxkLrhr5vb0Ii9Rl7BVoRWu9y
7+
U4IWzqlsOm7+735d/v02EA1O7tr9koQkcTKgyAnNI9oyUnvxKWBRToJvG+KAxNce
8+
WEW8KKILAgMBAAECggEAPAj/qNe96IQlw9PeRC2MQ25G8hNeuvxqWbSePO9jE5EU
9+
2UvtgbkU4rU7hfmu9eHRx1NvdKrOE/hvxck5nEpBr3ato0qCyQX2JNBHWQ9nwaSf
10+
pHV6lkieqJysNxJaBp/W7vgNEsnuBrvD81QO5dCEZ3osPd9pzbMAZzU5JegTJWqF
11+
9Q1H94gL90svjbWjPJE/VYvnbDF6hM/dtcDYRnGaLXP6afBJtm1Aene9uCcMJem3
12+
Qv5qmximoLI3tXjwe4X+JNVzdY7PoF/CX/d20VM5bIGvqMe6jzv02mVFsOY4P+DS
13+
8ohjOi1gOyLTQl2oBOGqdAFUPuMpxjZkvHlAbcWIiQKBgQDRU+xRovEoAVVK0Zu/
14+
kQQ7rJ60Ekn7NSHtyFBP1TVqLwy1aTH1Kr6xKBZGoec0hdWse0HCuS9Tx9kJwSnA
15+
FnOKZqLQ9v3tsVbxBTyV9IfcOttPf24tgAROQcCzbGLuSmyjlZ24G+HbIS8Lknmw
16+
7Jy8mZRuHxzwU1uDjWe6/98cQwKBgQDMHi8F/09r6d+4cNMmuqwXrIHLcNWG1Nw3
17+
k+hzBO7fYwicUvBwkEGHjBvV+29zckVM4vlgCRzekAnyt4PxMmvBQuz/XtZRxbes
18+
yUdkMIuyqQQ/Z3JhU0eTANGk7yOqN0gvSVkLRxAsEhiba0gYSKXzIejT0fGG81Zu
19+
YrGk1h9qmQKBgQCJ8bgmBC7PojFG4OK2VyZm/NaI7BR8ywLU49CpC2Pr2Z2SXwRh
20+
AA4ySKyFV2Q5pIiu5Xrsi4S4vVY1q2mMAD+b0Q8yjdHAtcEJi93lJAP0CYVE2kEN
21+
EvPDbmlC1AZN6hW1p38MOLOZ6EBMa/ZttT+EueCqwS4c4ZHJG4JkJQIuaQKBgBIx
22+
Kn29WIXErWTR4W/VOVtOy66nGtDOjeYCL7h4mxWbzPupxLYzlTOQgDadFzzR1W1Z
23+
2WH+zezkJ47TXlYT6VirL1Y/TJizJ4Cl29AJJ5o/yBoijSYxdvKaIxUxHxufm7Zj
24+
MiV4Ku/SmRDZCe7oIqo9vnOKhZ1CeNSTxUNsthYZAoGACri8tSSwLtPrAVAYrHqW
25+
5pRvTWD7O1ya80VbFCipAARpcYSvyb1sidjj/CVpG5pZtAb6+N2LfDqZPIQHO4Df
26+
k+K51jtlGvSwWsjGQ2Ebjl7ArauK1y0jo0KLRfIJRPswpgZGnc9CpyLrZDIkRZ4l
27+
80Gocy0ME3FB4mJctiG5KwA=
28+
-----END PRIVATE KEY-----

‎test/secrets/server.crt‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDTTCCAjWgAwIBAgIUAywUwpplirG0yC6u351THSBuTHEwDQYJKoZIhvcNAQEL
3+
BQAwJTEjMCEGA1UEAwwabGliTmF0aXZlU3RyZWFtaW5nIFRlc3QgQ0EwHhcNMjYw
4+
OTA4MTUzMzA5WhcNMzYwOTA1MTUzMzA5WjAnMSUwIwYDVQQDDBxuYXRpdmUtc3Ry
5+
ZWFtaW5nLXRlc3Qtc2VydmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
6+
AQEAubE7m3ABc/ZR0X9gTuX2Bm2k4lQVf0WfVXu10wyVG4ablk2pqe/uDcKvi7T/
7+
CKha388HQ8yBT2ryYJZVs7XIyJiVmaNNGJWqTf/d4BYYgXnMZdIwbztEcFfcWnJx
8+
6tZphD2N4SKvQuX0e03PFU4lmMUpB4Wl0ogIkwgKUhtLJXSTTEMLU0X805DexfFj
9+
30DRgIBOqqiOXFNQ7WD334mUR39220N8oW0NT0eVulm+aTGckuExt3gMfqt6RmiW
10+
lXk+wm1ic49o642RF+ogA0+5Pp26HerMV8QMSz6Qgz9tz1dMvQXUXeElt6lyz11e
11+
BleN8w44UuttaRJMfeRzQK9oqQIDAQABo3MwcTAaBgNVHREEEzARhwR/AAABggls
12+
b2NhbGhvc3QwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYEFGxPxPELvU8V
13+
io7lnm/PAC354OzeMB8GA1UdIwQYMBaAFFAbPFGRDlGMvu0Yxn4u4Nfn1HLCMA0G
14+
CSqGSIb3DQEBCwUAA4IBAQAu+6a0y2ipK1PaqCsvSc+vzLRjQzKzFwAS3RWlNp0D
15+
1xqMu1NWVoQ2JyLTRTUgmRr57qugM4SdGKvqKUGfpbxJpT/XHEhIGZfYNOB/QmUA
16+
PUmOXoW+Rj1qUw1uFUxCmXLA205YFi7FiQ+vcT+pZHU6ZuJ0eSYa4aCZwH+Vis8D
17+
Okk6Qtgkbnf4dVDlmD6woN9YR7SamRMeNCTUmWk41/1J7HZMZYoiwJ2CLI1T3Y0P
18+
TnWVX1xBHPBCdPf7d52E0Qgz6qbMiEIhxnG8JGjrh/v9oASv1KSjDl4/pKjZSBVX
19+
b9CoQayr2e6M6O3yt+dRGgKSBkX1Yur5NX3gZUtof32G
20+
-----END CERTIFICATE-----

0 commit comments

Comments
 (0)