Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@ on:
push:
branches:
- main
- rust-next
pull_request:
branches:
- main
- rust-next
types: [opened, synchronize, reopened, labeled]
env:
E2E: "1"
Expand All @@ -31,6 +33,7 @@ jobs:
apisix:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version:
- 3.2.2
Expand Down Expand Up @@ -79,10 +82,22 @@ jobs:
# Run E2E tests
- name: Run E2E tests
run: npx nx run backend-apisix:test

# Run the Rust port's E2E tests against the same live apisix instance
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
workspaces: rust -> target
- name: Run Rust E2E tests
working-directory: ./rust
run: |
rustup update stable
rustup default stable
cargo test -p adc-backend-apisix -- --ignored --test-threads=1
apisix-standalone:
runs-on: ubuntu-latest
if: contains(github.event.pull_request.labels.*.name, 'test/apisix-standalone') || github.event_name == 'push'
strategy:
fail-fast: false
matrix:
version:
- 3.13.0
Expand Down
27 changes: 27 additions & 0 deletions .github/workflows/unit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ on:
push:
branches:
- main
- rust-next
pull_request:
branches:
- main
- rust-next
jobs:
test:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -35,3 +37,28 @@ jobs:
run: npx nx run backend-api7:test
- name: Run OpenAPI Converter unit tests
run: npx nx run converter-openapi:test
rust:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
Comment thread
coderabbitai[bot] marked this conversation as resolved.
with:
persist-credentials: false
- name: Setup Rust toolchain
run: |
rustup update stable
rustup default stable
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
workspaces: rust -> target

- name: Build
working-directory: ./rust
run: cargo build --workspace
- name: Clippy
working-directory: ./rust
run: cargo clippy --workspace --all-targets -- -D warnings
- name: Run unit tests
working-directory: ./rust
run: cargo test --workspace
32 changes: 17 additions & 15 deletions libs/backend-apisix/e2e/assets/apisix_conf/mtls/ca.cer
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
-----BEGIN CERTIFICATE-----
MIICqzCCAZMCFHJ1qdQ562AtZhnNb2g5RP964zFtMA0GCSqGSIb3DQEBCwUAMBEx
DzANBgNVBAMMBlJPT1RDQTAgFw0yNDA2MDYwNzExMzhaGA8yMTI0MDUxMzA3MTEz
OFowETEPMA0GA1UEAwwGUk9PVENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAhWEhjd+3TF6tuGdEL1GD9VgaeEemXSYpjI2iaYs2MqtS6ge0QmUYmjgS
hikCkA+hOIwhLFB8Cy23BcsEIQFDGs53HThOBt+harW4+M1bz+rQb+DQNhS4LmqI
VbriMxR5ReLn76rJnc1SXVgjyuLQQrVDPESGpnqhvkPIDVR1xcjklE3iNVH7Dy7o
XH/xRO0h1RqW4JmBrW3z9IjeP80oTjZFpa/Vse3V64CBsR5VEB6Y0qs97PlTTsoM
u7/AIcvb6y4t+qMksKT3HUBsu+QGkRpbjFCcd3zacezRk2FcRU1njTuQaxwBQNBw
cQ25nMO9vbo1uKjrTen+68oQp0wR7QIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAY
LYET3babzbqhw8OtrhdyON7GT1DqBeB+2PS1s+9glUCuk2Ov4lFwdXDklxVhYpFt
XNVlGqbYhI0ypTF/us2jKgrJGpusJt+xQ+03so1ysp49TfptfZPF3vaJsdzePn2V
yCK2Yj0O8JZcHWQEPQR+qbP6l3k+WkAQ2iCJhbXzafemNmixRxS/DpgYK6pe7XhF
emlTdRF4J0YMJPfkpaoSNCpp1gIYt+xbnDxOA+72sOJJN1BH2w5oAA+JLYFkAZSC
pMG8eWGt/+9PcF2LFN+D1vW7K8nshmsoqS6OrjFWEP7C68Mjj6XFfL0vzODWntph
1wIUTc09QrjQzMnTwxpw
MIIDFTCCAf2gAwIBAgIUDyTDepWtyOWY9e913mEUi9YaQnAwDQYJKoZIhvcNAQEL
BQAwETEPMA0GA1UEAwwGUk9PVENBMCAXDTI2MDgwMTIwMTcwNFoYDzIxMjYwNzA4
MjAxNzA0WjARMQ8wDQYDVQQDDAZST09UQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQCwT1VIXE1wRIdkHbpR1jAjI2o9Jfbrj5el9j9hDfMO1Jy75wM3
tyf6ECDCsUdQOa+TrMzP7ihPK+6ynlm3rngLXi9rEV1iJiq+FhrxiUvZV8gtH0g9
WpfpPr05Gv2PRM+iZimOyeFHMpj6vScyvC9B4fnIEj+Y7TBE/jZ8OGNrKO0d9+93
FJsRaGJH58pDeonVt/Btez88qu93oM1vNlXiBS/g88t+H7WjMvAtuwgm6AKmaVLw
de5P7LTWLANKdhbqUd62dqVfPE+XFA0UpHywz1praOe6rvtJK58kK5TUrRzzLLrA
byNTAmUX3CWYzIXUZ/3IZSyzQVUmQe6sf7S9AgMBAAGjYzBhMB0GA1UdDgQWBBSi
pEuDXSP6nxr4THoHpAHVfnBimTAfBgNVHSMEGDAWgBSipEuDXSP6nxr4THoHpAHV
fnBimTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0B
AQsFAAOCAQEAr6q2dixAl+S/pDCQrvOgfysJ+M2LuPXca1n6MKhC7tkLY0hpI/lO
xeHz384Zz0MMMCHWLJDd2oOaZGbQ8cATJwlw5pF5WNP89X4LC7RWFu1E3paZuHD6
dTQDqGQkH7fx2lLO5H7XICFsksQ5O8++JAkMrQCV4eCg+VP7XPd2/9XA8aoRuK89
eKAIiTKmynrSx8I+9Nt7fERnuR+GpIi9lOe9Mr4t8WVlxUarjUhdF6qwa1baTCOs
IIovKANSEyVWDo1/mgwYkUOrf425q/t9Ze+fN801M70GmWCB/hFwyqhtx/HRgkCD
pIzp0f15SSQt6DDjFCv3qpK5O/9zPN8RGg==
-----END CERTIFICATE-----
15 changes: 0 additions & 15 deletions libs/backend-apisix/e2e/assets/apisix_conf/mtls/ca.csr

