Unverified Commit 88b16de7 authored by Kip's avatar Kip Committed by GitHub

Merge pull request #976 from Tachi107/970-unit-test

Add unit test for #970
parents 55727103 8b3e52fc
......@@ -63,6 +63,8 @@ if (PISTACHE_USE_SSL)
configure_file("certs/server_from_intermediate.crt" "certs/server_from_intermediate.crt" COPYONLY)
configure_file("certs/server_from_intermediate.key" "certs/server_from_intermediate.key" COPYONLY)
configure_file("certs/intermediateCA.crt" "certs/intermediateCA.crt" COPYONLY)
configure_file("certs/server_protected.crt" "certs/server_protected.crt" COPYONLY)
configure_file("certs/server_protected.key" "certs/server_protected.key" COPYONLY)
pistache_test(https_server_test)
endif (PISTACHE_USE_SSL)
-----BEGIN CERTIFICATE-----
MIIC/jCCAeagAwIBAgIBAjANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtwaXN0
YWNoZS5pbzAeFw0yMDA1MjYyMDUxMTRaFw0zMDA1MjQyMDUxMTRaMD4xCzAJBgNV
YWNoZS5pbzAeFw0yMTA5MTIyMDEyMDdaFw0zMTA5MTAyMDEyMDdaMD4xCzAJBgNV
BAYTAlVTMQswCQYDVQQIDAJXQTERMA8GA1UECgwIUGlzdGFjaGUxDzANBgNVBAMM
BmNsaWVudDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKye4EiuDYIo
5PBL5cS6BRIv+ndojxoEaw3nuOT27x39ue3WuDTXRUi/70MDRCx2enZ78KluAsY/
dFBO4Oy41VAx7gWFV3Y+D/8epw1NT4Utz/OBZgVVlrU//OU0g1ePVTIrjsrIasqJ
Rkqa+d9GgBugnFnjqcd1Dotyk/YYjuAZt0WuBRLqIgLi346QyDv0XitbcT+x8k4y
yqhDcnOdQO42SlmH7RyAaq2C+0n4rjISGYiIdC5/5Nuqpc9Pzk3asLJkp7s4sVf9
7umFBSvBRWrM5HIHePzBbrz3hw6MvGWO1GfO+kqFMCUQniRUeXLixlhJp97cO93b
ZsrCoi3jIvcCAwEAAaMvMC0wCQYDVR0TBAIwADALBgNVHQ8EBAMCBaAwEwYDVR0l
BAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAE6MKgUv1yg6Y4OI5lnf
xYOxiSgsgfXxZNN9upBga+GfB79d/0NPeEVjm2sHtmGDKBF/2ItmV6WOJu+MJA31
pIqSn7g9bo95YdPpIpQjGeefFdZm0+GJ/4QabjxqpLUS0k+znvCYptvvYWa5Zu1Z
tnWes3Jxnm1ZYLoIuruHTvWXILQjuPXG+8s8R9cDjzdThWBpQ//xJVvgqbX0bWXE
hFEz8AX2KCEDsvXoUutAf9OiBXT1sJ7lq/i+RU/l2N6v6MbKt0ERDyjXYQBZNSxc
rb2oLsP2g6My2lymVLWUMgms5o6TqAb6r1qaZtkFyWM6UxotsaivczX75ZvFGlzL
W64=
BmNsaWVudDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALPXxLU/Hrms
KkYl9C/DFjexiecY/iVaZlzBl6unAY7l6OtSUgqW9KYtbxGH75cGaGmxt0l4sc/o
j0yRbvy/Rpuow4i9AWvxjRCQvNhR/jmPqEu+U3j2ZcHjhggACvC3SSsBx3KWEws0
63ac/mKKkqUSP7rRSVtOu1AeQ/fHwBuS8I5jwgX2cWnVPaq8r8nubbxAW4wHooA7
yKexgl9W/14e8dFszTE8CNyGiQPyLyjTfmacq7IfMAuU5DY6+x3x7PXBGH0q4pv7
onky6yv3SKTmh6ZyaApsMI7yt6+LkDK7vv91LO7e50ItQGbEa6/XnoQCOhfiCgRk
1Ba2cHayjJECAwEAAaMvMC0wCQYDVR0TBAIwADALBgNVHQ8EBAMCBaAwEwYDVR0l
BAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACcYn+X8wLllWfyPxD8f
eCvES984cSqaAq5Xzn+PbRdQAglRyvfeIXQLfEwTkBjY0uBMGuZYImj767PJ8raX
O6MeHM2ctGy1tpNygeyoECiPGTFCRAREXlhS6Pypfl0mrvFveihcja8C1F82tH/b
fgxgaQap6kugkFALIsR2plts41haGLooe3uraf3FGVDlwF7Z8ECEnoDvuo75HyrN
i8q+q7GzwKwmI7FiKTSpHj/kEA5iBfn+1I1uVwIgPi8rH4qvdakW2PNp9dB6461w
sw7YYANJqDloEvU6TQgolfnAKXoxBooW1MhTDk7dARQ/11zhIpIKowY49n+GdGcv
Zt8=
-----END CERTIFICATE-----
SPDX-FileCopyrightText: 2019 Louis Solofrizzo
SPDX-License-Identifier: CC0-1.0
\ No newline at end of file
SPDX-License-Identifier: CC0-1.0
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----
SPDX-FileCopyrightText: 2019 Louis Solofrizzo
SPDX-License-Identifier: CC0-1.0
\ No newline at end of file
SPDX-License-Identifier: CC0-1.0
-----BEGIN CERTIFICATE-----
MIIC6jCCAdKgAwIBAgIBATANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtwaXN0
YWNoZS5pbzAeFw0yMDA1MjYyMDUxMTRaFw0zMDA1MjQyMDUxMTRaMEYxCzAJBgNV
YWNoZS5pbzAeFw0yMTA5MTIyMDEyMDhaFw0zMTA5MTAyMDEyMDhaMEYxCzAJBgNV
BAYTAlVTMQswCQYDVQQIDAJXQTERMA8GA1UECgwIUGlzdGFjaGUxFzAVBgNVBAMM
DmludGVybWVkaWF0ZUNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
0iEC56M/lo5cxAqSIxMvISygNusCndcVigTW1e6iKSJib2ve4/q0egeyUO9uU/dU
ciOILmNOa3zuNJmol0iowS85wyte8E53hH15qk9QpRI6UMhmveUyKfdTbiwlfLO6
gMdXPkAsr/vXTP5QUZYDFfujYBtk5CDpfxQR4hPdgA0zud97BiZMm69AunH5A0jx
eu9AsmYJwVrTFM3EX/j8m8Fg06IeJHaD42Sz942gnglJWvRfS2IJbpnr7sOGvZ/0
FIJdqjAV8v3qNcDf6X5436SCLCDZXADIHedP2AGMYLaplEZLC7UaTNm9zIvvYg0X
dR6VWb+tOSVKU4aNCehyvwIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
SIb3DQEBCwUAA4IBAQANF+lALL3xWgXrhJA2RkBziSLFyF3YE/g7kVhZHko+Cxks
UzDBZrkn7fbhorTu/j2+QiA/mOGauVNfrgkeZvK1jXvwsE1CmH0e95SczEZVydhm
U8nPGYY2Jhq7JuSJSgYOp7ewweAbibHFo8kYVO2aNYfHHcyS9fDVzJ/Ojn7qnIvS
JO1aUvWqzdGn0XLPdKj2Jms6NN59/iXgF5I9r5NRMOgA4pUaSe7lUcMT8Oy+PyYE
3qKszDIGURdP3Ujzdl6YM3edZJTCieBq6AJwY0CmO6TUJmkpQT0Avx3jyV6lajQH
6qvKipItp6aUx/Uq9eFrpUvXsFSOsdIS1IS+9qHW
xtfxC/m85TYzXLEKb26FcAxFwUVBTn4xh6itLCU4c1mo3KtJZNOQWMFHLTqufxiN
+yYBSDTdibxfV/tWH2KwXpgI4A7w9DtpGCUimojUpLXR5qMwJGl+4wz9n0/VvLqI
Z3E+xzNdHdtuqisoGOwc7ppYnYuwSOxLPDTU1Z/XADwiHX23H88smUPjRDMnWeBN
dRqnxVE6Ad0brYXKClsHLSK3VWh6+vzoYkLf36A9Oc3uzcI6ca/MP5ej7wxJ2qQx
ddTEb4sgxeroJ+he/MPVn+h/pYmRK1K+FpefYVVb2jV6LW+AggjyfWOMfxR9UhtK
B9bAwEOIw+bsW2dngbbpgQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
SIb3DQEBCwUAA4IBAQAXpQABwXwzM84DxfASuuQvR9dSXNIal2wqnB86E2nrKzIj
gzn0FcY4OK1N0LYDg5SyFJnakmqwN6ExojuxysnSeI7eu81Yz45VAEXdyumT+rCc
g1xbf7AlyXfBYKd+jau8EW5hu6DtMmfnXPnKgZm9kUjaMeTywnbg0nPwq7QBUb/O
e07QPbW/elf90FQFWFgEYxt0hwG90glqV9v0lpyUeBEmH1C0w4ElP05pYhePvggU
4XLvuh14nbN6495O9L/wb1p3NYHXuVKlXo9kNnxTgjTpi1BPXQviJBI8sbnfhDRD
XRWxWzWweC1/kJ5X0WIAgRpG8oVymfiU6373CetD
-----END CERTIFICATE-----
SPDX-FileCopyrightText: 2019 Louis Solofrizzo
SPDX-License-Identifier: CC0-1.0
\ No newline at end of file
SPDX-License-Identifier: CC0-1.0
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----
SPDX-FileCopyrightText: 2019 Louis Solofrizzo
SPDX-License-Identifier: CC0-1.0
\ No newline at end of file
SPDX-License-Identifier: CC0-1.0
......@@ -11,3 +11,5 @@ configure_file(input: 'server_from_intermediate_with_chain.crt', output: 'server
configure_file(input: 'server_from_intermediate.crt', output: 'server_from_intermediate.crt', copy: true)
configure_file(input: 'server_from_intermediate.key', output: 'server_from_intermediate.key', copy: true)
configure_file(input: 'intermediateCA.crt', output: 'intermediateCA.crt', copy: true)
configure_file(input: 'server_protected.crt', output: 'server_protected.crt', copy: true)
configure_file(input: 'server_protected.key', output: 'server_protected.key', copy: true)
......@@ -83,6 +83,21 @@ openssl x509 -req -in server_from_intermediate.csr -days ${DAYS} -sha256 -extfil
rm -f server_from_intermediate.csr || exit $?
log "Create server_protected.key"
openssl genrsa -aes128 -passout pass:test -out server_protected.key ${BITS} || exit $?
log "Create server_protected.csr"
openssl req -new -sha256 -passin pass:test -key server_protected.key \
-subj "/C=US/ST=WA/O=Pistache/CN=server" \
-out server_protected.csr || exit $?
log "Create server_protected.crt"
openssl x509 -req -in server_protected.csr -days ${DAYS} -sha256 -extfile openssl.conf \
-CA rootCA.crt -CAkey rootCA.key -set_serial 01 \
-extensions server -out server_protected.crt || exit $?
rm -f server_protected.csr || exit $?
log "Verify server certificate"
openssl verify -purpose sslserver -CAfile rootCA.crt server.crt || exit $?
......@@ -95,6 +110,9 @@ openssl verify -purpose sslserver -partial_chain -CAfile intermediateCA.crt serv
log "Verify server_from_intermediate certificate against root using intermediate"
openssl verify -purpose sslserver -untrusted intermediateCA.crt -CAfile rootCA.crt server_from_intermediate.crt || exit $?
log "Verify server_protected certificate"
openssl verify -purpose sslserver -CAfile rootCA.crt server_protected.crt || exit $?
log "Create server_from_intermediate_with_chain.crt"
cat server_from_intermediate.crt intermediateCA.crt > server_from_intermediate_with_chain.crt
......
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----
SPDX-FileCopyrightText: 2019 Louis Solofrizzo
SPDX-License-Identifier: CC0-1.0
\ No newline at end of file
SPDX-License-Identifier: CC0-1.0
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCp9vE8OG40jxM9
mH+q9ZU94/HECQd8PmdxIQ3kyIGJ5mNvaqzbPNlVIzJtO/acp141lZZnuo1iszTc
tB3QjDpCwz97OvAq5yfZ1Ksa11L0/L7e01qYWwGI0Cx8jHHWfPu66dPAio0QJveV
IwHPi3bKJ40y1dMsFyO5XzcnCDahiRvp0b2buUM5vB4CJRwHTzp98E9ZYHjXsMbV
tH9p/tzZMJaMrEb3qZD9IsUlY/HUesxwWxPti+bnbVb/1kOr9fPS1FnBTc5/AfAF
bXWwHT3jJMYS8Xy7hfR5dOdCYJpECwRo9Ya0czd/+IsPWqMPL4npOPeg4ZdRQ8Lv
YV7qergxAgMBAAECggEBAJeXHEmtuv09rtd9MED2kImGyJcjxn1V20TXSmEHRCIO
ThmNd2aCuwRoRA2RMb8+t5PrOx6BEKE7XKaMLxtWNpBdPD1Yr+RUDwMF3yYtblv7
IPH0aBUC9jdkFIlxagb3qj1nV+meqXoCh0eI1ZCavvRGmnUAqTvl14L6HWK+vJsN
DdoafJ/Bsl8d3oFwetxwaN1RFS/fqBDTLA2puviOt2XAJtET3cKHReBM6iDpbYZH
2zCk/TpXuoxCSgbKjtlFKvodhO/QHNK3e9FlSNCn1WYsui17WzzJ5IMmaa+Bxu3w
09CMHc/zKeSldfT5ejEhYqIwlwsNIt9a0MeA1etPcNECgYEA3zof94jI2xlO6LXP
FAF92TGnRxzCdzle4jJwyZx6iYkhuE1f5EnA1wRcz9Mzx9IEaa6VwUZ7qTJokkmu
dVUgzmW3SMGp4l6JWHniVxo3bhIGTvG3G9I+n5Dyd2vJMjhED46jVPK3tqEMaiHJ
3u6GKjZ9gdXCOyp13yxTpCjyYc8CgYEAwur53lhR/mpjp0cMxFyXSFOMB7CEUwIK
FJCrXX+xEXnBIqtyXvjv2tIz15V6rYGAauIk++c2aQfgz2Sn+5cyL8hrJrLICwRw
nCGRfJCIvmUAir2yqI/XS1IrUB7/lEOpqFfFvK3qIUW5gX9kqGbTXfc3T8MUpcw+
M38k73yJxf8CgYAIlHxcEFbgDQX6bdqKw0/qBD2Qvys+V+csvJGXPjt7g9jW86pm
5OrTmOhUWKLZ4FmpEjvRVPs10qkwTkK1YdND+6bi1gbIm6edzfmELY7J3Ul+yU2n
dRpRGcooCu2Nz5nWGz5t6nJjQ6dtgOT4e6SOhM+oKOYxTf1/2X1Rhv1iAwKBgQCN
YUK8M/PFRgXiX3azNzXEEFWRfkd8rg4BvK2Ps/8LXfTo4NKkcIwJfE5+IL5K+5PZ
8w5AaQTeSgiWZbwykQimAAk4mJTg6OeFWBPe9jc5Yqlx+QaNnUfcKk2gX9uh/zIg
GQokQUGBwME9XNn2DB9kGNzVzfo8CFlVoPN5giusoQKBgQCIsA/w51MusAcuDGC4
73llmyYkFR+KcJ7hWYRrzHFfI0ecI/vdWoZoDHhL59CDOLoaeXPmu7B70WOyCG4l
PdOkUaWKgT+5XR2DA7/CZt8D5lTJOPEPIqJ9uaahoJPnFzSsUlUW98kh/3EFgvRF
64t3XtDpQwSRUaH1eNyFTrteag==
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDQwaAdSiU0MQlg
FV4anrx3SCopPBGdHF59z0sp/R8bW4v5moeh71Sy0EPZxY8BnLaaGdNPcSIhSHCU
4mibBIFH+nNTn36Cc9QYoBBwArPn6UQys/zfYEM9wVFGt7lVLsyOCsbQ3Ba8u/pH
DSIFdOPu/C1kQUPxRSjxqRpfDqBTc4j9urf/VJQp+eMWkGrALjXfmOJvCKDQ37+B
VeqB3bSSSqG4yDzYYjdzrNmC/yVSq28XtRSWsveWpRDRBSeh/3yMYqm5n4T1eDak
rBh4AYKVOZslqpU2tnsRDq0ayDiMyEoRfEImQh5nQVDo+FfSZhZZ866wmGLfKo7f
MkBcd3yxAgMBAAECggEBAIB8fGEqrqVl/SA/ZpE53EQKjbCdgTXTLTGAMgIhAlFj
Uk8J1qtL1DTOzMQvvWo/m4BTnuTJfDlCDdEFXV70MeIse2kfxMzkH8ocUqGueC6o
O0p9z4lpBVnwL2c4U4DjchGG/oG0xOXbSRsMMUFshZIlcoa/SOMqLx42d73EEdfq
KrJVcfAixpzFfwnC7VNdd4FUQJ4EGhRgd9KqRILFMNo1JzoVAi6iS6h1eGdxMJb0
5QAzPN0C4eo3ptbNYxx5/CIrRZKJ6d99KtXGGU6L3Sac/HibiCbicERDGSGOgevs
ufQ/UWa092kdYg9Ulpzi8V/JgfkP9PjxeedNNat3qDUCgYEA8XXzulmDByXMZQ9I
n7QA9iEDqXF6qK+c1Ift/sVYxqsVCZCQjrIWTn9atnxPnrp3TEaUgqmgMYG1lFRb
yOLGF5gRwMYtbCI7+49w93HsOTMDm7BPk7J4fcYVfu3gmeZr7HTPLPHJR73CMXPs
0C35o0CKnniYgXb9LgIdrgemc3MCgYEA3VOLYemyTvgbHSwijRjj4kloj/sLCiuK
D6tF8l5IEYexrDEM5Ym8vjso9h5d/D7fh9pioxKj2x0RcjpjwwxkG+YCJrKTIMf4
TUQgO102rXwD2nkx86WSBDtFDPdZQ5ZLKtcGPbo3avEhlIvRkT3XVHJ9tcvN6F6l
9QMWyWb3LksCgYBAHHpnW0cACdg4aRN2W/v5XhCz186ipWY1xBW8FLgan+hJDtpj
GQP1ObljRKR7V7U/Smo6O0Gug2ssBC4Oq6+/KgBkt/ntgTV9+Lsc6GG5WkM1/l1S
sQtvEb45Yn3FPzoeoXE01MoFw2uhZ89UAzEKWKO1qf2MOoTEx4kL4Tof4wKBgBDY
Vvdwzf1srMOfpFGQ32dNpwOuW7y+a5edtYko29tZtJAie5TM0uy3m/p/fS/BqUmx
uWgn9wiqQbWr9APYYZYt/2Pqm4AXODLJSJq8EXlKwxBRwReGNoLT8AF4ofae7cGo
8/Smw6kECUZBDgY76rOmsyKvDFDvQzpOreFOUOnZAoGAK5mZIGLxYowHUZp1yzRw
O7NNbKCjbgfDxI0tsGJekgGLJJYhSHWDeFJT107j1oQWmyfM99n1jYjwmuhlmjDF
aPZxHNWpm5JRPHPDwrrdB3SdB6tu6AyI+ZEfrxjbK1eYAtzT+ne3PEwphyNdHmXB
dGX2a9ojus6U0AJ+a3GXuyo=
-----END PRIVATE KEY-----
SPDX-FileCopyrightText: 2019 Louis Solofrizzo
SPDX-License-Identifier: CC0-1.0
\ No newline at end of file
SPDX-License-Identifier: CC0-1.0
-----BEGIN CERTIFICATE-----
MIIC/jCCAeagAwIBAgIBATANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtwaXN0
YWNoZS5pbzAeFw0yMDA1MjYyMDUxMTRaFw0zMDA1MjQyMDUxMTRaMD4xCzAJBgNV
YWNoZS5pbzAeFw0yMTA5MTIyMDEyMDdaFw0zMTA5MTAyMDEyMDdaMD4xCzAJBgNV
BAYTAlVTMQswCQYDVQQIDAJXQTERMA8GA1UECgwIUGlzdGFjaGUxDzANBgNVBAMM
BnNlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMItSaWOvHCl
DVTJiIrNTSMqVtrcc+MuCq67wotzvIbEKuwsm4SyYze23VTbUYBlnQFww1fSHxtD
NocuzonsQFLrRgsuaHZu1ia53MPpOEBdYmUOE65zRrkvoGMERBsYiswFmyWMk+0f
E+E/qICYIq9nL78ejFqTqeAlfZ5Fhy0iq56ktMOdtEOUT5XrDJgaAK8CRxnOuEav
m07JluOCgEJ4bcYIKebZTcfaP+SiWu7MGKGaEgJVatPQmBmQE8YUSdEiAaya2z0y
oAyvCsl9VbJnnO2S5gLx0tS5y5n+lnmoENW31kcc9hbddpdKNCOKhiGUtkF4d8JP
ySPWMvvJ2bUCAwEAAaMvMC0wCQYDVR0TBAIwADALBgNVHQ8EBAMCBaAwEwYDVR0l
BAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggEBAAZ9SmSwZAeXx8xkoKEo
6PaEtU9fra8KPXOxy9FgFESlBdMIprBfKO5hAG1N9tlN2ptXTZwRHs/38XkTwNgQ
HTRS0faVn5kYJVndBtGem6HD0K++5G57HHRZKEKjhKbFLqRf9AGvyAM4V37wEaMf
ISWA1ndHROFJFVSfc0+fjWBTtqsdNyai0Z+iJc3GkuSozWRGpaBicGKkG2+5+LrD
e7I0Q7F7q2roAP+2HKVUm7IoT3gwsQt3IXcxKhLE2nF2G+ptXpzk/YeZGrQz/ELZ
HhNkI94g8CLbmGihFWxIjPdIJ4nd1378I7jEd877T7bdsyRlPkTGuZpMAvN2Joqh
ePc=
BnNlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMAwnfBQX39T
vuw+5kKhcnTsjxRpIGatSjJ55kBso6kLtiJVrvseeiMFKKHnXykvKVDPyFHRDw4O
ub/WFuoAI1IOHt0p8G91ooZNDrQ5Hbvb86//cJknkb222oDwvPLpHf/RMG0Yyj2I
EsBPvJeeGEqQ/M0KGR/u2xSRFwhZ7ZnGY61ThO5iJTmUutLEZa2Ci8TLIvl/be+c
EIkuGbygG7sFj0+0/3DgRqEclH9VFZylNGhY5k6pKqnGzXk8cqxNQeZkDW30kR+i
V1TFi9RhNfohTOdPV39r2I3cNCTGhBqwVxYF83xTVseg9RxQMrm1h2zMwsKVmTyN
BIHvil7Ni40CAwEAAaMvMC0wCQYDVR0TBAIwADALBgNVHQ8EBAMCBaAwEwYDVR0l
BAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggEBAAEJUp5nPa/13QpupmFB
NR3Llry+8ci5LtorirXPUX59OF8iSz72qDcStyqGvgccX7qjuFTUmP+Uivk/5mze
SNpiVOm3Fx1Q1QK2aZvPgF8rYFnZ3cU0IoTaIa5CyTVf2KLqYo6cYTZd4xLxxtx6
r5p67gSff4K9J7K8f2G1zzOl3RBcUce9AUOlS+LZVy2Rw/lTaNFk4nnnMjT/CNAC
kOSDTj1kyWIo7rWPvNrTQ0PPzSAsQ021YqVNsyQgYPDqLu7RL7dboET/onAAuTBx
462hg6o15qJOTlElfO4nJt6LxmFWAs7KPaHNjtPhOVrv5uwgzxf0hIW8Z/znzWaN
zxg=
-----END CERTIFICATE-----
SPDX-FileCopyrightText: 2019 Louis Solofrizzo
SPDX-License-Identifier: CC0-1.0
\ No newline at end of file
SPDX-License-Identifier: CC0-1.0
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----
SPDX-FileCopyrightText: 2019 Louis Solofrizzo
SPDX-License-Identifier: CC0-1.0
\ No newline at end of file
SPDX-License-Identifier: CC0-1.0
-----BEGIN CERTIFICATE-----
MIIDQDCCAiigAwIBAgIBATANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQGEwJVUzEL
MAkGA1UECAwCV0ExETAPBgNVBAoMCFBpc3RhY2hlMRcwFQYDVQQDDA5pbnRlcm1l
ZGlhdGVDQTAeFw0yMDA1MjYyMDUxMTRaFw0zMDA1MjQyMDUxMTRaMFAxCzAJBgNV
ZGlhdGVDQTAeFw0yMTA5MTIyMDEyMDhaFw0zMTA5MTAyMDEyMDhaMFAxCzAJBgNV
BAYTAlVTMQswCQYDVQQIDAJXQTERMA8GA1UECgwIUGlzdGFjaGUxITAfBgNVBAMM
GHNlcnZlcl9mcm9tX2ludGVybWVkaWF0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAK/zY4j/BN+vq79y4I3BJG4b3GTZUWInwspCbRLKk5U+nMDfSKdG
i0WItjkOAhpgC9lfBCtc1CSGVGqysOxHSuvFdrJKEDIJDXALj6X0BiNfiCH31uZw
uKmAOPJfQX80Nkvcxvg0mFkpXuFtk6hNVzVHGr1d6UZa6+GMWgLryEDyPYinLzJw
CasFK/68VD65jISouvkYO8ucgGRvWreXdjnyQjfJucx6H2kj1+u/B6KbqFsjZ2eW
YnUywtXw+54AtQzbAMGX2imxB/HEIGC+XEnnCoXLuKYU5S+z7fw5CYiBCEFW/45L
j+4+BWzWpQ2HfJAshMLuUAuMGGtr8n/c8X0CAwEAAaMvMC0wCQYDVR0TBAIwADAL
ADCCAQoCggEBAKRJVH5AH2dt4DkJhZ17/HIXUJA0lKo249FYhi0zIhmyYFqTHDlK
DSBiql4dbNbjKos4xaiEcN3xk/Ysp00hpsLDWHpuW7Ouc83HIz0SQ5yr2lEBtuq6
xPGJ2FBlZ/Le/Eg6HOlV8uzJoSDD/0tRQh2PQtFxQCx9pk84oq7M8k4/Z/nkSdJi
h6BrlOGqQox8QnR/IVSZi5olPRiVq0+kXjGeekIcf7CAInFupXBLodal3aD4Ff8c
KPnQK7QbSRXBzAKRDR8ockJgPZryyk/Unk2yzStJ1kkUXNrhlk1LOhXL5C0hnl8l
QZQTJD8CQNHRblDdi9GxdgbYbEDwUzoPrc8CAwEAAaMvMC0wCQYDVR0TBAIwADAL
BgNVHQ8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQAD
ggEBAK3Gv+WH4JapUJ8ui0rnLqox7Ng+uh92dQFS/kHc8l54+aP4h+Q1H+UOj/3O
4zLe8Dzk37PMZCId1rkI/1KuMk1rHYUJkSlhKFVrToXHlU6xFd/Lh4pI8U6KwwPc
FEOp+PKB9tVRHWnn91Xfwt6JHGJH7cIovgWP3RFPXsF+XK0KpcGziPc8+67YYpeO
U1uFB1nbQV6W4gqw68RU3P+7iFrlgAuQBywZysDEP/BLJl6YbLrq4WpSNpJMDurG
9tMZJgGxcgWFjskpRyy6tOvpnSuZ0x7C/YKhhBtxPnCxJ21ge++CNpN9093QVKzQ
SyIaowDOQV48TSPnfDcMAt3P73A=
ggEBAAyGIgjezxtFyikmmEFuEM4Ej2F2YAmSBfKMHIgEq4n9HVkHQwjlKdS/Oq6N
NMpfNXy1XCcGASJgajZ6K5YdX3cIFYsBM8vNFL75uvi9bOy+my64YggQncBRKP3E
L67yLbeFrBmYlQ3pbscp3+huNHWai7WAsd0T5Ii+YNBIOPQmSzfXjInhDeef20/c
66wcvJQTDuDfZSofDnS08++slE3NQqIOAZwcSwNxohJOqCwWhhPMLsSClAcakTRw
amw1qdGu5Li9BqzKH5O51TaPtVFIHtNyKN6tp7qOgSla/sjhimx/HoqQ8q1jbfDt
Jco604aS++B7nShedw4KMKdz0Rs=
-----END CERTIFICATE-----
SPDX-FileCopyrightText: 2019 Louis Solofrizzo
SPDX-License-Identifier: CC0-1.0
\ No newline at end of file
SPDX-License-Identifier: CC0-1.0
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----
SPDX-FileCopyrightText: 2019 Louis Solofrizzo
SPDX-License-Identifier: CC0-1.0
\ No newline at end of file
SPDX-License-Identifier: CC0-1.0
-----BEGIN CERTIFICATE-----
MIIDQDCCAiigAwIBAgIBATANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQGEwJVUzEL
MAkGA1UECAwCV0ExETAPBgNVBAoMCFBpc3RhY2hlMRcwFQYDVQQDDA5pbnRlcm1l
ZGlhdGVDQTAeFw0yMDA1MjYyMDUxMTRaFw0zMDA1MjQyMDUxMTRaMFAxCzAJBgNV
ZGlhdGVDQTAeFw0yMTA5MTIyMDEyMDhaFw0zMTA5MTAyMDEyMDhaMFAxCzAJBgNV
BAYTAlVTMQswCQYDVQQIDAJXQTERMA8GA1UECgwIUGlzdGFjaGUxITAfBgNVBAMM
GHNlcnZlcl9mcm9tX2ludGVybWVkaWF0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAK/zY4j/BN+vq79y4I3BJG4b3GTZUWInwspCbRLKk5U+nMDfSKdG
i0WItjkOAhpgC9lfBCtc1CSGVGqysOxHSuvFdrJKEDIJDXALj6X0BiNfiCH31uZw
uKmAOPJfQX80Nkvcxvg0mFkpXuFtk6hNVzVHGr1d6UZa6+GMWgLryEDyPYinLzJw
CasFK/68VD65jISouvkYO8ucgGRvWreXdjnyQjfJucx6H2kj1+u/B6KbqFsjZ2eW
YnUywtXw+54AtQzbAMGX2imxB/HEIGC+XEnnCoXLuKYU5S+z7fw5CYiBCEFW/45L
j+4+BWzWpQ2HfJAshMLuUAuMGGtr8n/c8X0CAwEAAaMvMC0wCQYDVR0TBAIwADAL
ADCCAQoCggEBAKRJVH5AH2dt4DkJhZ17/HIXUJA0lKo249FYhi0zIhmyYFqTHDlK
DSBiql4dbNbjKos4xaiEcN3xk/Ysp00hpsLDWHpuW7Ouc83HIz0SQ5yr2lEBtuq6
xPGJ2FBlZ/Le/Eg6HOlV8uzJoSDD/0tRQh2PQtFxQCx9pk84oq7M8k4/Z/nkSdJi
h6BrlOGqQox8QnR/IVSZi5olPRiVq0+kXjGeekIcf7CAInFupXBLodal3aD4Ff8c
KPnQK7QbSRXBzAKRDR8ockJgPZryyk/Unk2yzStJ1kkUXNrhlk1LOhXL5C0hnl8l
QZQTJD8CQNHRblDdi9GxdgbYbEDwUzoPrc8CAwEAAaMvMC0wCQYDVR0TBAIwADAL
BgNVHQ8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQAD
ggEBAK3Gv+WH4JapUJ8ui0rnLqox7Ng+uh92dQFS/kHc8l54+aP4h+Q1H+UOj/3O
4zLe8Dzk37PMZCId1rkI/1KuMk1rHYUJkSlhKFVrToXHlU6xFd/Lh4pI8U6KwwPc
FEOp+PKB9tVRHWnn91Xfwt6JHGJH7cIovgWP3RFPXsF+XK0KpcGziPc8+67YYpeO
U1uFB1nbQV6W4gqw68RU3P+7iFrlgAuQBywZysDEP/BLJl6YbLrq4WpSNpJMDurG
9tMZJgGxcgWFjskpRyy6tOvpnSuZ0x7C/YKhhBtxPnCxJ21ge++CNpN9093QVKzQ
SyIaowDOQV48TSPnfDcMAt3P73A=
ggEBAAyGIgjezxtFyikmmEFuEM4Ej2F2YAmSBfKMHIgEq4n9HVkHQwjlKdS/Oq6N
NMpfNXy1XCcGASJgajZ6K5YdX3cIFYsBM8vNFL75uvi9bOy+my64YggQncBRKP3E
L67yLbeFrBmYlQ3pbscp3+huNHWai7WAsd0T5Ii+YNBIOPQmSzfXjInhDeef20/c
66wcvJQTDuDfZSofDnS08++slE3NQqIOAZwcSwNxohJOqCwWhhPMLsSClAcakTRw
amw1qdGu5Li9BqzKH5O51TaPtVFIHtNyKN6tp7qOgSla/sjhimx/HoqQ8q1jbfDt
Jco604aS++B7nShedw4KMKdz0Rs=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIC6jCCAdKgAwIBAgIBATANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtwaXN0
YWNoZS5pbzAeFw0yMDA1MjYyMDUxMTRaFw0zMDA1MjQyMDUxMTRaMEYxCzAJBgNV
YWNoZS5pbzAeFw0yMTA5MTIyMDEyMDhaFw0zMTA5MTAyMDEyMDhaMEYxCzAJBgNV
BAYTAlVTMQswCQYDVQQIDAJXQTERMA8GA1UECgwIUGlzdGFjaGUxFzAVBgNVBAMM
DmludGVybWVkaWF0ZUNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
0iEC56M/lo5cxAqSIxMvISygNusCndcVigTW1e6iKSJib2ve4/q0egeyUO9uU/dU
ciOILmNOa3zuNJmol0iowS85wyte8E53hH15qk9QpRI6UMhmveUyKfdTbiwlfLO6
gMdXPkAsr/vXTP5QUZYDFfujYBtk5CDpfxQR4hPdgA0zud97BiZMm69AunH5A0jx
eu9AsmYJwVrTFM3EX/j8m8Fg06IeJHaD42Sz942gnglJWvRfS2IJbpnr7sOGvZ/0
FIJdqjAV8v3qNcDf6X5436SCLCDZXADIHedP2AGMYLaplEZLC7UaTNm9zIvvYg0X
dR6VWb+tOSVKU4aNCehyvwIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
SIb3DQEBCwUAA4IBAQANF+lALL3xWgXrhJA2RkBziSLFyF3YE/g7kVhZHko+Cxks
UzDBZrkn7fbhorTu/j2+QiA/mOGauVNfrgkeZvK1jXvwsE1CmH0e95SczEZVydhm
U8nPGYY2Jhq7JuSJSgYOp7ewweAbibHFo8kYVO2aNYfHHcyS9fDVzJ/Ojn7qnIvS
JO1aUvWqzdGn0XLPdKj2Jms6NN59/iXgF5I9r5NRMOgA4pUaSe7lUcMT8Oy+PyYE
3qKszDIGURdP3Ujzdl6YM3edZJTCieBq6AJwY0CmO6TUJmkpQT0Avx3jyV6lajQH
6qvKipItp6aUx/Uq9eFrpUvXsFSOsdIS1IS+9qHW
xtfxC/m85TYzXLEKb26FcAxFwUVBTn4xh6itLCU4c1mo3KtJZNOQWMFHLTqufxiN
+yYBSDTdibxfV/tWH2KwXpgI4A7w9DtpGCUimojUpLXR5qMwJGl+4wz9n0/VvLqI
Z3E+xzNdHdtuqisoGOwc7ppYnYuwSOxLPDTU1Z/XADwiHX23H88smUPjRDMnWeBN
dRqnxVE6Ad0brYXKClsHLSK3VWh6+vzoYkLf36A9Oc3uzcI6ca/MP5ej7wxJ2qQx
ddTEb4sgxeroJ+he/MPVn+h/pYmRK1K+FpefYVVb2jV6LW+AggjyfWOMfxR9UhtK
B9bAwEOIw+bsW2dngbbpgQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
SIb3DQEBCwUAA4IBAQAXpQABwXwzM84DxfASuuQvR9dSXNIal2wqnB86E2nrKzIj
gzn0FcY4OK1N0LYDg5SyFJnakmqwN6ExojuxysnSeI7eu81Yz45VAEXdyumT+rCc
g1xbf7AlyXfBYKd+jau8EW5hu6DtMmfnXPnKgZm9kUjaMeTywnbg0nPwq7QBUb/O
e07QPbW/elf90FQFWFgEYxt0hwG90glqV9v0lpyUeBEmH1C0w4ElP05pYhePvggU
4XLvuh14nbN6495O9L/wb1p3NYHXuVKlXo9kNnxTgjTpi1BPXQviJBI8sbnfhDRD
XRWxWzWweC1/kJ5X0WIAgRpG8oVymfiU6373CetD
-----END CERTIFICATE-----
SPDX-FileCopyrightText: 2019 Louis Solofrizzo
SPDX-License-Identifier: CC0-1.0
\ No newline at end of file
SPDX-License-Identifier: CC0-1.0
-----BEGIN CERTIFICATE-----
MIIC/jCCAeagAwIBAgIBATANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtwaXN0
YWNoZS5pbzAeFw0yMTA5MTIyMDEyMDhaFw0zMTA5MTAyMDEyMDhaMD4xCzAJBgNV
BAYTAlVTMQswCQYDVQQIDAJXQTERMA8GA1UECgwIUGlzdGFjaGUxDzANBgNVBAMM
BnNlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALiXKwakcyCc
UvTc0gfit4csDgF+raza9KBYJ2DsS6M7/41KQTt7lW/cHUsgU9xYQcWI6FpgoDJn
fgkYw1EqcBHXziLGn/adm8NavDU00L4Krp9oXve2VKSu9ZSAeheS3OsJfr1mdQGd
gAbg4rrX897RfRIkzaohc7J46eNwJDPMfkKs7YeQtnPbWDueGGgHjvTckDPTe/nZ
+xq+5AbbFAkQcO5SgJOy46rgWmpp0pXqgI1fQfFqv4eoQWiztz6uVpPWLmq2eool
foaBX9rfqhGfRodlQ+ltXS43KmhnQ5bu7v+VR8iPYNOLpfAbdOspsGL3A1Xav+zP
0TYYYin6Q9kCAwEAAaMvMC0wCQYDVR0TBAIwADALBgNVHQ8EBAMCBaAwEwYDVR0l
BAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggEBAD396vKR3SoLUJQD1JdZ
04gbFpnyahAR0kWl6P+HmEny6o9UWJw20qrgPrRufcp/DCAXCA/C3J9X5BCvNryI
39B+b/BIjdarB3yWr/iuHMoBPXBu7rVRKQtWWh4VaG5+hZlzhGbMEYnfZR5Vl8mB
ZHFoLyLYykIdF82tiuWy7EH4mri8y0RdohG7WNcPrjdBmImnBqOCANavL8e6x9DA
DPDhW9frM8tA1OpLGdent/IHW+Ovp/asbE0HqTASdwRXNfee2wE/I7NSfenb7cO5
f7kb3oqsbcULHhOqo/3/02D5DmuAnAMEZQKCLhJWUZyrgMk2vHz3EEEoGap2WTyn
xN0=
-----END CERTIFICATE-----
SPDX-FileCopyrightText: 2021 Andrea Pappacoda
SPDX-License-Identifier: CC0-1.0
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,F4B756BA5A6CB0DC815FA74D6B243BD4
O3lHFDYTJ51hKuoNLY7ECINh/9Fbh7+9++WHsny5O2+lKXgv+RR3d+gNZ8qsaeUJ
51PPwoq/GSPzOL+YjUzuDAAYAG76BL6QO7ZG8TOP9qNK2noMbke0h51QdgQWTxMe
4v0YgexIqTIvBZNWPzBYvWOPHUnfVavJQRay2sNPMmVXgKMXTOpbleSikodf5K0r
VwB+mn/p6GMFkeUC9A8CG6P8c74w1ZvtBMGBgVYMtFRhUfTkNElQ6fDfyW1/5IbR
l7qND4BgAQLjUSNwHS7uYvzGlZHxdwGNmzAOpyvJtd20vhsufpY3VgVJkYXYSsUi
nUBRU5RhMYRmY7rHW2p96VWAwIUjUHHf60+21IUcY8bT9dcvFIvSWGGSkcvIBTxz
Bqc2D+eCNJgTo0puwevazNxfWAHlR/K5OFw4GWCD0EqHZWSvzEO69Rd3OZ+3F5Ty
X9JgF326KXjEq9JWbbiRc0dt5tyt14GKn7Ei+TOw4ouv2ViZa42j9mGBfaxzDWip
BJORejTr/ZiDQQQsl0QAye8UASMoekq6hNhH5B+Z4wSgsCXc+bbvi2bgRpnY/mbA
ntJ/uGdLS2PXX8JgR0bdafuOPBfnja76g+8LXHm1SszAP+PvLJCpDGIkxBnPYz3f
yX1ZAsrsPyTD11/shFHFfIaBffnK4r99YGIV/oZjyRQ5kh3Zoh1mF+a5liEfWdQn
hyuKxmd4heh4uO6qCtS8gxbMBzm7+/Em1aIzH28z0JUPyx6hw3OdCTYQ5OB5EZEu
2NCh8HzgVPIpu3pr2s4nDid8FpL7qReoZZZc1gvaRnGlIUb9PPnHks8bXXr1uItm
2G3vUnhx9yze5l/gY0GNDW/R+YARL9iN+6m42eS7vc4POcL9+3/5KoSfweCT79wF
XoM9tEjHsdskSmO5Z/55DcXIjTnJftgr6pvg98iAHRi00ZZyb52djFjANZzJODNC
toj3FZqUnONc/24CUZp8urZtIfL9bna/UWIeY81RUqVScxsCXrvko+zL39Otsjpr
vfmd0Qf3JkzBHSFOlIZYoCjiszSKnU2THMzpiVTyDt67Qu+g0T4VTns2kleH/1hX
jRHXJNXHOrrqKWH1TZ6rHJTEVILV9Vxt0ijArc4puThzqQHRCLh8m+qbQfbhlol7
qg1pmZTyQWiYYlnE+mEOQwjHO6Y8dBWxPWKVf0XrYa2UXypDjoXQXHZhI09G9gxa
EB0J1/Hqq5Xp1oCY0pRODAhbCdiFDME2COuc7A9V8f3UkX06XEpLPITj+H1+uwYM
8IGz2voqPlFq/HqWRDEnewPbkMR4sICo/oMUUQC148NaRYxDwbjuB8m6SuekFcuy
hfhWfkzJQZsl3B/9YSQKyX+mNKYPy+v9pq2Mwj/DDQwG8/RVbkMgVdyV2cadeRzB
Y01RC+1uM1GZknXmCIuRPDOnvUArFd4mIYhRIo37odLdglsnOZVHPZMyKyZuRS78
2qtbB0rWiWY4xlTAAJWa8VFAmJcisJQF3Fq4Z9nyx8QS75LTzHJJ1gj8ob8CYpIL
BmAcfH4g9vtio97BGGrh5LDKwg2rlSGi67ZdPIlXBekLImZhucaPo/DmqO0uxf5e
-----END RSA PRIVATE KEY-----
SPDX-FileCopyrightText: 2021 Andrea Pappacoda
SPDX-License-Identifier: CC0-1.0
......@@ -5,6 +5,7 @@
*/
#include <array>
#include <cstring>
#include <pistache/client.h>
#include <pistache/endpoint.h>
......@@ -56,7 +57,7 @@ struct ServeFileHandler : public Http::Handler
}
};
TEST(http_client_test, basic_tls_request)
TEST(https_server_test, basic_tls_request)
{
Http::Endpoint server(Address("localhost", Pistache::Port(0)));
auto flags = Tcp::Options::ReuseAddr;
......@@ -96,7 +97,7 @@ TEST(http_client_test, basic_tls_request)
ASSERT_EQ(buffer, "Hello, World!");
}
TEST(http_client_test, basic_tls_request_with_chained_server_cert)
TEST(https_server_test, basic_tls_request_with_chained_server_cert)
{
Http::Endpoint server(Address("localhost", Pistache::Port(0)));
auto flags = Tcp::Options::ReuseAddr;
......@@ -137,7 +138,7 @@ TEST(http_client_test, basic_tls_request_with_chained_server_cert)
ASSERT_EQ(buffer, "Hello, World!");
}
TEST(http_client_test, basic_tls_request_with_auth)
TEST(https_server_test, basic_tls_request_with_auth)
{
Http::Endpoint server(Address("localhost", Pistache::Port(0)));
auto flags = Tcp::Options::ReuseAddr;
......@@ -181,7 +182,7 @@ TEST(http_client_test, basic_tls_request_with_auth)
ASSERT_EQ(buffer, "Hello, World!");
}
TEST(http_client_test, basic_tls_request_with_auth_no_client_cert)
TEST(https_server_test, basic_tls_request_with_auth_no_client_cert)
{
Http::Endpoint server(Address("localhost", Pistache::Port(0)));
auto flags = Tcp::Options::ReuseAddr;
......@@ -222,7 +223,7 @@ TEST(http_client_test, basic_tls_request_with_auth_no_client_cert)
ASSERT_NE(res, CURLE_OK);
}
TEST(http_client_test, basic_tls_request_with_auth_client_cert_not_signed)
TEST(https_server_test, basic_tls_request_with_auth_client_cert_not_signed)
{
Http::Endpoint server(Address("localhost", Pistache::Port(0)));
auto flags = Tcp::Options::ReuseAddr;
......@@ -275,7 +276,7 @@ static int verify_callback(int verify, void* ctx)
return 1;
}
TEST(http_client_test, basic_tls_request_with_auth_with_cb)
TEST(https_server_test, basic_tls_request_with_auth_with_cb)
{
Http::Endpoint server(Address("localhost", Pistache::Port(0)));
auto flags = Tcp::Options::ReuseAddr;
......@@ -321,7 +322,7 @@ TEST(http_client_test, basic_tls_request_with_auth_with_cb)
callback_called = false;
}
TEST(http_client_test, basic_tls_request_with_servefile)
TEST(https_server_test, basic_tls_request_with_servefile)
{
Http::Endpoint server(Address("localhost", Pistache::Port(0)));
auto flags = Tcp::Options::ReuseAddr;
......@@ -369,3 +370,48 @@ TEST(http_client_test, basic_tls_request_with_servefile)
ASSERT_EQ(res, CURLE_OK);
ASSERT_EQ(buffer.rfind("-----BEGIN CERTIFICATE-----", 0), 0u);
}
TEST(https_server_test, basic_tls_request_with_password_cert)
{
Http::Endpoint server(Address("localhost", Pistache::Port(0)));
const auto passwordCallback = [](char* buf, int size, int /*rwflag*/, void* /*u*/) -> int
{
static constexpr const char* const password = "test";
std::strncpy(buf, password, size);
return static_cast<int>(std::strlen(password));
};
server.init(Http::Endpoint::options().flags(Tcp::Options::ReuseAddr));
server.setHandler(Http::make_handler<HelloHandler>());
server.useSSL("./certs/server_protected.crt", "./certs/server_protected.key", false, passwordCallback);
server.serveThreaded();
CURL* curl;
CURLcode res;
std::string buffer;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
ASSERT_NE(curl, nullptr);
const auto url = getServerUrl(server);
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_CAINFO, "./certs/rootCA.crt");
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 1);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &write_cb);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &buffer);
/* Skip hostname check */
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
curl_global_cleanup();
server.shutdown();
ASSERT_EQ(res, CURLE_OK);
ASSERT_EQ(buffer, "Hello, World!");
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment