Skip to content

Commit 8c1aff2

Browse files
committed
chore: Update Node.js addon-api for Node.js 24 and add CI
1 parent 51324e4 commit 8c1aff2

10 files changed

Lines changed: 254 additions & 120 deletions

.github/workflows/nodejs.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
on: [push, pull_request]
2+
3+
name: CI
4+
5+
jobs:
6+
test:
7+
name: Test
8+
strategy:
9+
fail-fast: false
10+
matrix:
11+
os: [windows-latest]
12+
node-version: [20.x, 22.x, 24.x]
13+
runs-on: ${{matrix.os}}
14+
steps:
15+
- uses: actions/checkout@v5
16+
- name: Use Node.js ${{ matrix.node-version }}
17+
uses: actions/setup-node@v6
18+
with:
19+
node-version: ${{ matrix.node-version }}
20+
- name: Install Dependencies
21+
run: npm install
22+
- name: Import PFX (Windows)
23+
shell: pwsh
24+
env:
25+
TEST_PFX_PASSWORD: "pass"
26+
run: |
27+
$ErrorActionPreference = "Stop"
28+
$pfx = "$env:GITHUB_WORKSPACE\testkeys\certificate.pfx"
29+
$pwd = ConvertTo-SecureString $env:TEST_PFX_PASSWORD -AsPlainText -Force
30+
31+
Import-PfxCertificate -FilePath $pfx `
32+
-CertStoreLocation "Cert:\CurrentUser\My" `
33+
-Password $pwd `
34+
-Exportable | Out-Null
35+
36+
Get-ChildItem Cert:\CurrentUser\My | Where-Object HasPrivateKey | Select Subject, Thumbprint
37+
- name: Test
38+
run: npm test

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"gypfile": true,
1515
"dependencies": {
1616
"bindings": "^1.5.0",
17-
"node-addon-api": "^3.1.0"
17+
"node-addon-api": "^8.5.0"
1818
},
1919
"license": "Apache-2.0",
2020
"exports": {

regenerate-certificates.sh

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
OUT="testkeys"
5+
DAYS=99999 # Hopefully enough time so regenerating the certs is not a PITA
6+
PASS="pass"
7+
8+
mkdir -p "$OUT"
9+
10+
# -------------------------
11+
# 1) CA: Banana Corp
12+
# -------------------------
13+
openssl genrsa -out "$OUT/privateKey.key" 2048
14+
15+
openssl req -x509 -new -nodes \
16+
-key "$OUT/privateKey.key" \
17+
-sha256 -days "$DAYS" \
18+
-subj "/CN=Banana Corp" \
19+
-out "$OUT/certificate.pem"
20+
21+
cp "$OUT/certificate.pem" "$OUT/certificate.crt"
22+
23+
# -------------------------
24+
# 2) TLS server cert (localhost), signed by CA
25+
# -------------------------
26+
openssl genrsa -out "$OUT/testserver-privkey.pem" 2048
27+
28+
openssl req -new \
29+
-key "$OUT/testserver-privkey.pem" \
30+
-subj "/CN=localhost" \
31+
-out "$OUT/testserver.csr"
32+
33+
cat > "$OUT/testserver.ext" <<'EOF'
34+
basicConstraints=CA:FALSE
35+
keyUsage=digitalSignature,keyEncipherment
36+
extendedKeyUsage=serverAuth
37+
subjectAltName=DNS:localhost,IP:127.0.0.1
38+
EOF
39+
40+
openssl x509 -req \
41+
-in "$OUT/testserver.csr" \
42+
-CA "$OUT/certificate.pem" \
43+
-CAkey "$OUT/privateKey.key" \
44+
-CAcreateserial \
45+
-days "$DAYS" \
46+
-sha256 \
47+
-extfile "$OUT/testserver.ext" \
48+
-out "$OUT/testserver-certificate.pem"
49+
50+
rm -f "$OUT/testserver.csr" "$OUT/testserver.ext" "$OUT/certificate.srl"
51+
52+
# -------------------------
53+
# 3) Client cert (Internet Widgits Pty Ltd), PKCS#12
54+
# -------------------------
55+
openssl genrsa -out "$OUT/client-privkey.pem" 2048
56+
57+
openssl req -new \
58+
-key "$OUT/client-privkey.pem" \
59+
-subj "/CN=Internet Widgits Pty Ltd" \
60+
-out "$OUT/client.csr"
61+
62+
cat > "$OUT/client.ext" <<'EOF'
63+
basicConstraints=CA:FALSE
64+
keyUsage=digitalSignature,keyEncipherment
65+
extendedKeyUsage=clientAuth
66+
EOF
67+
68+
openssl x509 -req \
69+
-in "$OUT/client.csr" \
70+
-CA "$OUT/certificate.pem" \
71+
-CAkey "$OUT/privateKey.key" \
72+
-CAcreateserial \
73+
-days "$DAYS" \
74+
-sha256 \
75+
-extfile "$OUT/client.ext" \
76+
-out "$OUT/client-certificate.pem"
77+
78+
openssl pkcs12 -export \
79+
-inkey "$OUT/client-privkey.pem" \
80+
-in "$OUT/client-certificate.pem" \
81+
-out "$OUT/certificate.pfx" \
82+
-passout "pass:${PASS}" \
83+
-certpbe AES-256-CBC \
84+
-keypbe AES-256-CBC
85+
-macalg sha1 \
86+
-iter 2048 \
87+
-provider default \
88+
-provider legacy
89+
90+
rm -f \
91+
"$OUT/client.csr" \
92+
"$OUT/client.ext" \
93+
"$OUT/client-privkey.pem" \
94+
"$OUT/client-certificate.pem" \
95+
"$OUT/certificate.srl"
96+
97+
echo "Thumbprint of the certificate for test.js:"
98+
openssl pkcs12 -in testkeys/certificate.pfx -passin pass:pass -nodes -provider default -provider legacy \
99+
| openssl x509 -noout -fingerprint -sha1 \
100+
| sed 's/^.*=//; s/://g' | tr 'A-F' 'a-f'

test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ describe('exportCertificateAndPrivateKey', () => {
5555

5656
it('loads a certificate based on its thumbprint', async() => {
5757
const { passphrase, pfx } = await fn({
58-
thumbprint: Buffer.from('d755afda2bbad2509d39eca5968553b9103305af', 'hex')
58+
thumbprint: Buffer.from('0b9f37b43c687da49dd51a1f2385652808fd5585', 'hex')
5959
});
6060
tls.connect({ ...tlsServerConnectOptions, passphrase, pfx });
6161
assert.strictEqual(await authorized, true);

testkeys/certificate.crt

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
1-
-----BEGIN CERTIFICATE-----
2-
MIIDazCCAlOgAwIBAgIUfyqCJJvmB9SxMbuL8b0xPdAoTx8wDQYJKoZIhvcNAQEL
3-
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
4-
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTAzMTAxMDMyMzhaFw0yMjAz
5-
MTAxMDMyMzhaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
6-
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB
7-
AQUAA4IBDwAwggEKAoIBAQDCaGU4m8CHVP0yHqRzDwmsY/d1bVBcYmVsSODOwG/L
8-
nOytuo+LDeOBSACnpP+tySbXnJMvxD/pLsPcogED3hntFRi1JrbgdZDnzaibCgKC
9-
x8PoqqNA5qpLbfx7ZwyF9kNH3eWJCB/oa//FD+o3wzwcCgfS/zbdLKLVDYVJonXU
10-
MhzvNS/epwRZvdtnzG9b0mgbru1UHbmNHIJzkpoSY5gMYxbCbTIga3VHUZi/h4/a
11-
EWeeBS2bleVTm3lcW3r14TScNlCDiHbvFfqrbvnXibVAm0I2uiZ3mTnfU8C8cwYm
12-
eQHbxcxKSZ6xtxu9vbwTlQS+lkSgflOxKnkLaBiBgZTXAgMBAAGjUzBRMB0GA1Ud
13-
DgQWBBQi4PWiGRPHS69V6p9qZCGNOq5DljAfBgNVHSMEGDAWgBQi4PWiGRPHS69V
14-
6p9qZCGNOq5DljAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQA/
15-
GXPGAyhPVIzZDtnqWlllDE3u51NNLLvQE97jwT0Pcxsi4TUmyUGG3CcUAXJV77k+
16-
KZ6lI/eENPtQP/dnymqad9dZdP8Qox7zyOUl7pk32Y5yA1oYfi3K85fxbKfS0JWJ
17-
02yk3n7WRABDDTrNAiLami3BZsFHwIPiI29HcDXotxTeL1bimMTzZ6dP4kWEDU+Y
18-
JvuU89mSTlEOhbiU1kKHDNXJ58vOb9mIe+wx77o8f5+K83p/++EckqmgiZ4axcTu
19-
mcwaNLzkNH8z61Se+2euqCnwbwbmQEr+QW3uBBtmDx2VA8rD3ftsVXGM74JFFa76
20-
9PtfTs8SrVvzxkyCu0GH
21-
-----END CERTIFICATE-----
1+
-----BEGIN CERTIFICATE-----
2+
MIIDDzCCAfegAwIBAgIUbDuLHL/1/Piypwq1jd2DyWOH8dswDQYJKoZIhvcNAQEL
3+
BQAwFjEUMBIGA1UEAwwLQmFuYW5hIENvcnAwIBcNMjYwMTE0MTIxMjAxWhgPMjI5
4+
OTEwMjkxMjEyMDFaMBYxFDASBgNVBAMMC0JhbmFuYSBDb3JwMIIBIjANBgkqhkiG
5+
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3dbXegBL5Af3G7DGSV+kvqsO7FXJyoa6c+eD
6+
BfIFSgI1YCleV5UVRVahA3F4HK1lToxgtYSY/fuECVw25N9pMsBjDjB5QUrBQq0F
7+
6w7AoFxLvZwBu2UV5ceYj508Kc6ptTiMRlRluqwQsQV3+7z88WQ1et6Lczf8jhrL
8+
KJAs0fIzl/uvYBw6cyyypiSchRU8H8G0h4bLlu2fDIawatEMvxeMfnSJKIyYQ95x
9+
/p5sAIUESpKKsMO5SWjdeuz9YhuwjB/qQ4nJe+PUSpQwJPfcGLcj+mWofTfeSP+q
10+
V9jbOtmpUHNbBezLf3z3RlwbTn56VnSigq99I0Sr1qpkMO0YuQIDAQABo1MwUTAd
11+
BgNVHQ4EFgQUivqYf547jtKtQGL9YE48s5eBb14wHwYDVR0jBBgwFoAUivqYf547
12+
jtKtQGL9YE48s5eBb14wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC
13+
AQEAA1gl2hToEsTEHy1syyAEyhdEbK7wQTKALFQ30ofHyeMJ2wblK2ZP1S2+WPKw
14+
HMGaP3rM898teySwybTNEF0/JCAtYyhsZVZe97bgY2A4IwthAimdw2bb1nFnqajN
15+
2MJRCL9hLSyE1zwbEaQTdHw2vBp4f1CPq+tqEzOTwfPVgsycLgmElAWZGvk0Onn1
16+
qwSpE0tI/jfvyhL5I/bA8yIH1ViOgDGDyNG5+enekO1sgRinapsfgjRXUdenxUaT
17+
jbiCgdWAa/2QKtSL5b484veuvZtwIaCCng359KRO8fVk9YPAP22ykKZl7KJm3/fQ
18+
OShsUbjuW6Yf01Jex20jAgAl3g==
19+
-----END CERTIFICATE-----

testkeys/certificate.pem

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
1-
-----BEGIN CERTIFICATE-----
2-
MIIDazCCAlOgAwIBAgIUfyqCJJvmB9SxMbuL8b0xPdAoTx8wDQYJKoZIhvcNAQEL
3-
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
4-
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTAzMTAxMDMyMzhaFw0yMjAz
5-
MTAxMDMyMzhaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
6-
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB
7-
AQUAA4IBDwAwggEKAoIBAQDCaGU4m8CHVP0yHqRzDwmsY/d1bVBcYmVsSODOwG/L
8-
nOytuo+LDeOBSACnpP+tySbXnJMvxD/pLsPcogED3hntFRi1JrbgdZDnzaibCgKC
9-
x8PoqqNA5qpLbfx7ZwyF9kNH3eWJCB/oa//FD+o3wzwcCgfS/zbdLKLVDYVJonXU
10-
MhzvNS/epwRZvdtnzG9b0mgbru1UHbmNHIJzkpoSY5gMYxbCbTIga3VHUZi/h4/a
11-
EWeeBS2bleVTm3lcW3r14TScNlCDiHbvFfqrbvnXibVAm0I2uiZ3mTnfU8C8cwYm
12-
eQHbxcxKSZ6xtxu9vbwTlQS+lkSgflOxKnkLaBiBgZTXAgMBAAGjUzBRMB0GA1Ud
13-
DgQWBBQi4PWiGRPHS69V6p9qZCGNOq5DljAfBgNVHSMEGDAWgBQi4PWiGRPHS69V
14-
6p9qZCGNOq5DljAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQA/
15-
GXPGAyhPVIzZDtnqWlllDE3u51NNLLvQE97jwT0Pcxsi4TUmyUGG3CcUAXJV77k+
16-
KZ6lI/eENPtQP/dnymqad9dZdP8Qox7zyOUl7pk32Y5yA1oYfi3K85fxbKfS0JWJ
17-
02yk3n7WRABDDTrNAiLami3BZsFHwIPiI29HcDXotxTeL1bimMTzZ6dP4kWEDU+Y
18-
JvuU89mSTlEOhbiU1kKHDNXJ58vOb9mIe+wx77o8f5+K83p/++EckqmgiZ4axcTu
19-
mcwaNLzkNH8z61Se+2euqCnwbwbmQEr+QW3uBBtmDx2VA8rD3ftsVXGM74JFFa76
20-
9PtfTs8SrVvzxkyCu0GH
21-
-----END CERTIFICATE-----
1+
-----BEGIN CERTIFICATE-----
2+
MIIDDzCCAfegAwIBAgIUbDuLHL/1/Piypwq1jd2DyWOH8dswDQYJKoZIhvcNAQEL
3+
BQAwFjEUMBIGA1UEAwwLQmFuYW5hIENvcnAwIBcNMjYwMTE0MTIxMjAxWhgPMjI5
4+
OTEwMjkxMjEyMDFaMBYxFDASBgNVBAMMC0JhbmFuYSBDb3JwMIIBIjANBgkqhkiG
5+
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3dbXegBL5Af3G7DGSV+kvqsO7FXJyoa6c+eD
6+
BfIFSgI1YCleV5UVRVahA3F4HK1lToxgtYSY/fuECVw25N9pMsBjDjB5QUrBQq0F
7+
6w7AoFxLvZwBu2UV5ceYj508Kc6ptTiMRlRluqwQsQV3+7z88WQ1et6Lczf8jhrL
8+
KJAs0fIzl/uvYBw6cyyypiSchRU8H8G0h4bLlu2fDIawatEMvxeMfnSJKIyYQ95x
9+
/p5sAIUESpKKsMO5SWjdeuz9YhuwjB/qQ4nJe+PUSpQwJPfcGLcj+mWofTfeSP+q
10+
V9jbOtmpUHNbBezLf3z3RlwbTn56VnSigq99I0Sr1qpkMO0YuQIDAQABo1MwUTAd
11+
BgNVHQ4EFgQUivqYf547jtKtQGL9YE48s5eBb14wHwYDVR0jBBgwFoAUivqYf547
12+
jtKtQGL9YE48s5eBb14wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC
13+
AQEAA1gl2hToEsTEHy1syyAEyhdEbK7wQTKALFQ30ofHyeMJ2wblK2ZP1S2+WPKw
14+
HMGaP3rM898teySwybTNEF0/JCAtYyhsZVZe97bgY2A4IwthAimdw2bb1nFnqajN
15+
2MJRCL9hLSyE1zwbEaQTdHw2vBp4f1CPq+tqEzOTwfPVgsycLgmElAWZGvk0Onn1
16+
qwSpE0tI/jfvyhL5I/bA8yIH1ViOgDGDyNG5+enekO1sgRinapsfgjRXUdenxUaT
17+
jbiCgdWAa/2QKtSL5b484veuvZtwIaCCng359KRO8fVk9YPAP22ykKZl7KJm3/fQ
18+
OShsUbjuW6Yf01Jex20jAgAl3g==
19+
-----END CERTIFICATE-----

testkeys/certificate.pfx

-48 Bytes
Binary file not shown.

testkeys/privateKey.key

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
1-
-----BEGIN PRIVATE KEY-----
2-
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDCaGU4m8CHVP0y
3-
HqRzDwmsY/d1bVBcYmVsSODOwG/LnOytuo+LDeOBSACnpP+tySbXnJMvxD/pLsPc
4-
ogED3hntFRi1JrbgdZDnzaibCgKCx8PoqqNA5qpLbfx7ZwyF9kNH3eWJCB/oa//F
5-
D+o3wzwcCgfS/zbdLKLVDYVJonXUMhzvNS/epwRZvdtnzG9b0mgbru1UHbmNHIJz
6-
kpoSY5gMYxbCbTIga3VHUZi/h4/aEWeeBS2bleVTm3lcW3r14TScNlCDiHbvFfqr
7-
bvnXibVAm0I2uiZ3mTnfU8C8cwYmeQHbxcxKSZ6xtxu9vbwTlQS+lkSgflOxKnkL
8-
aBiBgZTXAgMBAAECggEAOgW+cC7MP5f2GcdbfZu3X2RWrw15NpmHe9IkhpCYzUSA
9-
vzk3LmFuzV8YEvED/nJSzXdF1rPT/1ydyHPxqZ3YTxJE1YxAeK2eGhEfiWZraW0F
10-
46NKJkyx9uFUwd/3tOPTINfxcfyiyVOyerZNSWdTwWqc+zSAw3JXBw+KAHgkgrgL
11-
0+xSoyM46czEm81YVjg5jfPyg6TorLEg9UT1aD2lL3cM6a6rh1PiqnhdKMAxg3ML
12-
cL2vszw7m5eCiIZpVP1WSu7XGtZargti/8RRCdptuLcBoJXAT/k808I0CSL6HLWf
13-
yIa5bYM4/SOska6aV+YUAEGsHyZRKbvoZF29dEpegQKBgQD/m6iRQJMafsUVG6Cr
14-
K8X7IUhc+w0c7wVUTAaLHDpHjFGcXWbhCIrOZOfmpDCLrMIq49Vdcp/sbd2Wi61m
15-
zBTTTI4xhiPV5dePKFaMe4DqCGtWa7rulYRCyDiGXe69PL1hHb0GmcqmXT7AKx32
16-
iWNIn8pjL/22g9U1mAqcY+48OQKBgQDCtLZPd/5lccZu3Nh5EZKNxi+xcIapKTfG
17-
GaYYNk3+jiXWhis1ek51sgAOBZiiwUzywdC8kYIUpWm6m8rZEOV3S5xeGqN7zw3S
18-
6vhgnBFHxoWkfsfsUSbpTwfcTUDq/4PDG/kKh2QvgQNG4EXHVuJRjdAC7w6WebNC
19-
ZmgJOq95jwKBgQCMcVGAZbOt5iORgnmYM1f3sQTamdJNqIMMGy2pN5xJ/a5FtQg2
20-
8wOZfdXxYxuNUyHogQCV9MosFP2gnyRqjA2RP8oNKf/8oen7rZVIYP+nF3Mqq8yt
21-
FJf0PaDZKzlm3r3LY5Sd0NiI6kj1O3ueH0Te/XUtZIwJwYvfg6eo4Dtg+QKBgGV+
22-
9GY6o9dX1tvlrcZ2vZHAFQ6HHPtDbDqNFkMa0891ZA4PBKks54d80YB9tFJrN2R4
23-
WgpiQ4/lplbLbZN3tlZYiNuZQU2B4q/nIrChynRC7VmRaUAsEX+fXfaeItAdgB8O
24-
DuVJLJWCyCWDNXyzMujWZu+QlGcma6aaYXMmL2DLAoGAMtAQqMjizHBSXveOMvq/
25-
ZzVlA13+sNYmVZEV++26W4DPidkbNwa0eHgkQ9GVJAFkDEn7AP4ZuDjDdreiD0JX
26-
l72DhNSmP6iiwbZZiZaY3yv2Qa/UiE0fHiy0ciQuKr2UovfyEEscg+QQ2kZufP3y
27-
fG5zJ7Logn2qSkWCh3aB1Hk=
28-
-----END PRIVATE KEY-----
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDd1td6AEvkB/cb
3+
sMZJX6S+qw7sVcnKhrpz54MF8gVKAjVgKV5XlRVFVqEDcXgcrWVOjGC1hJj9+4QJ
4+
XDbk32kywGMOMHlBSsFCrQXrDsCgXEu9nAG7ZRXlx5iPnTwpzqm1OIxGVGW6rBCx
5+
BXf7vPzxZDV63otzN/yOGssokCzR8jOX+69gHDpzLLKmJJyFFTwfwbSHhsuW7Z8M
6+
hrBq0Qy/F4x+dIkojJhD3nH+nmwAhQRKkoqww7lJaN167P1iG7CMH+pDicl749RK
7+
lDAk99wYtyP6Zah9N95I/6pX2Ns62alQc1sF7Mt/fPdGXBtOfnpWdKKCr30jRKvW
8+
qmQw7Ri5AgMBAAECggEAAjREGtMNmKaYRsmoXAqbvUXqKuClVcz7OvNAwtqHQUIp
9+
W/Bn9BB9UB2OvFUwdNR847K9s+qtMc+ByIKxNu/zVczsjwkImLn7QUQtLAs5pb4/
10+
sGga6kzpp/P7k5MOic8jB4kYImDB9qtb/8Ob+r/YzDXghCfZlIZTYj6+Pa5vtjxK
11+
7Uqp6F8djr39o7kCnpKXv4bSz7WhQ4cYDBF4t0KsPdCe9eCnex8vg8s6ZGOViYNC
12+
jwhqcShzLbfIJxGdfUvx4ifQ+WI9DuWg8DnIXUPUozSziRRUPRcHrBbH4SKXXk00
13+
TDN40bDGHgXiOyVwIo3mUV5TkrTC2Vr5tEtK7cvNgQKBgQD4HRsUDpKV68DQUkG2
14+
6fZuzPyQ8S5teNHwZvRjvVZxK2xZnRfVskzO3QZdJl91KQMREjHkBWwLJLgR93sx
15+
J+eo6vJkKMHN5vIKeyJAJDB0wUrxc3vb1W5FxsVLrM37QLPcDkC0z6jG9QNZpG+e
16+
DxyFEJr3lOM3A4pMEaRbdt9bIQKBgQDk4/D5hv7kVtl8Wtaj/AL1o4hEEu2j+BhP
17+
o7q/L9lJzvS9IqTVGRMtVUD6EKvDGxOUnsz4nC79KgN4jdKvGqWTnRo1f2g12Cng
18+
JUJly6DZRbqqQkxJgmYovpfzHJsn9scEEsiwocDIzEKbdV3uR0wfoGmUgdCkbo5i
19+
amfnZ+1imQKBgQD3qcX/zVQRBpUe3RzvgrcUftWVsMmRSMr21y4X6UVCDgBHq4HB
20+
NAtrakER9l3OyzNedPUMEUV6EhsTBCAaPyUE/hEaXXynFWKBh8v2jqk3wkIWphn6
21+
pB9A01rZYRLzO/DNNgTs92QXxTak4njwI1Fqmdq2TA5KOeRwbiPLkOr/QQKBgDRF
22+
1ke2S8nsB7k9qZ1DtY1RrpIVXI5A35R4iPKWw+H2ULBNFCXSly2YNcGmQwPI0Dz1
23+
00vHp3eLu8UxZnc097FxhIXJNgxt9IpLGBHVYkOciBfQEkoLbLdLZ7pOwyRqWGMW
24+
wxyLpFJ3S5LjR/Nd9wWWBeaziumykfPp5xbTBkSpAoGBAORxUCyFR5ErCSc/Lwsx
25+
XQJcfeAY/Gbpy34niw3+QsQboEo6mBBRCZsMulZ+rtyR/XxE7uiej9SgJg3FSrVg
26+
kZgHtu8NmFg67Q8EaQSj1JhJvT1/xx8os7+skxFtIiJ5+1BhY/rwoPXCtzf/YjWl
27+
ygUWqHE33sncU4U1Kr3O4x4u
28+
-----END PRIVATE KEY-----
Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
1-
-----BEGIN CERTIFICATE-----
2-
MIIDazCCAlOgAwIBAgIUBAJ39adsM5sw85g8mpxA/jF4MZUwDQYJKoZIhvcNAQEL
3-
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
4-
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTAzMTAxMzEwNTlaFw0yMjAz
5-
MTAxMzEwNTlaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
6-
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB
7-
AQUAA4IBDwAwggEKAoIBAQDcYQIWKCzg0d+xPqknXtHt3lODyIcxcNNgXenBQQkM
8-
j/Iol/7luroAjVjkM0NKe7d8ElnnNs6WtzaOfM8guAYs4653upZ0wwvlcvMGz86x
9-
s2aV7qSowEIcNY5Ie2bFZNq1aFybo4UK/S3UE63tJKc/BnKwnZFsbhJqKPkZE1g3
10-
I2lntku1+NAydSShU8R5g9Jd590haVSAgrYynrQaK7AfYJFapj3ko1zyw7Ps0G/k
11-
hRhant3NBeXJyy0yJLFn3i7XrtkNn6YU0qppszxyKdXL6nvEmUaFOvunWHW/JiDZ
12-
UrlVMgF0ANum9KYOOtgdY/7S0r0Ky8ST37UcsUEUaCb3AgMBAAGjUzBRMB0GA1Ud
13-
DgQWBBSG8HThU/D2+guwoS7Pu0/X92TpIDAfBgNVHSMEGDAWgBSG8HThU/D2+guw
14-
oS7Pu0/X92TpIDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCM
15-
zC4O3K3ZFe/VgLYsg8dBGLlWio1EUSJ2r9ydWyYhbgu0lOLjixydf1+UxBz2SFPH
16-
X2UGWec9hnW9tZz5VHizjjmrTKJChMEaUU/vQDhLHCwODnwwPsiGJXytye9Gmr/z
17-
ZcQlXxspiGE3W9denuCYS8li1EV3scqWPhgFux+hSaY1fDrj8j5FhlSXkDsw1QlY
18-
J5Y+Vr2LTE38E5LbTnC7tsdVClW/TPLJges4e89EPPry8Vo7OQXlL+jKuZRkWsJ5
19-
svvZ+Vh0BE4zfatZbqdifH++D2GyjWKGsQlBDm20YQ/U4dJKQuNhZuwlKqIbmckj
20-
8dDV68TmX/2VoVkGVdjx
21-
-----END CERTIFICATE-----
1+
-----BEGIN CERTIFICATE-----
2+
MIIDRzCCAi+gAwIBAgIUB94NN4W3GjvUZ5Wm63/TDJUGGrwwDQYJKoZIhvcNAQEL
3+
BQAwFjEUMBIGA1UEAwwLQmFuYW5hIENvcnAwIBcNMjYwMTE0MTIxMjAxWhgPMjI5
4+
OTEwMjkxMjEyMDFaMBQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcN
5+
AQEBBQADggEPADCCAQoCggEBAKBfDXVI9WI1Xm9gJ/OF9PrbIl7vtkeTeYyuc6hU
6+
g5Jmbx2b2hPXxQTATfy8x9KnemKohDzE08+cEpWwm/lAYxhmmlv/PlMS3gmCCgBw
7+
cpxgxc3s2QHgrEvFH0ctbRCrNcQE30rDuq0aionyX2kWZKuPRVI+rc3as0tDBlR8
8+
GTYNZUHeGwEan3brNpoQghsXBOo+HMgDaCsMt2jjLTnSeweAOFbpiso8DAMszw24
9+
fvkdDMkrgFpWrpHEefYwU2BDZbtu8S+CwdExHMdPI/wkTvvSvoxmr5CBTMyxPnsW
10+
M/RfMIRnwa7bZNSfJ3sGsVAwwJE9jQ/MZ59ovXfJRtcHojMCAwEAAaOBjDCBiTAJ
11+
BgNVHRMEAjAAMAsGA1UdDwQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAaBgNV
12+
HREEEzARgglsb2NhbGhvc3SHBH8AAAEwHQYDVR0OBBYEFFgyOXolIhEfill3gJfv
13+
iB8S55oXMB8GA1UdIwQYMBaAFIr6mH+eO47SrUBi/WBOPLOXgW9eMA0GCSqGSIb3
14+
DQEBCwUAA4IBAQBh/fp313ltPjesfhtLCSnG/FIfBPaLsFw00PoiC5cpWBH8DTET
15+
zlQv1otN9ytMhdEgu7uEuqt6emR8EcrOHKJqMqOSeCbwuWJo3oqc13/CuihDukeX
16+
2nFhIRLnhQ6C5BAb5M20S0n52thz9BJiCjIGx8asDVeVsRJhAEWD+WKwGSW04r/p
17+
Sk9lQxNV5tjivb3UJ00uYnU62tV7/m5PinPITc8m2DtfziXYQPBQvAoibdQyYXlT
18+
4lFJKpRlEw97yPR/QPV/U+O3tD0KylfdQi7x0p26zsRn/w8eHG/2DFDJoAZMfZcp
19+
BSP3vkcqO/0eCh/ofVywKS5gSgd5j1c0p6sy
20+
-----END CERTIFICATE-----

testkeys/testserver-privkey.pem

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,28 @@
1-
-----BEGIN RSA PRIVATE KEY-----
2-
MIIEpQIBAAKCAQEA3GECFigs4NHfsT6pJ17R7d5Tg8iHMXDTYF3pwUEJDI/yKJf+
3-
5bq6AI1Y5DNDSnu3fBJZ5zbOlrc2jnzPILgGLOOud7qWdMML5XLzBs/OsbNmle6k
4-
qMBCHDWOSHtmxWTatWhcm6OFCv0t1BOt7SSnPwZysJ2RbG4Saij5GRNYNyNpZ7ZL
5-
tfjQMnUkoVPEeYPSXefdIWlUgIK2Mp60GiuwH2CRWqY95KNc8sOz7NBv5IUYWp7d
6-
zQXlycstMiSxZ94u167ZDZ+mFNKqabM8cinVy+p7xJlGhTr7p1h1vyYg2VK5VTIB
7-
dADbpvSmDjrYHWP+0tK9CsvEk9+1HLFBFGgm9wIDAQABAoIBAQCVgQoVVfP8IOUM
8-
LWI730uzf1xQzr1IgS4k9hEalbA54X16pIK7/s0oirt/NHe2E/AKL7jl7nyAKpLM
9-
X0d0/uLRmTRG7UIcvCVZ532PZXLngrlZhagXAzbWRE7eRTkXOLBW2RHaVDhxmAh7
10-
E06uzmrXitxLjNmXIaVEd79lj4YNAKqh43uljl6RrC7qihHCO7nvp4eblexesBRd
11-
htDyZel91B5IG+HhXEQyE18N2jtH9SaPRasUi1iyl44AxCB7CgQEotYn91KZ+Qgl
12-
/aljLp/EN4RGEkPNdm9IahKPsAM1bL9PxAAti634A+W8T5pB1VTdJ+sNye7+TXGo
13-
BToZ4N0hAoGBAPPxUTDtUC+Rt6M9RSOrbDmgg9B7kj5SJu3HdqyhcKeaoqXobvsR
14-
tXUXvrN1Wmj1Urrd37wLNGzY/bjQ4dabJpH9m7ritnMlKCiLznDtI4mZQNPFzxdI
15-
ztE5/g3Hp69OMhCO+YmC0+4K3wqarKEiALNaC6cr7kvkwPQvUxvW/5yNAoGBAOdF
16-
iDJLH36cBqDiA10irhA1xTPOpNqvoluy1iLrLtDCezIPjr93NCrLwHmtO7QlHK15
17-
izo0S8mz1edmSvpP6nMaS1iDsMdqZ8WEZ3tXMOPHG5HCo4awmxPW5pWbHvuFAFda
18-
eytaHB4d4bTJCtlNhap8vBMwZHrqs4RkDsnJAsqTAoGBANpRpaVRLkt0cVJh+mfC
19-
+nfUpUPH5AlsgrSZqCc10NnfdiNfkzuWDL0/xAdeRszaifD9s0fbC09DIEfwgb4M
20-
WwebXm1yi3Ef1wH6pYbBZOW3x6IATaf8HER6T1nLztIA/KN/IesksEFBb35REaCg
21-
Ctp5AybZFUrM7rdbR1kKIPfdAoGALdja5x19YNwNdFdZ01zMpOoD7gFJLREkXolV
22-
aha1cS0cvw/WfJ5k+RbrUTPGYi/5P2qY7zDu1U2RWg4tTvIIyEiuJx30LZQqfj2B
23-
RjJCvuT50iuDv2/DTmuLypy1x6bWKnsFb9KtQEssM2qne+yiUunnXuZ5BOUCMXyk
24-
cdwncYECgYEAwhvnzEdlUgzJETcjjqpd4lvx16RY+br5uLZI95dkyDTO5W55CXmF
25-
jqv/PxpWkUNrlAVQd1tWtzEL6b+L+iqdNSh/8YK+rhBHYVz3gt1cpXKrZ7O2s3CX
26-
fnQ8j+NJ90+PEZ4rxOwMmPAg8OS7SBQdm5LsUfjiqXzrTO+uUX3Am7A=
27-
-----END RSA PRIVATE KEY-----
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCgXw11SPViNV5v
3+
YCfzhfT62yJe77ZHk3mMrnOoVIOSZm8dm9oT18UEwE38vMfSp3piqIQ8xNPPnBKV
4+
sJv5QGMYZppb/z5TEt4JggoAcHKcYMXN7NkB4KxLxR9HLW0QqzXEBN9Kw7qtGoqJ
5+
8l9pFmSrj0VSPq3N2rNLQwZUfBk2DWVB3hsBGp926zaaEIIbFwTqPhzIA2grDLdo
6+
4y050nsHgDhW6YrKPAwDLM8NuH75HQzJK4BaVq6RxHn2MFNgQ2W7bvEvgsHRMRzH
7+
TyP8JE770r6MZq+QgUzMsT57FjP0XzCEZ8Gu22TUnyd7BrFQMMCRPY0PzGefaL13
8+
yUbXB6IzAgMBAAECggEALqXXbVEuh0WM1Yq7tDs32iwZoFHLzKAaEBDCdak3qEMB
9+
eTRXR8RQe6RQSv7ChQTQNZhc9qwuDEqSoVYA2IyhBnz50164S0PGsC9SJ3SN8ey4
10+
PMDzEne+xj9tbK/K9LlIZ18fcEjkqOt6dsu4cwHfgIOpH1Y6ChHeazrwwWxjjPP8
11+
DZBPpk6ypYX7TQGzgOpDBEw6hlE15kVT7CzdpW8HglhduICCf3LGbMooHD1mcP8G
12+
vkrhsu7L9RFwElTCPQvV/rbqP8Xeu/xXZ0sZbhWn5s4PmNOk7vPFAlWVEAuJrTwl
13+
8j3gY40tsMtMN7gkClfXeyhCHemvJr6maqRyBvlx2QKBgQDgZXnPGtfP2Eo62tqj
14+
w6UIqLa8iLRwCVZ13R00t1xLhAASXA+HnIUfK0EFzxc+rOKX2obrNAxTfQeeNBi4
15+
GncBIM+9ufYmeeDvVuIjfr0+sktlCKTerxRkwe8YmNHU73W7DrCsi+E6qKh+Yz7R
16+
M4JaqeH5Ob+Gojkh/D61qjzlPwKBgQC29S1XbUJ2ZLNRCR/dXczm1DZR6Tsr+aZT
17+
kxhVivQH7tP8Vn00Gf8z3Nd7ick4egdnEavSMAUaZQMM/hiQ1z+kNeQX039+PfU6
18+
4vuwvrv58sbgqs5LexKHWcfxrSId/B5ChI6IDr7KiwdW4R6JeVuAkvV/sKqMuo2b
19+
+bymGvqCDQKBgGQgg4DJLoEctsqaOzMVqn85oQhxS2oukHjZKB4Mr0824D1Q/ND7
20+
I19sEoCADpQ12on9xXQP7mwWfx61ik4j6PQE6w1yfAZhHeBN+WvzMohWUFQNzlta
21+
7hOjgYeNMRv9mZ/VBzqG1AIznbN/n1kDzeecpCtr/C0cF7g1cNno03FLAoGAdsCI
22+
35hRbVtLcKvFfP+nQaQ4Zc5G0/JE3TY6sztvzb5c5gqVVb4SAW20h8EVVI0QRPwZ
23+
VGJKzakG4+YBt/Geo00/cZ+bvyskA0bVKxGCHWhRYf47zI5jpmrF9r3zyRad5Xr4
24+
sKMxf3HiH6gbFAwrMjcxFeJrsNBdngHpSr90HfkCgYA0/td/v6dhBrWmUjXxhQyv
25+
buYZGXghl6QtxPLLlOUgwrH7FNYtS6UIGFMpYKrKdp5d9RcmRef8SSaDYFJMmKLi
26+
M/D1mgqzzxpfa/zLU4dpN9R7GQSyu0Wej993ZwhXUnycH2AaQcEbCZq4XXsKnZpX
27+
2T5/A0UZ5L/1LiajJ6mCMQ==
28+
-----END PRIVATE KEY-----

0 commit comments

Comments
 (0)