This file was deleted.

52 changes: 26 additions & 26 deletions libs/backend-apisix/e2e/assets/apisix_conf/mtls/ca.key
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCFYSGN37dMXq24
Z0QvUYP1WBp4R6ZdJimMjaJpizYyq1LqB7RCZRiaOBKGKQKQD6E4jCEsUHwLLbcF
ywQhAUMazncdOE4G36Fqtbj4zVvP6tBv4NA2FLguaohVuuIzFHlF4ufvqsmdzVJd
WCPK4tBCtUM8RIameqG+Q8gNVHXFyOSUTeI1UfsPLuhcf/FE7SHVGpbgmYGtbfP0
iN4/zShONkWlr9Wx7dXrgIGxHlUQHpjSqz3s+VNOygy7v8Ahy9vrLi36oySwpPcd
QGy75AaRGluMUJx3fNpx7NGTYVxFTWeNO5BrHAFA0HBxDbmcw729ujW4qOtN6f7r
yhCnTBHtAgMBAAECggEACyvir2s3WJOuMZL2AI/vdrC4QtkezjrV4bpeiere5r6N
ICH2D1ZACca8MnV5NqTAfafVrXcDn2dm/CVlb/hBl8YG7wZvbp7zelMZ2Oj7vCia
6GFS6dIGx93PaSgmgwhqIe2Kkfs4ONng1gWoYHlqinPRMQPnp/D/NBxMQ2WOxGUw
tPo0NMwj7pKxNkXvACfbx3699DDnF9sLia2ZOn71MY2A7FHMN744eY6lOvzvJ/KT
m1Y0QPaiRUzJmY8w+jXTG/3Pcg/SPu+MiObgzeHkHBzNPLovFaMj1CJTJcuih/Od
4epcAliFtbHyrb/N1sl6X6z53bVEWOWXaGWC76efdwKBgQC5mqleNKzd24kEubp7
DIvA7WuRmgKji7BHjBRE7ZRr85Fq+JkEH58S/4oY8uXpFC523s+t6CzVn7tgVGvV
ed6LcFeon6MUeEvNqpYow9ku/MbzPn+dOrasS9yEzI7ROoIpuHgdXd2s/Y7ukC4Z
gvVv4SGO3j1TeBO2pfUV6uXRjwKBgQC3964lPEUpot1L7R62fXTyJ+7wfoGibIps
jRcqV+EeZJt9LzBtthrMGqYOINfGWXVThjjfMX2H5Ig1CuUE5t2TLgW0jPWuE0/x
09KM77dclr9PVA3OKPNZoA1NTq/kVUJQeA9+vYfzitY5XR28Ak0qav6rQHjZ37Yi
jy5ARa5uwwKBgB79AZYm+U25X7EYSVhOCe9WNIWEzzf7FJ19d8ziVcuISRkxFGsp
1GdZnvb3Zwd5RSC3prkEcKfiGWjF75Me29cwFJKkxJegVheqiZOYz2QW9CicoLXh
nao6qEDL3nR0blME55kPmPlPBFQ0Yl4EDXJ2hiHSXS7Yd4IhR0A3jdNlAoGBAIcs
C978K+1t56BUOE7qW7VaNiyrJ2FK02LzQGQycgy866rNs43JUmNJ6V1UMHdjX9vh
MYR9frkM6C/hM2mooIH2PObu883WDtWnSHuZ32a+tQ76ubITUMs32M5G1OK26qTp
sqjzZiNCjilUC/cK0dwrBbibBLFBuTgncFp1WLe1AoGActRr0ocNGwchOLFcTwJ2
hTVHlK0F7eoOgt+hBb7lPSW3jRJFxmJq65BUPTnYU2j+o34kHQnIt1reb5s5Lstu
e2h4xLO4vE8WMDp1WYwV6BgcEsVkbxAX5J/hsDzRPnGq49oVEz1uIup7uGZq9Bgr
xJ0fTr/SVy7uXF3T+zLZlAk=
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCwT1VIXE1wRIdk
HbpR1jAjI2o9Jfbrj5el9j9hDfMO1Jy75wM3tyf6ECDCsUdQOa+TrMzP7ihPK+6y
nlm3rngLXi9rEV1iJiq+FhrxiUvZV8gtH0g9WpfpPr05Gv2PRM+iZimOyeFHMpj6
vScyvC9B4fnIEj+Y7TBE/jZ8OGNrKO0d9+93FJsRaGJH58pDeonVt/Btez88qu93
oM1vNlXiBS/g88t+H7WjMvAtuwgm6AKmaVLwde5P7LTWLANKdhbqUd62dqVfPE+X
FA0UpHywz1praOe6rvtJK58kK5TUrRzzLLrAbyNTAmUX3CWYzIXUZ/3IZSyzQVUm
Qe6sf7S9AgMBAAECggEAGH1oj/TMR+Io+Unc0dXB2Xunm+dMWVOYgbPHAXT11FNJ
kxsnWgOdsLExT8HesUDWB9n6mA5ReI/WZ+axeR9pqtCSHxnqIgJBsSYyZ2cGC2JT
WpssBmOxUrOFhqteWZp6CemNb7lQirp3P+rqyTQVD15zeuw3+8bEi+zQxifx/VYW
n/WqOvEP5ok+H/xNob3JuZxOI0yy9N/q1+ePC71dYWeXRy/0SNT1uCRQguRzHMlV
EMmY4EUx/XHOQbwYCr/SX3g0swAX9JLR2nTifsSA4IQR6jxzfFMyLWz+gybRyUFz
wWTAEaK3Om3Jmqk5eykoTpxGwUatcaZooQIEkjkx0QKBgQDgV8acx+n94fw9GhZg
nFanwgb11gyIcmrsPCZ331k1hW6gLiG218GZhxnlxsV2fJmJ3exu299EGOG1tYy8
B9OprtH9n/YQCAS+FhwOw4tsHqYvSY1v3j7N2bB9Tn87fSEuRqf5wo4nqMeKZTiu
j7laRMx6fy0T6BxjFwcNd50psQKBgQDJMGaQ+mXvNPHBKEQXF840MgxIkDlL488u
hhvhpkPsH/VR2AFVSXBvz78BGiN4gO8Qzm5Y7F2Dl8CsBruzpW4m3Qk+GiD4bFmT
pbed7MmTBwz4pRzWkxzKB0cbyMxVELqp19GpPS/nXSz33JDi8vs2FcY70eg7UWNT
cp2MyPzyzQKBgEuBH0Za/kTFTyidZBSl6YBSjBcnMFan85aIdAX6NMMPonjkrdIk
8XKjhrLP4FuNefttpop1E8KOgUCv1qreE33Tabdro9wnZrk3JcBOTdlYw2O85I5X
BVowvvadebLi3Uz+2L/1m/R7GJValeYiVyarawp7TQebIhqzgFsm+80xAoGBAJgb
tOAVwK26/LDKDbjb8bX6xNiz2e3rnb+R+1B+UUob23D2fAOMU6rliYZ+yaSY7qZp
PHqUshsEx9IIAS/Qelh9szg1rwnDeXIsz4dh+ADmSsNOql/8t75zBCsYhIwn6sjw
d/6ZWTd2dcIsC4rapF1+1vJxQEBgx1TXChDgAIZdAoGBAI0eZrv1hIP51XUmgmo9
SmCBSKJmfGbZJR7HklS2Lg4pgT4/nVUEfNhqi4aq6ZBKWPrfVTUiJaPeevcX3W9z
azGtD8f87HfdngFguYQ7g9hjTKJeG28IFwDrE4DB/ABBPO0330PlET+DHZQN4J0Q
koVjW68iPZiEouw5w5kcw4Cy
-----END PRIVATE KEY-----
32 changes: 17 additions & 15 deletions libs/backend-apisix/e2e/assets/apisix_conf/mtls/client.cer
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
-----BEGIN CERTIFICATE-----
MIICqzCCAZMCFGtUTWJsSz7Li0uWX+lN/rHcDmg4MA0GCSqGSIb3DQEBCwUAMBEx
DzANBgNVBAMMBlJPT1RDQTAgFw0yNDA2MDYwNzExMzhaGA8yMTI0MDUxMzA3MTEz
OFowETEPMA0GA1UEAwwGQ0xJRU5UMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAtRnzgCX/VsqbTqbDuVlzq2E30O01lzBMUpT6JAOao8nDs0euovUNh2QM
6CdElhNjeF3yWtVHgl4kAWRMbvdr9LarqiiVvHk6B5eO+tIhT8Nw7fuTbjpAtzjk
5Zk4yMjiy4voNzLKY6LuhCO2KtSF7Uo6krBb8RtSgW1kElkYrqBoX6q8Z0PmH+5w
jyjRpsOFVGYDVfIjiJyy0dAu1ifwSFvfgvikGLzkFg+QnUTtiGZ6jDSqHBgN+U4B
WDkIClzHlT3jJKZW/KSDMc68q8NTNTN2gKDU5Lo0wvQpNtmczEFVRImn6KXFn0fP
Ok4AI+NmSWwtAfs+2dm3gl/lHUoakQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQB/
RgRCBM21IqfhyCmIf0E0KzTAuRFSo4wgk0MTXddl0w8XDOdLAP4T1IXwPYKkwAtA
6pEhNpYep6kAy32k8NcbirlLp/URzwI7C8Z8+3l1xyl8GV0ivDfE1WPVWk9uwDwn
qJfuqi+BZF+9P0wtzCvov5bXlbaK0Gf65S12dKKw5GRERFU52YcQXUexd+Gnrr9x
Xgoa7qJ+7MzVB8QBx7Jsdbks7fFa371S/450cp4vYTYVF0MAOPOxzXg1BBtp8I+/
TryUg/G/u/7dnals+GmucCgJ4AqNFLqOPsVwpZBXErdqJBDgxFSRQUGJ1DRHR9lP
8cx9TgbbU7wYLWP+rjbL
MIIDJDCCAgygAwIBAgIUKwrGWAbV3/Ek5PATGrGnqOmwspkwDQYJKoZIhvcNAQEL
BQAwETEPMA0GA1UEAwwGUk9PVENBMCAXDTI2MDgwMTIwMTcwNFoYDzIxMjYwNzA4
MjAxNzA0WjARMQ8wDQYDVQQDDAZDTElFTlQwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQCjBj/zeUj6W5wOPod9Lf4SqiUELXUBd1lwpC+MCNUqoc0oosy1
jgP0IhjQtzLRJmw1uK2BNvjH0VZY5sXWNFJYyeTs/8s1/5Akq/77ZT0F82bVHDrL
oq8iLSOSGzUQYqtBq7E67LeBkCnkp40A86v7EAbS5lFaK8GZTU/Cs/SatEPe5XdV
7fsgllawZD32YqWalN64Av56TKu2GPMCPXAsI9LLt9VxabZt8dW6vMdEfs9bwoAS
eMTbbKZNZUzO1s3atkJuyxjvvJf7MyV4LHgYmbnJUarV1vlhxzPNCLgINXtOVCDC
gP7rTYgXqMO0yRnoWh7i2VhvsJovAotSSMOrAgMBAAGjcjBwMAwGA1UdEwEB/wQC
MAAwCwYDVR0PBAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMCMB0GA1UdDgQWBBQh
hX+uw/G4bsqh1jtDjh0dIz0rKjAfBgNVHSMEGDAWgBSipEuDXSP6nxr4THoHpAHV
fnBimTANBgkqhkiG9w0BAQsFAAOCAQEAqKkIiaTFPcwqHO73R7DVj0M4PxZ7+SLq
OemJmP+Gdc5oQtf4v9IlakN2z4v9lAAD6Bx54MOQNIuailGXyxgmI08yiFBdiLak
ocw5KTbi97YbeDZ9dXxPFJiGdJdyf1rk5RG3GHczmgGXa4ifU92LHR+aewoOILuB
TuoYPCbD8LOgNm6MI4j1P+P8IDH3BMCeQ4jsP3Rejkao21i6hvnhE+GlqbMB5sZB
K92Gyu1QIxUyQvA5cW99YH2EgA+wFOzcOaU05MOOHtJJIuoSLaEUaTbV+xM/NU0/
xN0OsZoOtQXh1y/n99u1RtQnQRic6+ZyA3STquC8SQ16dNOJFnPhHA==
-----END CERTIFICATE-----
24 changes: 12 additions & 12 deletions libs/backend-apisix/e2e/assets/apisix_conf/mtls/client.csr
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICVjCCAT4CAQAwETEPMA0GA1UEAwwGQ0xJRU5UMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEAtRnzgCX/VsqbTqbDuVlzq2E30O01lzBMUpT6JAOao8nD
s0euovUNh2QM6CdElhNjeF3yWtVHgl4kAWRMbvdr9LarqiiVvHk6B5eO+tIhT8Nw
7fuTbjpAtzjk5Zk4yMjiy4voNzLKY6LuhCO2KtSF7Uo6krBb8RtSgW1kElkYrqBo
X6q8Z0PmH+5wjyjRpsOFVGYDVfIjiJyy0dAu1ifwSFvfgvikGLzkFg+QnUTtiGZ6
jDSqHBgN+U4BWDkIClzHlT3jJKZW/KSDMc68q8NTNTN2gKDU5Lo0wvQpNtmczEFV
RImn6KXFn0fPOk4AI+NmSWwtAfs+2dm3gl/lHUoakQIDAQABoAAwDQYJKoZIhvcN
AQELBQADggEBAFWS8ymjbYN2dQU4KwlCvXwVqWgCLhP8T9TsUQwigmmbeX9ylv+j
Y8UkTitNmOSI+KxSFHP85rRS28pWDUU7FERljUxQSZcBZX6Ibgj9VaVZnIX6sGi+
rzIWuaZEe5303MiGjxzlFdISfIGJP1zdsmpSg94EvuMLT7Wx329wU9XpY8/QXzZx
pDvsNlpEXkRErTjuxJrP8izdCM59ANXQ8FO5ADQOrtOcJzg3T9CN4deQ6erSF5lV
8NBcxPJM91pdXCwwWZsANMr1Hzb5nJYI25e5vn1DiFunrhtUDI6OCuz+TAkDwqID
W/37OxZ9SO22kDKP4KN7Lgax1i+Wym2t3P8=
AAOCAQ8AMIIBCgKCAQEAowY/83lI+lucDj6HfS3+EqolBC11AXdZcKQvjAjVKqHN
KKLMtY4D9CIY0Lcy0SZsNbitgTb4x9FWWObF1jRSWMnk7P/LNf+QJKv++2U9BfNm
1Rw6y6KvIi0jkhs1EGKrQauxOuy3gZAp5KeNAPOr+xAG0uZRWivBmU1PwrP0mrRD
3uV3Ve37IJZWsGQ99mKlmpTeuAL+ekyrthjzAj1wLCPSy7fVcWm2bfHVurzHRH7P
W8KAEnjE22ymTWVMztbN2rZCbssY77yX+zMleCx4GJm5yVGq1db5YcczzQi4CDV7
TlQgwoD+602IF6jDtMkZ6Foe4tlYb7CaLwKLUkjDqwIDAQABoAAwDQYJKoZIhvcN
AQELBQADggEBADu9fRsjFYfCO37Br0bJCKWXTPg3oyW1tRJqxjDqsAZrVEOyUSi7
/S9+IEUfXp14l1LbKQukiScD/nWIayMO3cZnPe1247tnDIrDLfnolmLy/h1fDAVi
rDQn8FuaYMAghYpBgf/uth6Tn8ACREi3ij7mUs2zoLhTYtbAUe6YbUiFvLnTBFtW
ADV8V6d2j1D8KcpTtQCyEmo26BUVdisD5iV1zaTNWMM/iIr1l3AA8u4Le7MnC/5w
2TENR0adLoR96BFp+/b0nwzSCnUUMGx12yzpnRwwD3BVTMTbMrWxGadI9kgDjy2t
prreJGjBeAB5aUrDTdTUTHl1t0ZQa/nmlCE=
-----END CERTIFICATE REQUEST-----
52 changes: 26 additions & 26 deletions libs/backend-apisix/e2e/assets/apisix_conf/mtls/client.key
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC1GfOAJf9WyptO
psO5WXOrYTfQ7TWXMExSlPokA5qjycOzR66i9Q2HZAzoJ0SWE2N4XfJa1UeCXiQB
ZExu92v0tquqKJW8eToHl4760iFPw3Dt+5NuOkC3OOTlmTjIyOLLi+g3Mspjou6E
I7Yq1IXtSjqSsFvxG1KBbWQSWRiuoGhfqrxnQ+Yf7nCPKNGmw4VUZgNV8iOInLLR
0C7WJ/BIW9+C+KQYvOQWD5CdRO2IZnqMNKocGA35TgFYOQgKXMeVPeMkplb8pIMx
zryrw1M1M3aAoNTkujTC9Ck22ZzMQVVEiafopcWfR886TgAj42ZJbC0B+z7Z2beC
X+UdShqRAgMBAAECggEABPODboC7cSRDaDxTdA0PxkL3a3Ecyrghkg1sJFFr6Cfz
P4LJcb+Y4dd4qd0u+RppGQiagGS92oDX46jaFRuTGkLnQRTweRFoZn48hLt7eSqK
+xqqbnRNwiSeT2+nt4eUecOmsuGi2mQBOOAgEh4y1ii2Hr4PGXGpiQvUVVMVw2pn
8ult6mu701EiuvoG4nQ+tHwa0d4x6oY+PHx6CNIcw9wbAwG1NJRVzjU6Nr3LZ2GT
IjfkRbf/VNey/gnQ3lQkAZL1BUMOYoPwyUwtyRfX9Q4YDEV67hj6eQ3k4S9eQdVA
F6dkD+U7J4VPNer1G0EIQgLFuxl6MWpW0IebilpIxQKBgQDCxw2aKKq5s0xS6QEt
gO1ixl6YWFfSkNvPn5Q5M3kVSR7PYdTnELyJHjcBlVN0hZQSOitcj+PLyru0loXf
L7y8Dvbk6WLUBObfGK5Ya1Mkz20luv2TCjV/VhC23uFqGWruFakJTaqsXBta1xQb
hV1pmET2S23v3VRChdyTKIo9TQKBgQDuBm6m5D4ydCPOQ8hu9usmoTOhbkJe3fD/
9AQ8CAiIxnagBr9WQvfVuqd0tdvy7ncJFjPz+9LzusPm2fHlXBIMfnXFlc0UzJ3q
N34ttIsI8UltHdw8hTK5EGUCh/DZHyMjgj+jPmPteGaJbfQhPYaXtR0bOkFBkkB8
ZiVeUhLAVQKBgQCJYb7tWfu5SYbu/9vNzZ8iSUqVZ9Jh+bygwCza/7xK0C1EFvwF
Ep/4kvA3VKzthf4/sPm+qtsAdflZUcYQ+unDN0bbhOYpJ1/0QcNPKDwXvZp9v1t1
qAC91OWrJp+Vp2HtlieJIVfdhIXi18sd8j5F6ZnSordjNRhmZ2aCAVkoDQKBgH4E
R8bx5f/+PwqwFkixT3PnOpeH8XmaVUKdZTSHKEWJlTpJ+DjqQZ4VMRz4P1eRatIT
wDO3KktBoP/yeT/uC9wzg5S1J5uQbTaYZKQ8BrQYUsCDY5tjBaS3ClNZt2isNIVT
Ku/5Uxxhdx/hZ7PFiCF/kMZehDf7/0odJkGWgDj1AoGBAIya8y+vrRJk0XeSlpFv
99tPPg9hQJThsc3JM+1XBXT0XkbiJAR4lKihuiJBm+CpsbAkLqfnz/EdE3YYC3UH
XYxu11VjQnEN1uhXMCqB35LHmnRHuiFxOaes/w889CGF2Ns4mvsLOq48QER0f3jH
1+Q6NOuao6xu5N9jypPt3ZIR
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCjBj/zeUj6W5wO
Pod9Lf4SqiUELXUBd1lwpC+MCNUqoc0oosy1jgP0IhjQtzLRJmw1uK2BNvjH0VZY
5sXWNFJYyeTs/8s1/5Akq/77ZT0F82bVHDrLoq8iLSOSGzUQYqtBq7E67LeBkCnk
p40A86v7EAbS5lFaK8GZTU/Cs/SatEPe5XdV7fsgllawZD32YqWalN64Av56TKu2
GPMCPXAsI9LLt9VxabZt8dW6vMdEfs9bwoASeMTbbKZNZUzO1s3atkJuyxjvvJf7
MyV4LHgYmbnJUarV1vlhxzPNCLgINXtOVCDCgP7rTYgXqMO0yRnoWh7i2VhvsJov
AotSSMOrAgMBAAECggEAS+RD7yc+FvaArozjbB32EmBMvSYgOx+BbpOwYsNV4PPT
2x/2pmpHYuZgoQE30e/OHjAr7WRW6kaEqPw9ixtuXlEWllH6GtgvFTNQj12wy81k
yL7MjDHez80tqv2pdUhJq1evONwsDU+8gOqTFKdbH5R1aMa5hn2qMaCxCdXWgBG+
AZR1WONuK0pMCoCXG5pSnYE/xDtyh+jYMjmMY9k7oPTvMeGuXvj2GG/2JiBDj1S4
WvAvvToH+IP92Vchnjp62f5mnJ713ZZSzbocInorl99+F1CrLvqP9aue3zs/Cykl
ysk0WbB/hqyXDFEX1LJeWmgx71X0L6ij5wYcSEidkQKBgQDhz+TV0C8ypJ6Vo7FN
2pMAplaK7xeBUEsBzGwcbw661+QhxqK3SpfxGfUrdLhNwZmHllF4MTgi4c4S3jGs
SU0SU3BVDEwdoJPxL/aHVMlVcndy+50AannRKQ0TzBnzPXYeGfMXCW8R/KYGsegL
WhBtfGGiN8S3DEnc1tBBlpkkswKBgQC40YjkeJcPUJL+Gp1CScPLYtq1G41lBTEy
md7tVhdLI8tsy2D8nahraDm6y2nh0qQaGiKpb6QFpZNpsebRBLXvezaVYU7fR17S
AcdfNZ5GN8iYHzv/2cyulY0riLkDjZE/as+wQmOzusWhoMHEjFgIyplwjBohaZqM
lDvTc2YRKQKBgQDUWoxJomjwSC02beTsYRODNeoG58eD/T08aMB2kN4aSbKpLMKS
ehyfSJjuD+rOfLTj9DGTRT4UV6NSzQ+LhLds93iZEmJ2Li9STpeZNtvLdkTspcBE
xtzeHKvGpVb2DyOINUEMtft0v9JmU2HzYvQ18hVi1u0wcub3PjBErdpAzwKBgDuX
9NgWuj7J8FvXIRYayvNt8K+tLq6AOhji3KsSs3gbFqECA0fxXjkj5lmA9adHUHrK
KpsP0IexmBLgtlh3eGK8DCGmutPsI3r779mXZG2n1xqWF7ar9//jYR3EfEPVBhy4
yDdBcPynIMq5F0HVLx3GlitgQZy8fIUP1yqbbzHhAoGASF+v0KBEt0q34lshYWNy
X7ailP+GNP0SpRai0BeNKAiVyFbAyW+wRHmglMxmrm1jDBe1blLVHTPBRSn15y9u
nHYEaz8NUKW+tkuFFkXUa8t5PcW7HHPTgauH4UDqU36vVKiKL6YoJxgVhonV60IE
79xgBYQYZRlM7o3dU/CB+bs=
-----END PRIVATE KEY-----
Original file line number Diff line number Diff line change
@@ -1,18 +1,33 @@
#!/bin/bash
set -e

