Skip to content

Commit 31c1018

Browse files
Merge pull request #12845 from rabbitmq/fix-selenium-issues-on-v4.0.x
Fix selenium issues on v4.0.x
2 parents 3da59e0 + a64f245 commit 31c1018

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+271
-175
lines changed

selenium/.gitignore

+7
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,10 @@ suites/screens/*
77
test/oauth/*/h2/*.trace.db
88
test/oauth/*/h2/*.lock.db
99
*/target/*
10+
tls-gen
11+
test/*/certs/*.pem
12+
test/*/certs/*.p12
13+
test/*/certs/*.jks
14+
test/*/*/*.pem
15+
test/*/*/*.p12
16+
test/*/*/*.jks

selenium/bin/components/devkeycloak

+4-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ init_devkeycloak() {
99
print "> DEVKEYCLOAK_CONFIG_DIR: ${DEVKEYCLOAK_CONFIG_DIR}"
1010
print "> DEVKEYCLOAK_URL: ${DEVKEYCLOAK_URL}"
1111
print "> DEVKEYCLOAK_DOCKER_IMAGE: ${KEYCLOAK_DOCKER_IMAGE}"
12+
13+
generate-ca-server-client-kpi devkeycloak $DEVKEYCLOAK_CONFIG_DIR
14+
1215
}
1316
ensure_devkeycloak() {
1417
if docker ps | grep devkeycloak &> /dev/null; then
@@ -45,7 +48,7 @@ start_devkeycloak() {
4548
--https-certificate-key-file=/opt/keycloak/data/import/server_devkeycloak_key.pem \
4649
--hostname=devkeycloak --hostname-admin=devkeycloak --https-port=8442
4750

48-
wait_for_oidc_endpoint devkeycloak $DEVKEYCLOAK_URL $MOUNT_DEVKEYCLOAK_CONF_DIR/ca_certificate.pem
51+
wait_for_oidc_endpoint devkeycloak $DEVKEYCLOAK_URL $MOUNT_DEVKEYCLOAK_CONF_DIR/ca_devkeycloak_certificate.pem
4952
end "devkeycloak is ready"
5053
print " Note: If you modify devkeycloak configuration, make sure to run the following command to export the configuration."
5154
print " docker exec -it devkeycloak /opt/keycloak/bin/kc.sh export --users realm_file --realm test --dir /opt/keycloak/data/import/"

selenium/bin/components/keycloak

+4-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ init_keycloak() {
1717
print "> KEYCLOAK_CONFIG_DIR: ${KEYCLOAK_CONFIG_DIR}"
1818
print "> KEYCLOAK_URL: ${KEYCLOAK_URL}"
1919
print "> KEYCLOAK_DOCKER_IMAGE: ${KEYCLOAK_DOCKER_IMAGE}"
20+
21+
generate-ca-server-client-kpi keycloak $KEYCLOAK_CONFIG_DIR
22+
2023
}
2124
start_keycloak() {
2225
begin "Starting keycloak ..."
@@ -44,7 +47,7 @@ start_keycloak() {
4447
--https-certificate-file=/opt/keycloak/data/import/server_keycloak_certificate.pem \
4548
--https-certificate-key-file=/opt/keycloak/data/import/server_keycloak_key.pem
4649

47-
wait_for_oidc_endpoint keycloak $KEYCLOAK_URL $MOUNT_KEYCLOAK_CONF_DIR/ca_certificate.pem
50+
wait_for_oidc_endpoint keycloak $KEYCLOAK_URL $MOUNT_KEYCLOAK_CONF_DIR/ca_keycloak_certificate.pem
4851
end "Keycloak is ready"
4952

5053
print " Note: If you modify keycloak configuration. Make sure to run the following command to export the configuration."

selenium/bin/components/prodkeycloak

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ init_prodkeycloak() {
1616
print "> PRODKEYCLOAK_CONFIG_DIR: ${PRODKEYCLOAK_CONFIG_DIR}"
1717
print "> PRODKEYCLOAK_URL: ${PRODKEYCLOAK_URL}"
1818
print "> KEYCLOAK_DOCKER_IMAGE: ${KEYCLOAK_DOCKER_IMAGE}"
19+
20+
generate-ca-server-client-kpi prodkeycloak $PRODKEYCLOAK_CONFIG_DIR
1921
}
2022
start_prodkeycloak() {
2123
begin "Starting prodkeycloak ..."
@@ -44,7 +46,7 @@ start_prodkeycloak() {
4446
--https-certificate-key-file=/opt/keycloak/data/import/server_prodkeycloak_key.pem \
4547
--hostname=prodkeycloak --hostname-admin=prodkeycloak --https-port=8443
4648

47-
wait_for_oidc_endpoint prodkeycloak $PRODKEYCLOAK_URL $MOUNT_PRODKEYCLOAK_CONF_DIR/ca_certificate.pem
49+
wait_for_oidc_endpoint prodkeycloak $PRODKEYCLOAK_URL $MOUNT_PRODKEYCLOAK_CONF_DIR/ca_prodkeycloak_certificate.pem
4850
end "prodkeycloak is ready"
4951
print " Note: If you modify prodkeycloak configuration, make sure to run the following command to export the configuration."
5052
print " docker exec -it prodkeycloak /opt/keycloak/bin/kc.sh export --users realm_file --realm test --dir /opt/keycloak/data/import/"

selenium/bin/components/rabbitmq

+7
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,13 @@ init_rabbitmq() {
1010
[[ -z "${OAUTH_SERVER_CONFIG_BASEDIR}" ]] || print "> OAUTH_SERVER_CONFIG_BASEDIR: ${OAUTH_SERVER_CONFIG_BASEDIR}"
1111
[[ -z "${OAUTH_SERVER_CONFIG_DIR}" ]] || print "> OAUTH_SERVER_CONFIG_DIR: ${OAUTH_SERVER_CONFIG_DIR}"
1212

13+
if [[ ! -d "${RABBITMQ_CONFIG_DIR}/certs" ]]; then
14+
mkdir ${RABBITMQ_CONFIG_DIR}/certs
15+
fi
16+
generate-ca-server-client-kpi rabbitmq $RABBITMQ_CONFIG_DIR/certs
17+
generate-server-keystore-if-required rabbitmq $RABBITMQ_CONFIG_DIR/certs
18+
generate-client-keystore-if-required rabbitmq $RABBITMQ_CONFIG_DIR/certs
19+
generate-truststore-if-required rabbitmq $RABBITMQ_CONFIG_DIR/certs
1320
}
1421

1522
start_rabbitmq() {

selenium/bin/components/uaa

+3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ init_uaa() {
1616
print "> UAA_CONFIG_DIR: ${UAA_CONFIG_DIR}"
1717
print "> UAA_URL: ${UAA_URL}"
1818
print "> UAA_DOCKER_IMAGE: ${UAA_DOCKER_IMAGE}"
19+
20+
generate-ca-server-client-kpi uaa $UAA_CONFIG_DIR
21+
generate-server-keystore-if-required uaa $UAA_CONFIG_DIR
1922
}
2023
start_uaa() {
2124
begin "Starting UAA ..."

selenium/bin/suite_template

+96-3
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,99 @@ generate_env_file() {
375375
source $ENV_FILE
376376
end "Finished generating env file."
377377
}
378+
generate-ca-server-client-kpi() {
379+
NAME=$1
380+
FOLDER=$2
381+
if [[ ! -f "${FOLDER}/server_${NAME}_key.pem" ]]; then
382+
do_generate-ca-server-client-kpi $1 $2
383+
fi
384+
}
385+
do_generate-ca-server-client-kpi() {
386+
NAME=$1
387+
FOLDER=$2
388+
ROOT=$SELENIUM_ROOT_FOLDER
389+
390+
begin "Generate certs for $NAME"
391+
392+
if [ ! -d "$ROOT/tls-gen" ]; then
393+
git clone https://github.com/michaelklishin/tls-gen $ROOT/tls-gen
394+
fi
395+
396+
print "Generating CA and Server (localhost and $NAME) PKI under $FOLDER ..."
397+
mkdir -p $FOLDER
398+
399+
CUR_DIR=$(pwd)
400+
cd $ROOT/tls-gen/basic
401+
cp openssl.cnf openssl.cnf.bak
402+
if [ -f "$FOLDER/openssl.cnf.in" ]; then
403+
cp $FOLDER/openssl.cnf.in >> openssl.cnf
404+
fi
405+
if [[ ! -z "${DEBUG}" ]]; then
406+
print "Used this openssl.conf"
407+
cat openssl.cnf
408+
fi
409+
make CN=$NAME CLIENT_ALT_NAME=internaluser
410+
cp openssl.cnf.bak openssl.cnf
411+
cd $CUR_DIR
412+
413+
cp $ROOT/tls-gen/basic/result/ca_certificate.pem $FOLDER/ca_${NAME}_certificate.pem
414+
cp $ROOT/tls-gen/basic/result/server_${NAME}_certificate.pem $FOLDER
415+
cp $ROOT/tls-gen/basic/result/server_${NAME}_key.pem $FOLDER
416+
cp $ROOT/tls-gen/basic/result/server_${NAME}.p12 $FOLDER
417+
cp $ROOT/tls-gen/basic/result/client_${NAME}_certificate.pem $FOLDER
418+
cp $ROOT/tls-gen/basic/result/client_${NAME}_key.pem $FOLDER
419+
cp $ROOT/tls-gen/basic/result/client_${NAME}.p12 $FOLDER
420+
chmod ugo+r $FOLDER/*.pem
421+
end "SSL Certificates generated for $NAME under $FOLDER"
422+
}
423+
generate-truststore-if-required() {
424+
NAME=$1
425+
FOLDER=$2
426+
if [[ ! -f "${FOLDER}/truststore.jks" ]]; then
427+
keytool -import \
428+
-trustcacerts \
429+
-file ${FOLDER}/ca_${NAME}_certificate.pem \
430+
-keystore ${FOLDER}/truststore.jks \
431+
-storepass foobar \
432+
-noprompt
433+
fi
434+
}
435+
generate-server-keystore-if-required() {
436+
NAME=$1
437+
FOLDER=$2
438+
if [ ! -f "${FOLDER}/server_${NAME}.jks" ]; then
439+
keytool -importkeystore \
440+
-destkeystore ${FOLDER}/server_${NAME}.jks \
441+
-srckeystore ${FOLDER}/server_${NAME}.p12 \
442+
-deststoretype pkcs12 \
443+
-srcstoretype pkcs12 \
444+
-alias 1 \
445+
-destalias server-${NAME}-tls \
446+
-deststorepass foobar \
447+
-destkeypass foobar \
448+
-srcstorepass "" \
449+
-srckeypass "" \
450+
-noprompt
451+
fi
452+
}
453+
generate-client-keystore-if-required() {
454+
NAME=$1
455+
FOLDER=$2
456+
if [ ! -f "${FOLDER}/client_${NAME}.jks" ]; then
457+
keytool -importkeystore \
458+
-destkeystore ${FOLDER}/client_${NAME}.jks \
459+
-srckeystore ${FOLDER}/client_${NAME}.p12 \
460+
-deststoretype pkcs12 \
461+
-srcstoretype pkcs12 \
462+
-alias 1 \
463+
-destalias client-${NAME}-tls \
464+
-deststorepass foobar \
465+
-destkeypass foobar \
466+
-srcstorepass "" \
467+
-srckeypass "" \
468+
-noprompt
469+
fi
470+
}
378471
run() {
379472
runWith rabbitmq
380473
}
@@ -420,13 +513,13 @@ elif [[ "$COMMAND" == "stop-rabbitmq" ]]
420513
fi
421514
}
422515
determine_required_components_including_rabbitmq() {
423-
if [[ "$@" != *"rabbitmq"* ]]; then
424-
REQUIRED_COMPONENTS+=("rabbitmq")
425-
fi
426516
for (( i=1; i<=$#; i++)) {
427517
eval val='$'$i
428518
REQUIRED_COMPONENTS+=( "$val" )
429519
}
520+
if [[ "$@" != *"rabbitmq"* ]]; then
521+
REQUIRED_COMPONENTS+=("rabbitmq")
522+
fi
430523
}
431524
determine_required_components_excluding_rabbitmq() {
432525
for (( i=1; i<=$#; i++)) {

selenium/full-suite-management-ui

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
authnz-mgt/basic-auth-behind-proxy.sh
22
authnz-mgt/basic-auth.sh
33
authnz-mgt/basic-auth-with-mgt-prefix.sh
4-
authnz-mgt/multi-oauth-with-basic-auth-when-idps-down.sh
54
authnz-mgt/multi-oauth-with-basic-auth.sh
65
authnz-mgt/multi-oauth-without-basic-auth-and-resource-label-and-scopes.sh
76
authnz-mgt/multi-oauth-without-basic-auth.sh
7+
authnz-mgt/multi-oauth-with-basic-auth-when-idps-down.sh
88
authnz-mgt/oauth-and-basic-auth.sh
99
authnz-mgt/oauth-idp-initiated-with-uaa-and-prefix-via-proxy.sh
1010
authnz-mgt/oauth-idp-initiated-with-uaa-and-prefix.sh

selenium/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"mqtt": "^5.3.3",
2121
"path": "^0.12.7",
2222
"proxy": "^1.0.2",
23+
"rhea": "^3.0.3",
2324
"selenium-webdriver": "^4.19.0",
2425
"xmlhttprequest": "^1.8.0"
2526
},

selenium/run-suites.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ do
3030
fi
3131
echo -e "=== $TEST_STATUS $SUITE ==========================================="
3232
echo " "
33-
done <<< "$(cat $SCRIPT/$SUITE_FILE | sort)"
33+
done <<< "$(cat $SCRIPT/$SUITE_FILE)"
3434

3535
echo -e "=== Summary (${TOTAL_SUITES}/${GREEN}${#SUCCESSFUL_SUITES[@]}/${RED}${#FAILED_SUITES[@]}${NC}) ============================================"
3636
if [ ${#SUCCESSFUL_SUITES[@]} -gt 0 ]; then echo -e " > ${GREEN}Successful suites ${NC}"; fi

selenium/suites/authnz-mgt/basic-auth-behind-proxy.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ TEST_CASES_PATH=/basic-auth
66
PROFILES="proxy"
77

88
source $SCRIPT/../../bin/suite_template
9-
runWith proxy
9+
runWith rabbitmq proxy

selenium/suites/authnz-mgt/oauth-idp-initiated-with-uaa-and-prefix-via-proxy.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ TEST_CONFIG_PATH=/oauth
77
PROFILES="uaa fakeportal fakeproxy fakeportal-mgt-oauth-provider idp-initiated mgt-prefix uaa-oauth-provider"
88

99
source $SCRIPT/../../bin/suite_template $@
10-
runWith uaa fakeportal fakeproxy
10+
runWith rabbitmq uaa fakeportal fakeproxy

selenium/suites/authnz-mgt/oauth-idp-initiated-with-uaa-via-proxy.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ TEST_CONFIG_PATH=/oauth
77
PROFILES="uaa fakeportal fakeproxy fakeportal-mgt-oauth-provider idp-initiated uaa-oauth-provider"
88

99
source $SCRIPT/../../bin/suite_template $@
10-
runWith uaa fakeportal fakeproxy
10+
runWith rabbitmq uaa fakeportal fakeproxy

selenium/test/amqp.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ module.exports = {
4242
})
4343
let connection = container.connect(getConnectionOptions())
4444
let receiver = connection.open_receiver({
45-
source: 'examples',
45+
source: 'my-queue',
4646
target: 'receiver-target',
4747
name: 'receiver-link'
4848
})
4949
let sender = connection.open_sender({
50-
target: 'examples',
50+
target: 'my-queue',
5151
source: 'sender-source',
5252
name: 'sender-link'
5353
})
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
export OAUTH_PROVIDER_URL=https://devkeycloak:8442/realms/dev
2-
export OAUTH_NODE_EXTRA_CA_CERTS=multi-oauth/devkeycloak/ca_certificate.pem
2+
export OAUTH_NODE_EXTRA_CA_CERTS=multi-oauth/devkeycloak/ca_devkeycloak_certificate.pem
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
export OAUTH_PROVIDER_URL=https://devkeycloak:8442/realms/dev
2-
export OAUTH_NODE_EXTRA_CA_CERTS=multi-oauth/devkeycloak/ca_certificate.pem
2+
export OAUTH_NODE_EXTRA_CA_CERTS=multi-oauth/devkeycloak/ca_devkeycloak_certificate.pem
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
export OAUTH_PROVIDER_URL=https://prodkeycloak:8442/realms/prod
2-
export OAUTH_NODE_EXTRA_CA_CERTS=multi-oauth/prodkeycloak/ca_certificate.pem
2+
export OAUTH_NODE_EXTRA_CA_CERTS=multi-oauth/prodkeycloak/ca_prodkeycloak_certificate.pem
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
export OAUTH_PROVIDER_URL=https://prodkeycloak:8442/realms/prod
2-
export OAUTH_NODE_EXTRA_CA_CERTS=multi-oauth/prodkeycloak/ca_certificate.pem
2+
export OAUTH_NODE_EXTRA_CA_CERTS=multi-oauth/prodkeycloak/ca_prodkeycloak_certificate.pem
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
export DEVKEYCLOAK_URL=https://devkeycloak:8442/realms/dev
2-
export DEVKEYCLOAK_CA_CERT=/config/oauth/keycloak/ca_certificate.pem
2+
export DEVKEYCLOAK_CA_CERT=/config/oauth/keycloak/ca_devkeycloak_certificate.pem
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
export PRODKEYCLOAK_URL=https://prodkeycloak:8443/realms/prod
2-
export PRODKEYCLOAK_CA_CERT=/config/oauth/keycloak/ca_certificate.pem
2+
export PRODKEYCLOAK_CA_CERT=/config/oauth/keycloak/ca_prodkeycloak_certificate.pem
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
export DEVKEYCLOAK_URL=https://localhost:8442/realms/dev
2-
export DEVKEYCLOAK_CA_CERT=test/multi-oauth/devkeycloak/ca_certificate.pem
2+
export DEVKEYCLOAK_CA_CERT=test/multi-oauth/devkeycloak/ca_devkeycloak_certificate.pem
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
export PRODKEYCLOAK_URL=https://localhost:8443/realms/prod
2-
export PRODKEYCLOAK_CA_CERT=test/multi-oauth/prodkeycloak/ca_certificate.pem
2+
export PRODKEYCLOAK_CA_CERT=test/multi-oauth/prodkeycloak/ca_prodkeycloak_certificate.pem
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDhDCCAmygAwIBAgIUGj1qIVmaPreBbuiv/5ClTnSYS+EwDQYJKoZIhvcNAQEL
3+
BQAwSzE6MDgGA1UEAwwxVExTR2VuU2VsZlNpZ25lZFJvb3RDQSAyMDI0LTExLTI4
4+
VDExOjI4OjQxLjYxMjUxMDENMAsGA1UEBwwEJCQkJDAeFw0yNDExMjgxMDI4NDFa
5+
Fw0zNDExMjYxMDI4NDFaMEsxOjA4BgNVBAMMMVRMU0dlblNlbGZTaWduZWRSb290
6+
Q0EgMjAyNC0xMS0yOFQxMToyODo0MS42MTI1MTAxDTALBgNVBAcMBCQkJCQwggEi
7+
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCfI5C+29ZY9phf1yyjr8kWpLDB
8+
EAESadATme+N/C/Ogmoli8JvFcmH3Ct2QZ1UO/iMYuqnob1s4lt6Jmd4IITJEkoP
9+
jZU4ZfpnQZ7aKp4d9k476TAP47Bon9MD5AhsOmZhTNPDwWJEDH0OzQ89Ei9zUwbH
10+
3Y9gmRS2QNw68+pmIL5EHd+l/Yp1rmaoy+jfUpEIDqcXbLQn+1kaAgZMAttvydoR
11+
a6ioDgAP7G4EymeUTHd2OeUFLuY1uT0yje+nUfOOtJX29DX6JZ6Dw+9J/pUnYxQ/
12+
169HNOOMaGC7KNkwmWj0oIQjWgunV9/cHFtTSENF2C0ltwyYdyIpnqgTAl6bAgMB
13+
AAGjYDBeMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBT9
14+
wcqXKAFYCcs5wMTUDmWUN3F43DAfBgNVHSMEGDAWgBT9wcqXKAFYCcs5wMTUDmWU
15+
N3F43DANBgkqhkiG9w0BAQsFAAOCAQEAR8X86jeXZMLdjdQQBVm+RB4/sTryo79Z
16+
SL6y1RxcvRdrE62L0yPk39shoihJhxtP9k3glN72+g4QE/1Fk4anFc9eCQ5X11Iy
17+
oyW6cfXCMAenY66wdDvqdZOONjEXC5bwaKGEajByZmfKfB5eMoyQmixaH+NJ+q/8
18+
OYYlpuMBIXoFIQ3VH3+1YdWeBpkCEhyt6kHoC7ql0jD5sDwMBEMw1OfcaTEabnlS
19+
idVDFE2tRj7l1Ni3XNUxfNHGC51N/gogF/rgyBblHE7chnrV6Qt6Uj0nnN5nkE30
20+
bZwTcXk0mkEnUXMl7Egreg9VRDtKWej5YATsrHvCVtahoddBSyZ4gw==
21+
-----END CERTIFICATE-----
Binary file not shown.
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDvDCCAqSgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBLMTowOAYDVQQDDDFUTFNH
3+
ZW5TZWxmU2lnbmVkUm9vdENBIDIwMjQtMTEtMjhUMTE6Mjg6NDEuNjEyNTEwMQ0w
4+
CwYDVQQHDAQkJCQkMB4XDTI0MTEyODEwMjg0MVoXDTM0MTEyNjEwMjg0MVowJDER
5+
MA8GA1UEAwwIcmFiYml0bXExDzANBgNVBAoMBmNsaWVudDCCASIwDQYJKoZIhvcN
6+
AQEBBQADggEPADCCAQoCggEBAMDY0kkcAGOKMF8BgDwsyZlrxxt2M4H4pTItS5u0
7+
FoQfb4eOjsBsFXWsIAn0quBEa8s8bOteKOKxmU2Zd5jurlfh9Unjc9o+DQJ5Xr0z
8+
hDq/5ZaYwTqV7KYRecR8jXCpe+NZ8JIgxneF/RPq8PeS4TZDbVmPWchTKvaRG+3R
9+
LXhC5Op0JeBe7ttoao4kOMxd2muGNm/o04VIjY/9/43qKfNI8BVYvk0no5bim42A
10+
SJHcpfrGZzOBKcQDWDxiHyKhRrMuw5BBuwJt3qgwaU7ZYcJf5r1+D0S07ypUs30G
11+
0ae97v/b6D91UZTa+2uqxKUI2AtmyZYmaYasgo11FNGYvYsCAwEAAaOB0TCBzjAJ
12+
BgNVHRMEAjAAMAsGA1UdDwQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDAjAsBgNV
13+
HREEJTAjgghyYWJiaXRtcYIMaW50ZXJuYWx1c2Vygglsb2NhbGhvc3QwMQYDVR0f
14+
BCowKDAmoCSgIoYgaHR0cDovL2NybC1zZXJ2ZXI6ODAwMC9iYXNpYy5jcmwwHQYD
15+
VR0OBBYEFC8PFNEP5PXyEIBf93c6u8DnFemPMB8GA1UdIwQYMBaAFP3BypcoAVgJ
16+
yznAxNQOZZQ3cXjcMA0GCSqGSIb3DQEBCwUAA4IBAQBE2cTj4fXs/GusvJ01G/Dz
17+
1wqNTYP43nG9f41apjc6NrWkVAxbVSUn6NxdOC8ufg3x2YANT7toH3l3PBGAFzXW
18+
C1quRrz6UAG3dX1V2lXpAmxcfjUyDSo3tMx55iXTpPk9bv6EBEZFl+o9eTyHeQ1q
19+
dlog6xr6LxQENRmrnLCWjSr7iWpI8HveJdSw5DQoFexQjOe2J8ltKFpc2/2R4rxP
20+
+NhCUx1itUWKXIEDS5rwevl2xDzU2eYzJ3YhByLDT+mBdGW67Sw3qofsrCQN9c1q
21+
OuExsKVpnmYI1whIdRar3zwcbuMx3fuBKvHY2nQU+XNo55qFpdOosLKKWnn3T2Tm
22+
-----END CERTIFICATE-----
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDA2NJJHABjijBf
3+
AYA8LMmZa8cbdjOB+KUyLUubtBaEH2+Hjo7AbBV1rCAJ9KrgRGvLPGzrXijisZlN
4+
mXeY7q5X4fVJ43PaPg0CeV69M4Q6v+WWmME6leymEXnEfI1wqXvjWfCSIMZ3hf0T
5+
6vD3kuE2Q21Zj1nIUyr2kRvt0S14QuTqdCXgXu7baGqOJDjMXdprhjZv6NOFSI2P
6+
/f+N6inzSPAVWL5NJ6OW4puNgEiR3KX6xmczgSnEA1g8Yh8ioUazLsOQQbsCbd6o
7+
MGlO2WHCX+a9fg9EtO8qVLN9BtGnve7/2+g/dVGU2vtrqsSlCNgLZsmWJmmGrIKN
8+
dRTRmL2LAgMBAAECggEARVLsLRnizeWUQ+LfPUKAaiWDWszf8T337JS51Ewlt/Mw
9+
/ZLyoBt6j2WD0vBgKOSPt2yOXwHnQq7DRFEB3DkY9UCmE5yvPeoGdTg6JVuKki//
10+
kWZyN+RDQOORWV/I3JIglfbz8yPTFI5XDrzrSKRFT2NnwMU2ajvzetVpK9GBPfR2
11+
D9IPDr2pokoAZ4wDbXAZsrRXEatkw5DlEqBAo/TLkNjJiU8ADMTpw1mehVXAz9pf
12+
nuKvR1ugrjfHUoxQxlIykSnVtJw1aHrF1bW4PPJUKHdp+Mrf4UpEyWxp/yDvYdgy
13+
GzwFmthb3PU9yAIMMyaJe/ZgVWzaSrMku7nEUysNuQKBgQDs+yti3BOh/UEFW6p8
14+
4pdqwSapj9LjJ6QPHMdNfV5HR1TZA3IaThKSYYCJZnuvPt5KBseVbWO+bZ8DcLfm
15+
QIQeNGV1fFB41fAHzYQwdneRlugMV8NWxN4K9ZYeRyqYq80HIgaOtSOUZhCITIwf
16+
kq6dqe8p33WjI6eb8hTKhc5zdwKBgQDQUufNhA19DLWQGjTaRNGEtHIn6oXxxJrT
17+
q0fJEP+CKSmUt2Dnm/iJjOKydsYdq2kz5aB0UqwHVhUqAuF2kITVyaPh/FHnSoj2
18+
hjlzz0JSRlALgs8ySZfSh6Q9AKB2i1lBdG21WfbpFE705T9ZqDwT87JzdQuDDY/B
19+
yxAju21DjQKBgQCx0AxP0z3P8AyXjp4vsn1WlrMBy267DoVk6X0JwaW56eXaJ2G4
20+
Jxh8STh+4Cyx44Q7GzcqAbgzrGEB3dO+qm33k+0E6FAhOrUtxaEIE/vHe+mFSVzC
21+
gFjy9C69bTyi7VWbooY1Eekuch65hmYlUpQ+rMFNM+Q6kogy1MOQ6jFsJQKBgEEZ
22+
p1aR7aUmU5a0mc+bsd3GheXzY+gpiDidTdGHflEui8/tflriYsiZPj6G32JmLnoJ
23+
SBsRurCQNgzq2Yozn08vtAbq0q10nVhsmYeXPSJ41orCVf1hAhDIUoq9p2dkJIBP
24+
4fjKJF6x+fqNqT5bVGrnvNxXt0E8+6+TxXdlGsABAoGAIMLg7mGM4jTPC1MiOO95
25+
aqXB2S38BwAbqnJPaNCaCtmo8aqYoydzWmp7OIfnyW1hJrF484HH38wfMeOg4krl
26+
s8OnJ/UETPbdmPclniaK1GT45AWyEarkKj6+dxe/3p/x2ymYcxg+eT9NYFAAZAwL
27+
gi231AilSiuPDS7BYMLrZFQ=
28+
-----END PRIVATE KEY-----
Binary file not shown.
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDujCCAqKgAwIBAgIBATANBgkqhkiG9w0BAQsFADBLMTowOAYDVQQDDDFUTFNH
3+
ZW5TZWxmU2lnbmVkUm9vdENBIDIwMjQtMTEtMjhUMTE6Mjg6NDEuNjEyNTEwMQ0w
4+
CwYDVQQHDAQkJCQkMB4XDTI0MTEyODEwMjg0MVoXDTM0MTEyNjEwMjg0MVowJDER
5+
MA8GA1UEAwwIcmFiYml0bXExDzANBgNVBAoMBnNlcnZlcjCCASIwDQYJKoZIhvcN
6+
AQEBBQADggEPADCCAQoCggEBALhd0CB3BK/pCs8QanFyn9TT+bhNU0+YlLpURMrj
7+
h5e1fZ6qAx5ai+Taw9ZstL4bFx3sK6zrSQ6QU0EvAes+K6fgEoVkiqOLa38kVuYj
8+
//luTORI0xI5U+U2lFwXHbgdUcbFGoIRv7H/z4G/VLUedpcvdE9ElNnsAr/mDO97
9+
F0HELNgdnT60qKa/9FNbx5f1OhTX508AtyL4UeVSNoAGp7SZ97B6FRff2FXkWmCn
10+
8AOiOmMaqL7DRHcRg0LSkLCZw2u5ywc226xxf+of9n3VY2IBLH5s88cT974sahQx
11+
6RUMXtZUSZgBS6qa7cjAquSlhRrF6bEfAFSK0ZlTkM6wQDcCAwEAAaOBzzCBzDAJ
12+
BgNVHRMEAjAAMAsGA1UdDwQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAqBgNV
13+
HREEIzAhgghyYWJiaXRtcYIKV0pSN0Q0RkhHWIIJbG9jYWxob3N0MB0GA1UdDgQW
14+
BBTX1VHnNVYib0QKY9S20UxKEBpYgzAfBgNVHSMEGDAWgBT9wcqXKAFYCcs5wMTU
15+
DmWUN3F43DAxBgNVHR8EKjAoMCagJKAihiBodHRwOi8vY3JsLXNlcnZlcjo4MDAw
16+
L2Jhc2ljLmNybDANBgkqhkiG9w0BAQsFAAOCAQEAhubcLC2XgHmGSMpZS/7gVE94
17+
DDAjjjn96PP5MwaVstC2w7ocyxttUah/LjAhb+MU8VO8HL1oMl8qESyXuT9jFSjK
18+
w/j88K4RHPtR4ZE+0tGfYX00JM/lKbU/QinSF9YB8Z5YYZ9w1l9Nidcc9Qm3xbtS
19+
cq6uEY1/sXvVqjJRpEI4K61EosT0v9vBbEEecDRWT0hNGbKPFVO0eB2DRutkScw3
20+
8OudAXD2T2fx5/DiNWr4o9IOT3ZqJQU7OYcDkhkz3l4eJgv62dNjMMBVUIdvDbSN
21+
PirvixWuoFUZRXsZ7bSdHkOlKTBgmqvSwhQ4gEcKf66hVIIOsSkFc6rEfBOZJw==
22+
-----END CERTIFICATE-----

0 commit comments

Comments
 (0)