# Uses `-addext` (OpenSSL 1.1.1+) to set v3 extensions inline instead of
# `-extensions v3_ca`/`v3_req`, which only work if the system's default
# openssl.cnf happens to define matching [v3_ca]/[v3_req] sections — it
# often doesn't, silently producing a v1 certificate with no extensions at
# all. rustls's webpki validator (used by the Rust e2e suite's HTTP client)
# rejects v1 trust anchors outright, unlike Node's OpenSSL-backed TLS stack
# which accepts them; -addext keeps this reproducible regardless of the
# host's config.

# For ROOT CA
openssl genrsa -out ca.key 2048
openssl req -new -sha256 -key ca.key -out ca.csr -subj "/CN=ROOTCA"
openssl x509 -req -days 36500 -sha256 -extensions v3_ca -signkey ca.key -in ca.csr -out ca.cer
openssl req -x509 -newkey rsa:2048 -nodes -sha256 -days 36500 \
-keyout ca.key -out ca.cer -subj "/CN=ROOTCA" \
-addext "basicConstraints=critical,CA:TRUE" \
-addext "keyUsage=critical,keyCertSign,cRLSign"

# For server certificate
openssl genrsa -out server.key 2048
openssl req -new -sha256 -key server.key -out server.csr -subj "/CN=localhost"
openssl x509 -req -days 36500 -sha256 -extensions v3_req -CA ca.cer -CAkey ca.key -CAserial ca.srl -CAcreateserial -in server.csr -out server.cer
openssl x509 -req -sha256 -days 36500 -in server.csr -CA ca.cer -CAkey ca.key -CAserial ca.srl -CAcreateserial \
-out server.cer \
-extfile <(printf "basicConstraints=critical,CA:FALSE\nkeyUsage=digitalSignature,keyEncipherment\nextendedKeyUsage=serverAuth\nsubjectAltName=DNS:localhost")

# For client certificate
openssl genrsa -out client.key 2048
openssl req -new -sha256 -key client.key -out client.csr -subj "/CN=CLIENT"
openssl x509 -req -days 36500 -sha256 -extensions v3_req -CA ca.cer -CAkey ca.key -CAserial ca.srl -CAcreateserial -in client.csr -out client.cer
openssl req -new -sha256 -key client.key -out client.csr -subj "/CN=CLIENT"
openssl x509 -req -sha256 -days 36500 -in client.csr -CA ca.cer -CAkey ca.key -CAserial ca.srl -CAcreateserial \
-out client.cer \
-extfile <(printf "basicConstraints=critical,CA:FALSE\nkeyUsage=digitalSignature,keyEncipherment\nextendedKeyUsage=clientAuth")

chmod -R 777 .
Loading