1
0
mirror of https://github.com/eclipse/paho.mqtt.cpp.git synced 2025-05-09 19:31:22 +08:00

Copied certificates from Paho C library for testing SSL/TLS examples, w/ Mosquitto config

This commit is contained in:
fpagliughi 2024-07-08 20:51:00 -04:00
parent 4d51422c8b
commit 1c08a3e4a4
8 changed files with 500 additions and 1 deletions

View File

@ -12,7 +12,7 @@
# #
# Contributors: # Contributors:
# Guilherme Maciel Ferreira - initial version # Guilherme Maciel Ferreira - initial version
# Frank Pagliughi # Frank Pagliughi - updates throughout
#*******************************************************************************/ #*******************************************************************************/
install( install(
@ -26,6 +26,7 @@ install(
create_options.h create_options.h
delivery_token.h delivery_token.h
disconnect_options.h disconnect_options.h
event.h
exception.h exception.h
export.h export.h
iaction_listener.h iaction_listener.h

102
test/ssl/all-ca.crt Normal file
View File

@ -0,0 +1,102 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1 (0x1)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=GB, ST=Wiltshire, L=Salisbury, O=Paho Project, OU=Testing, CN=Root CA
Validity
Not Before: Apr 13 13:22:31 2023 GMT
Not After : Apr 11 13:22:31 2028 GMT
Subject: C=GB, ST=Wiltshire, O=Paho Project, OU=Testing, CN=Signing CA
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
00:e6:ce:0e:a2:6a:56:1c:35:8c:7a:af:31:43:7d:
28:cb:61:15:81:2d:37:ff:f1:8f:7d:78:c3:37:58:
8f:6a:4c:00:b6:9d:04:f3:1c:cd:fb:ca:7d:c0:dc:
2b:3b:e4:c1:00:0c:71:83:df:cf:12:6f:98:ea:19:
01:0b:87:5f:df:a7:58:76:9c:56:b9:f2:1d:d8:9f:
24:89:eb:af:7f:fe:47:5a:a8:b3:79:c2:46:be:38:
bf:77:03:61:b7:de:d0:ae:37:8b:ad:0d:02:5c:c3:
e2:3a:17:e7:fc:86:9e:cd:ff:87:21:4a:c9:f5:c2:
3d:bf:c9:14:1e:19:d9:89:19:e9:d9:b2:c8:a9:e9:
d2:9b:ae:73:f2:b7:e7:fc:3d:9b:c3:72:b6:be:10:
fc:0c:c2:eb:b7:8f:4a:67:4c:1b:43:ca:4e:58:df:
cc:74:c6:6b:95:de:09:ae:ef:60:62:81:82:74:de:
b8:48:24:3e:0a:ac:75:72:fa:f8:5d:f2:72:7a:bd:
04:13:d2:c8:90:a3:ad:08:39:74:22:3f:10:7b:88:
37:b8:77:2b:4a:34:1a:fa:4a:64:82:b4:fe:de:6c:
b5:a5:4c:70:6b:7e:ab:b4:2f:57:80:f0:0c:49:1b:
f1:32:1f:46:2f:12:af:e7:96:be:b1:09:df:b9:6a:
88:bf
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
E1:BE:F5:5F:36:50:CF:FE:3D:42:EE:80:33:22:46:C2:3D:2A:41:41
X509v3 Authority Key Identifier:
keyid:FE:98:8A:C3:41:B2:71:3A:4A:B3:76:5A:3C:17:06:93:11:99:8E:C8
X509v3 Basic Constraints:
CA:TRUE
Signature Algorithm: sha256WithRSAEncryption
0d:67:f0:6d:9e:7f:ad:7a:fb:81:f7:ed:40:fe:80:69:e3:df:
94:ed:94:b7:3f:11:db:02:ba:08:1e:a9:28:95:b5:3f:e5:86:
02:6d:33:3c:57:39:be:18:4a:d5:18:0f:e8:59:5b:40:38:b2:
9d:71:18:4c:b1:e6:d9:51:2d:a0:7b:af:35:b4:d9:f3:d8:f5:
09:b9:e5:e9:81:38:b0:a6:89:57:51:76:71:7d:91:bb:db:10:
2b:25:ce:2d:59:5a:cd:29:a2:19:a6:a0:56:19:d7:38:f4:cb:
94:43:90:ff:20:ce:af:37:c7:73:34:ef:fb:cb:e1:f2:1f:68:
42:91:9d:33:3f:a1:7a:cb:80:5f:f2:52:81:f1:15:fa:79:01:
1a:29:c4:36:41:26:75:5c:4b:ff:be:67:12:d8:d2:72:03:5a:
3e:2e:aa:b3:10:b5:10:37:2b:eb:f7:59:3a:66:87:f4:ca:e4:
d4:35:6f:78:aa:26:de:ac:02:65:91:d2:fa:80:db:b9:8b:a6:
26:bb:46:8f:21:e8:18:84:a6:b5:17:fb:e2:de:d8:b3:39:b2:
6a:42:28:e9:05:55:e6:0b:39:32:42:28:a2:72:51:7c:46:96:
e2:c2:7f:b3:a5:b9:af:3b:04:3a:93:ba:9c:2c:0a:28:39:fc:
8b:12:7d:b7
-----BEGIN CERTIFICATE-----
MIIDmjCCAoKgAwIBAgIBATANBgkqhkiG9w0BAQsFADBwMQswCQYDVQQGEwJHQjES
MBAGA1UECAwJV2lsdHNoaXJlMRIwEAYDVQQHDAlTYWxpc2J1cnkxFTATBgNVBAoM
DFBhaG8gUHJvamVjdDEQMA4GA1UECwwHVGVzdGluZzEQMA4GA1UEAwwHUm9vdCBD
QTAeFw0yMzA0MTMxMzIyMzFaFw0yODA0MTExMzIyMzFaMF8xCzAJBgNVBAYTAkdC
MRIwEAYDVQQIDAlXaWx0c2hpcmUxFTATBgNVBAoMDFBhaG8gUHJvamVjdDEQMA4G
A1UECwwHVGVzdGluZzETMBEGA1UEAwwKU2lnbmluZyBDQTCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBAObODqJqVhw1jHqvMUN9KMthFYEtN//xj314wzdY
j2pMALadBPMczfvKfcDcKzvkwQAMcYPfzxJvmOoZAQuHX9+nWHacVrnyHdifJInr
r3/+R1qos3nCRr44v3cDYbfe0K43i60NAlzD4joX5/yGns3/hyFKyfXCPb/JFB4Z
2YkZ6dmyyKnp0puuc/K35/w9m8Nytr4Q/AzC67ePSmdMG0PKTljfzHTGa5XeCa7v
YGKBgnTeuEgkPgqsdXL6+F3ycnq9BBPSyJCjrQg5dCI/EHuIN7h3K0o0GvpKZIK0
/t5staVMcGt+q7QvV4DwDEkb8TIfRi8Sr+eWvrEJ37lqiL8CAwEAAaNQME4wHQYD
VR0OBBYEFOG+9V82UM/+PULugDMiRsI9KkFBMB8GA1UdIwQYMBaAFP6YisNBsnE6
SrN2WjwXBpMRmY7IMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAA1n
8G2ef616+4H37UD+gGnj35TtlLc/EdsCuggeqSiVtT/lhgJtMzxXOb4YStUYD+hZ
W0A4sp1xGEyx5tlRLaB7rzW02fPY9Qm55emBOLCmiVdRdnF9kbvbECslzi1ZWs0p
ohmmoFYZ1zj0y5RDkP8gzq83x3M07/vL4fIfaEKRnTM/oXrLgF/yUoHxFfp5ARop
xDZBJnVcS/++ZxLY0nIDWj4uqrMQtRA3K+v3WTpmh/TK5NQ1b3iqJt6sAmWR0vqA
27mLpia7Ro8h6BiEprUX++Le2LM5smpCKOkFVeYLOTJCKKJyUXxGluLCf7Olua87
BDqTupwsCig5/IsSfbc=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDwDCCAqigAwIBAgIUPajsILLwblnD7WEDCk00ebOAASgwDQYJKoZIhvcNAQEL
BQAwcDELMAkGA1UEBhMCR0IxEjAQBgNVBAgMCVdpbHRzaGlyZTESMBAGA1UEBwwJ
U2FsaXNidXJ5MRUwEwYDVQQKDAxQYWhvIFByb2plY3QxEDAOBgNVBAsMB1Rlc3Rp
bmcxEDAOBgNVBAMMB1Jvb3QgQ0EwIBcNMjMwNDEzMTMyMjMxWhgPMjEwNTA2MDIx
MzIyMzFaMHAxCzAJBgNVBAYTAkdCMRIwEAYDVQQIDAlXaWx0c2hpcmUxEjAQBgNV
BAcMCVNhbGlzYnVyeTEVMBMGA1UECgwMUGFobyBQcm9qZWN0MRAwDgYDVQQLDAdU
ZXN0aW5nMRAwDgYDVQQDDAdSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAsqFZCPniXeWNtd5NhccCmirdLv6i/c6FAffg4iMPEYanDTh0PPWE
/tPiiOTzcGp5udF3hjjtv2lx5OSEaZYNSIgWERf0LPS0MBsHjMmVoU4S8+gZAst1
igzWKmmZAaUwBdGz0D6cRr7ZMUBfzJnrF1V6VQMLNXfrXmYAXRpxRMcBv3FPYLUc
qXp9gbFYnc+xNbuDE3Ir6/wMOu3Q1H6BvnIGVmdGqnmrONqzkMcqCuTEGlFEBQ4s
HrZUbXQGSKtlMInAM1hyP+qHmuMwTfue8/qspewHds9fNstJL9wLCZBk3Jdf6B5I
S6S+cmHM00cThnuVVwnwgU6syGhgekCNYwIDAQABo1AwTjAdBgNVHQ4EFgQU/piK
w0GycTpKs3ZaPBcGkxGZjsgwHwYDVR0jBBgwFoAU/piKw0GycTpKs3ZaPBcGkxGZ
jsgwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAhno5Byj3BGy/je/u
yPl8/uGOqh+uK0Ds+6YvUBRTHlnAFegwQrJhq17bzTdZZlw5s0+bYEVtOwX6p7Zk
mT4zUEPEQ7B223+r3TiB5xQ4ad+wZsDa9X7XY0+vqc+wf4CHFPHX4ZR0Xa1p/vBL
Y3L6ANHkwRFgx+XREmkiv4GJxeZtNSevuM63bbRZ/Y7OSZQlvKTxNlsKqi+61d7w
ciWk9BmmXNm2kQeKwsx5o7bMiETOhDXobcibD8R3U+3tf3vWp9jWIMZKkJ40U1Wb
LM0S9B1ZBkqb3Ml4Rq0AhQntQNGKDobt93ilQoGSUKq0/bR5wA8Yad9viVbbbSsm
kkdThg==
-----END CERTIFICATE-----

211
test/ssl/client.pem Normal file
View File

@ -0,0 +1,211 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 2 (0x2)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=GB, ST=Wiltshire, O=Paho Project, OU=Testing, CN=Signing CA
Validity
Not Before: Apr 13 13:22:40 2023 GMT
Not After : Apr 11 13:22:40 2028 GMT
Subject: C=GB, ST=Wiltshire, L=Salisbury, O=Paho Project, OU=Production, CN=test client
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
00:c9:03:bc:43:8e:1e:2e:cd:ac:4a:33:2f:99:fc:
de:9b:43:ff:c3:c2:ca:ab:de:a8:e2:10:1b:86:d2:
51:ef:71:26:1f:7c:0e:5c:5b:5d:e7:1e:62:25:eb:
db:1f:7a:7f:c8:87:3b:79:38:b4:0b:e6:8e:43:8b:
8b:3a:e8:85:0a:2f:77:13:80:cb:1b:86:30:ff:7f:
f9:a2:70:68:5e:0b:dd:7f:4b:7d:f4:82:2b:39:5d:
43:cd:fd:d9:38:be:4e:4f:0f:5d:5c:f6:cc:49:95:
d5:b4:d5:a1:56:93:38:1d:62:5e:58:f3:90:3c:44:
1e:3d:85:2b:0f:9f:4f:9e:9a:e3:b1:4b:18:a8:e1:
05:6b:88:c5:ea:bf:a6:85:b9:3c:9f:02:ad:83:31:
09:5e:e3:a2:b1:78:6b:bc:b2:d1:05:f5:22:3a:90:
a5:1c:0f:b5:94:aa:29:aa:7d:c8:ee:f5:3a:8f:2c:
32:42:e1:c0:ec:8f:a8:73:ca:38:17:05:c9:c0:ce:
e2:c4:40:68:0b:4f:86:fb:1b:35:9c:4e:69:81:4f:
c8:cf:09:06:eb:ed:3a:f6:46:86:4f:91:f8:35:be:
3c:ca:03:a4:0f:3d:75:56:d1:93:7f:a2:d2:32:38:
df:02:ac:2b:ff:a1:94:a4:80:b7:9f:ca:9e:51:0f:
1a:bb
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
DF:C7:7A:E1:90:8C:51:CB:9F:32:43:B0:A6:60:E8:FB:A0:79:6E:F0
X509v3 Authority Key Identifier:
keyid:E1:BE:F5:5F:36:50:CF:FE:3D:42:EE:80:33:22:46:C2:3D:2A:41:41
Signature Algorithm: sha256WithRSAEncryption
5b:94:99:5f:8d:97:69:31:9d:ea:3d:e1:a5:a8:75:4c:1a:ef:
c0:cb:b1:92:a6:19:c4:a1:25:12:2f:64:3c:af:6d:d4:48:b8:
77:e8:29:4b:5a:6a:50:65:85:c7:ba:22:a5:9c:24:93:75:fc:
3e:ee:81:23:a4:89:da:89:4c:54:3b:02:8f:2d:de:dd:85:df:
11:ac:26:b5:e6:b5:d9:82:21:28:90:3c:45:42:fe:7a:0a:ba:
46:6c:8f:05:1d:ff:6f:c6:47:16:04:f3:4b:b3:e2:82:a2:3b:
97:71:78:0b:12:19:db:a4:fc:2f:e1:ce:2b:b1:b6:8b:1b:30:
69:6a:b0:16:2e:2a:c1:a1:d5:69:ab:b2:b4:95:e1:8f:bf:dc:
4e:33:7d:06:8c:2b:37:ca:d9:c2:49:b4:4b:ec:32:ac:f1:12:
80:c9:08:02:67:d9:f8:90:62:d9:27:4d:14:67:7b:09:bb:bc:
56:8a:68:57:d5:6b:4f:df:00:14:0a:69:45:fc:30:5f:88:3a:
37:b8:55:8f:a6:8e:fe:48:d8:1b:25:4b:e8:c1:16:84:26:5b:
e5:0b:ba:96:11:a0:db:b2:68:57:a9:55:f3:a8:03:65:82:da:
9d:40:19:73:8f:d6:ab:98:fa:26:15:27:da:46:ab:29:df:a9:
61:8b:55:2d
-----BEGIN CERTIFICATE-----
MIIDzDCCArSgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBfMQswCQYDVQQGEwJHQjES
MBAGA1UECAwJV2lsdHNoaXJlMRUwEwYDVQQKDAxQYWhvIFByb2plY3QxEDAOBgNV
BAsMB1Rlc3RpbmcxEzARBgNVBAMMClNpZ25pbmcgQ0EwHhcNMjMwNDEzMTMyMjQw
WhcNMjgwNDExMTMyMjQwWjB3MQswCQYDVQQGEwJHQjESMBAGA1UECAwJV2lsdHNo
aXJlMRIwEAYDVQQHDAlTYWxpc2J1cnkxFTATBgNVBAoMDFBhaG8gUHJvamVjdDET
MBEGA1UECwwKUHJvZHVjdGlvbjEUMBIGA1UEAwwLdGVzdCBjbGllbnQwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJA7xDjh4uzaxKMy+Z/N6bQ//Dwsqr
3qjiEBuG0lHvcSYffA5cW13nHmIl69sfen/Ihzt5OLQL5o5Di4s66IUKL3cTgMsb
hjD/f/micGheC91/S330gis5XUPN/dk4vk5PD11c9sxJldW01aFWkzgdYl5Y85A8
RB49hSsPn0+emuOxSxio4QVriMXqv6aFuTyfAq2DMQle46KxeGu8stEF9SI6kKUc
D7WUqimqfcju9TqPLDJC4cDsj6hzyjgXBcnAzuLEQGgLT4b7GzWcTmmBT8jPCQbr
7Tr2RoZPkfg1vjzKA6QPPXVW0ZN/otIyON8CrCv/oZSkgLefyp5RDxq7AgMBAAGj
ezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVk
IENlcnRpZmljYXRlMB0GA1UdDgQWBBTfx3rhkIxRy58yQ7CmYOj7oHlu8DAfBgNV
HSMEGDAWgBThvvVfNlDP/j1C7oAzIkbCPSpBQTANBgkqhkiG9w0BAQsFAAOCAQEA
W5SZX42XaTGd6j3hpah1TBrvwMuxkqYZxKElEi9kPK9t1Ei4d+gpS1pqUGWFx7oi
pZwkk3X8Pu6BI6SJ2olMVDsCjy3e3YXfEawmtea12YIhKJA8RUL+egq6RmyPBR3/
b8ZHFgTzS7PigqI7l3F4CxIZ26T8L+HOK7G2ixswaWqwFi4qwaHVaauytJXhj7/c
TjN9BowrN8rZwkm0S+wyrPESgMkIAmfZ+JBi2SdNFGd7Cbu8VopoV9VrT98AFApp
RfwwX4g6N7hVj6aO/kjYGyVL6MEWhCZb5Qu6lhGg27JoV6lV86gDZYLanUAZc4/W
q5j6JhUn2karKd+pYYtVLQ==
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAyQO8Q44eLs2sSjMvmfzem0P/w8LKq96o4hAbhtJR73EmH3wO
XFtd5x5iJevbH3p/yIc7eTi0C+aOQ4uLOuiFCi93E4DLG4Yw/3/5onBoXgvdf0t9
9IIrOV1Dzf3ZOL5OTw9dXPbMSZXVtNWhVpM4HWJeWPOQPEQePYUrD59PnprjsUsY
qOEFa4jF6r+mhbk8nwKtgzEJXuOisXhrvLLRBfUiOpClHA+1lKopqn3I7vU6jywy
QuHA7I+oc8o4FwXJwM7ixEBoC0+G+xs1nE5pgU/IzwkG6+069kaGT5H4Nb48ygOk
Dz11VtGTf6LSMjjfAqwr/6GUpIC3n8qeUQ8auwIDAQABAoIBAQCQS8soX2uRQ3kr
JoVEL/6ITI7cMweTytlGtjNcW7wPexTXwxD4AWpuDyR7fkyk0yXJiDIMOcUdSdrT
5+cBWYqvHhWHfYvPbUvdDTvg/HofELtmtoVrMMngeu/CfjghgJLsM+ZcZpmNNS7c
igIwCKxeg4+goO7oJCnlFaQsqbrY6aWzVcPz/Jr/IpTQJfHfFwhZmFGOoLzZNsnv
K5Y0rsVWxMjFDjhFpvTHWI+GJGHv9BNmxezc7hxbnI5QnS/EZUpLvECQryixjxLc
OnubZlGD3mk6eGvO2a+8zYQnOFw5BcX0qx1OoVbbkkzaN8DGytbTZqR9Irx7yFeB
RHg/fEHxAoGBAPrtthY61l7cj28UGFKGtC/a7r+6vYdqDGEJ+O8Ej9y4YZa7SI7x
dYQL/kVrgGFpWlntoW1l7iDRUvLV7oQIv78fKIlVj/kQou5LOLa9AYMLteULPuov
h3krszjOeRtTZSSAOo/tlgkgXPd9gqaFEOqGOII6ZC7S+a4B0eog0kBZAoGBAM0T
xbn/gkHNouOJtfMXjQyhxTcdQcTSsmDA1MxrwMFOj4PkBZ8BygGoNCOX48eK4h3v
2Eq/vGF4PApfwYb1Q4Hmd3quTvTDLprVt+OGsfvcM+91ng44wdCUM5oCV9o0bz9r
+ubsjoqDE+pTj7Oe8diJaqWkOXRjY/cDrjjOTXEzAoGAOOlRMxmFJV7A6WCVY6JJ
m9D79WBVPDFBPYEVhKB0QItRFu7DNihtjtVphjUrmOxcIalTw4wqxiazuX/r6OZT
FvXqK7vMO6EaUxGce1XC0gYF6zzxuAuvnjvbGjc6IIh5mB29KoeoT8mXTEqbJ0lm
3Mo0ZtT3g+c12dFv2ro29YECgYBZ55AoYX5+UKNXc1jj8HAymHz4E4hwvBndVswz
rg178W/zVzSrp8IihdYNwJnoMde9XheJdZMle+t+dMpH2yA0Q5AfpWkR3ruAv671
PWirzLasBPk8rN8zDLWuj9Zp39DhkfoV4KEA0kQZ13ZJPaYy0tOBOITDpIr/kIqB
dtf2hwKBgBQhkugpz/UZOywrrspaYkB0fDjT19MpJDDFMdj7Q9EbVWszdwC00bpk
KvrfB8bH3u/cpQwnJkMHpIEuT4r4JUY1lTq9laGIAJ5kZTYoJoKEfynq8FnMDY12
tO/1WhwvBvWcmvAgR/aI7RVGLJ5VaeCX8LhzU9wNTKkxrgMpC1Ke
-----END RSA PRIVATE KEY-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1 (0x1)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=GB, ST=Wiltshire, L=Salisbury, O=Paho Project, OU=Testing, CN=Root CA
Validity
Not Before: Apr 13 13:22:31 2023 GMT
Not After : Apr 11 13:22:31 2028 GMT
Subject: C=GB, ST=Wiltshire, O=Paho Project, OU=Testing, CN=Signing CA
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
00:e6:ce:0e:a2:6a:56:1c:35:8c:7a:af:31:43:7d:
28:cb:61:15:81:2d:37:ff:f1:8f:7d:78:c3:37:58:
8f:6a:4c:00:b6:9d:04:f3:1c:cd:fb:ca:7d:c0:dc:
2b:3b:e4:c1:00:0c:71:83:df:cf:12:6f:98:ea:19:
01:0b:87:5f:df:a7:58:76:9c:56:b9:f2:1d:d8:9f:
24:89:eb:af:7f:fe:47:5a:a8:b3:79:c2:46:be:38:
bf:77:03:61:b7:de:d0:ae:37:8b:ad:0d:02:5c:c3:
e2:3a:17:e7:fc:86:9e:cd:ff:87:21:4a:c9:f5:c2:
3d:bf:c9:14:1e:19:d9:89:19:e9:d9:b2:c8:a9:e9:
d2:9b:ae:73:f2:b7:e7:fc:3d:9b:c3:72:b6:be:10:
fc:0c:c2:eb:b7:8f:4a:67:4c:1b:43:ca:4e:58:df:
cc:74:c6:6b:95:de:09:ae:ef:60:62:81:82:74:de:
b8:48:24:3e:0a:ac:75:72:fa:f8:5d:f2:72:7a:bd:
04:13:d2:c8:90:a3:ad:08:39:74:22:3f:10:7b:88:
37:b8:77:2b:4a:34:1a:fa:4a:64:82:b4:fe:de:6c:
b5:a5:4c:70:6b:7e:ab:b4:2f:57:80:f0:0c:49:1b:
f1:32:1f:46:2f:12:af:e7:96:be:b1:09:df:b9:6a:
88:bf
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
E1:BE:F5:5F:36:50:CF:FE:3D:42:EE:80:33:22:46:C2:3D:2A:41:41
X509v3 Authority Key Identifier:
keyid:FE:98:8A:C3:41:B2:71:3A:4A:B3:76:5A:3C:17:06:93:11:99:8E:C8
X509v3 Basic Constraints:
CA:TRUE
Signature Algorithm: sha256WithRSAEncryption
0d:67:f0:6d:9e:7f:ad:7a:fb:81:f7:ed:40:fe:80:69:e3:df:
94:ed:94:b7:3f:11:db:02:ba:08:1e:a9:28:95:b5:3f:e5:86:
02:6d:33:3c:57:39:be:18:4a:d5:18:0f:e8:59:5b:40:38:b2:
9d:71:18:4c:b1:e6:d9:51:2d:a0:7b:af:35:b4:d9:f3:d8:f5:
09:b9:e5:e9:81:38:b0:a6:89:57:51:76:71:7d:91:bb:db:10:
2b:25:ce:2d:59:5a:cd:29:a2:19:a6:a0:56:19:d7:38:f4:cb:
94:43:90:ff:20:ce:af:37:c7:73:34:ef:fb:cb:e1:f2:1f:68:
42:91:9d:33:3f:a1:7a:cb:80:5f:f2:52:81:f1:15:fa:79:01:
1a:29:c4:36:41:26:75:5c:4b:ff:be:67:12:d8:d2:72:03:5a:
3e:2e:aa:b3:10:b5:10:37:2b:eb:f7:59:3a:66:87:f4:ca:e4:
d4:35:6f:78:aa:26:de:ac:02:65:91:d2:fa:80:db:b9:8b:a6:
26:bb:46:8f:21:e8:18:84:a6:b5:17:fb:e2:de:d8:b3:39:b2:
6a:42:28:e9:05:55:e6:0b:39:32:42:28:a2:72:51:7c:46:96:
e2:c2:7f:b3:a5:b9:af:3b:04:3a:93:ba:9c:2c:0a:28:39:fc:
8b:12:7d:b7
-----BEGIN CERTIFICATE-----
MIIDmjCCAoKgAwIBAgIBATANBgkqhkiG9w0BAQsFADBwMQswCQYDVQQGEwJHQjES
MBAGA1UECAwJV2lsdHNoaXJlMRIwEAYDVQQHDAlTYWxpc2J1cnkxFTATBgNVBAoM
DFBhaG8gUHJvamVjdDEQMA4GA1UECwwHVGVzdGluZzEQMA4GA1UEAwwHUm9vdCBD
QTAeFw0yMzA0MTMxMzIyMzFaFw0yODA0MTExMzIyMzFaMF8xCzAJBgNVBAYTAkdC
MRIwEAYDVQQIDAlXaWx0c2hpcmUxFTATBgNVBAoMDFBhaG8gUHJvamVjdDEQMA4G
A1UECwwHVGVzdGluZzETMBEGA1UEAwwKU2lnbmluZyBDQTCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBAObODqJqVhw1jHqvMUN9KMthFYEtN//xj314wzdY
j2pMALadBPMczfvKfcDcKzvkwQAMcYPfzxJvmOoZAQuHX9+nWHacVrnyHdifJInr
r3/+R1qos3nCRr44v3cDYbfe0K43i60NAlzD4joX5/yGns3/hyFKyfXCPb/JFB4Z
2YkZ6dmyyKnp0puuc/K35/w9m8Nytr4Q/AzC67ePSmdMG0PKTljfzHTGa5XeCa7v
YGKBgnTeuEgkPgqsdXL6+F3ycnq9BBPSyJCjrQg5dCI/EHuIN7h3K0o0GvpKZIK0
/t5staVMcGt+q7QvV4DwDEkb8TIfRi8Sr+eWvrEJ37lqiL8CAwEAAaNQME4wHQYD
VR0OBBYEFOG+9V82UM/+PULugDMiRsI9KkFBMB8GA1UdIwQYMBaAFP6YisNBsnE6
SrN2WjwXBpMRmY7IMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAA1n
8G2ef616+4H37UD+gGnj35TtlLc/EdsCuggeqSiVtT/lhgJtMzxXOb4YStUYD+hZ
W0A4sp1xGEyx5tlRLaB7rzW02fPY9Qm55emBOLCmiVdRdnF9kbvbECslzi1ZWs0p
ohmmoFYZ1zj0y5RDkP8gzq83x3M07/vL4fIfaEKRnTM/oXrLgF/yUoHxFfp5ARop
xDZBJnVcS/++ZxLY0nIDWj4uqrMQtRA3K+v3WTpmh/TK5NQ1b3iqJt6sAmWR0vqA
27mLpia7Ro8h6BiEprUX++Le2LM5smpCKOkFVeYLOTJCKKJyUXxGluLCf7Olua87
BDqTupwsCig5/IsSfbc=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDwDCCAqigAwIBAgIUPajsILLwblnD7WEDCk00ebOAASgwDQYJKoZIhvcNAQEL
BQAwcDELMAkGA1UEBhMCR0IxEjAQBgNVBAgMCVdpbHRzaGlyZTESMBAGA1UEBwwJ
U2FsaXNidXJ5MRUwEwYDVQQKDAxQYWhvIFByb2plY3QxEDAOBgNVBAsMB1Rlc3Rp
bmcxEDAOBgNVBAMMB1Jvb3QgQ0EwIBcNMjMwNDEzMTMyMjMxWhgPMjEwNTA2MDIx
MzIyMzFaMHAxCzAJBgNVBAYTAkdCMRIwEAYDVQQIDAlXaWx0c2hpcmUxEjAQBgNV
BAcMCVNhbGlzYnVyeTEVMBMGA1UECgwMUGFobyBQcm9qZWN0MRAwDgYDVQQLDAdU
ZXN0aW5nMRAwDgYDVQQDDAdSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAsqFZCPniXeWNtd5NhccCmirdLv6i/c6FAffg4iMPEYanDTh0PPWE
/tPiiOTzcGp5udF3hjjtv2lx5OSEaZYNSIgWERf0LPS0MBsHjMmVoU4S8+gZAst1
igzWKmmZAaUwBdGz0D6cRr7ZMUBfzJnrF1V6VQMLNXfrXmYAXRpxRMcBv3FPYLUc
qXp9gbFYnc+xNbuDE3Ir6/wMOu3Q1H6BvnIGVmdGqnmrONqzkMcqCuTEGlFEBQ4s
HrZUbXQGSKtlMInAM1hyP+qHmuMwTfue8/qspewHds9fNstJL9wLCZBk3Jdf6B5I
S6S+cmHM00cThnuVVwnwgU6syGhgekCNYwIDAQABo1AwTjAdBgNVHQ4EFgQU/piK
w0GycTpKs3ZaPBcGkxGZjsgwHwYDVR0jBBgwFoAU/piKw0GycTpKs3ZaPBcGkxGZ
jsgwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAhno5Byj3BGy/je/u
yPl8/uGOqh+uK0Ds+6YvUBRTHlnAFegwQrJhq17bzTdZZlw5s0+bYEVtOwX6p7Zk
mT4zUEPEQ7B223+r3TiB5xQ4ad+wZsDa9X7XY0+vqc+wf4CHFPHX4ZR0Xa1p/vBL
Y3L6ANHkwRFgx+XREmkiv4GJxeZtNSevuM63bbRZ/Y7OSZQlvKTxNlsKqi+61d7w
ciWk9BmmXNm2kQeKwsx5o7bMiETOhDXobcibD8R3U+3tf3vWp9jWIMZKkJ40U1Wb
LM0S9B1ZBkqb3Ml4Rq0AhQntQNGKDobt93ilQoGSUKq0/bR5wA8Yad9viVbbbSsm
kkdThg==
-----END CERTIFICATE-----

40
test/ssl/mosquitto.conf Normal file
View File

@ -0,0 +1,40 @@
log_type error
log_type warning
log_type notice
log_type information
#log_type debug
#log_dest file /var/log/mosquitto/tls-testing.log
allow_anonymous true
#password_file test/tls-testing/mosquitto.pw
#message_size_limit 5000000
# non-SSL listeners
listener 1883
listener 18883
# listener for mutual authentication
listener 18884
cafile test/ssl/all-ca.crt
certfile test/ssl/server.crt
keyfile test/ssl/server.key
require_certificate true
use_identity_as_username false
#tls_version tlsv1
# server authentication - no client authentication
listener 18885
protocol websockets
cafile test/ssl/all-ca.crt
certfile test/ssl/server.crt
keyfile test/ssl/server.key
require_certificate false
#tls_version tlsv1
# TLS-PSK authentication
#listener 18888
#ciphers PSK-AES128-CBC-SHA
#psk_hint Test
#psk_file test/tls-testing/mosquitto.psk

82
test/ssl/server.crt Normal file
View File

@ -0,0 +1,82 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1 (0x1)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=GB, ST=Wiltshire, O=Paho Project, OU=Testing, CN=Signing CA
Validity
Not Before: Apr 13 13:22:38 2023 GMT
Not After : Apr 11 13:22:38 2028 GMT
Subject: C=GB, ST=Wiltshire, L=Salisbury, O=Paho Project, OU=Production, CN=localhost
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
00:c8:b2:1f:2b:d4:6c:20:f0:67:64:14:9d:79:14:
b3:99:49:a9:65:1d:20:f3:1e:b7:96:92:9b:e7:0c:
1d:90:be:dc:a5:c5:10:e1:9e:d9:fd:f4:6f:f0:1e:
18:ef:db:fd:f9:88:e3:fb:0f:fb:4b:6b:15:c3:8d:
43:86:6c:2b:f0:12:94:b5:ce:9d:60:57:04:15:0e:
07:0f:72:87:5b:38:62:f4:75:5d:17:05:3d:45:1f:
e7:7b:ee:da:50:95:22:10:de:f8:87:cb:b8:39:38:
cf:88:6d:69:80:7d:df:a7:50:28:45:df:aa:33:e3:
3d:d6:a2:4c:2b:8d:bb:83:db:98:2d:cd:1a:7f:88:
75:e5:5d:fc:ea:c8:60:93:31:76:66:f3:24:ad:2b:
fa:20:77:41:61:ab:43:ee:47:52:45:6b:a4:11:98:
3d:bf:7c:09:57:c0:0b:36:8f:ba:be:e3:29:d5:3e:
f9:c1:51:15:1f:b1:c1:4e:9f:c8:68:e2:b1:d8:11:
25:7b:65:56:11:79:fe:f7:f1:c8:ac:9b:b0:a2:4b:
e5:c4:e4:96:ab:92:30:f8:ce:a7:ae:c9:53:e1:f4:
d9:f8:55:e1:52:1a:b2:e0:ae:b6:76:f7:e4:dc:2c:
0b:f2:c3:09:b2:f7:42:8d:56:d6:d4:3b:af:18:2e:
26:31
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
93:31:D2:88:FB:6F:4C:AB:37:BE:CE:30:6B:1B:AB:70:27:58:8F:DA
X509v3 Authority Key Identifier:
keyid:E1:BE:F5:5F:36:50:CF:FE:3D:42:EE:80:33:22:46:C2:3D:2A:41:41
Signature Algorithm: sha256WithRSAEncryption
4a:2e:1f:9c:7e:99:2e:cc:40:b4:49:ea:92:27:d4:35:f5:07:
6b:ff:a2:2e:15:47:76:40:3c:9b:1c:85:b3:a8:f6:a6:f2:15:
c0:a1:dc:d6:bd:66:71:09:fd:e6:93:4f:9a:36:e4:a7:0f:b0:
f5:5a:4d:e2:30:50:9b:12:0d:12:4d:6a:67:81:02:17:92:69:
00:e4:24:91:5c:83:99:9c:7b:6d:8d:3f:fc:46:81:c2:4a:f4:
9c:3f:d6:5f:6b:1f:c6:84:fa:de:33:26:3a:d4:d2:4c:98:23:
c1:2b:20:f2:12:bd:dc:61:5f:63:84:4c:1b:7b:c5:28:3c:4a:
bb:da:07:61:b7:d7:79:43:66:eb:f9:21:96:14:34:80:1b:bd:
b7:62:22:ea:7a:0a:25:b5:27:fb:40:c7:f7:ce:18:ea:e6:16:
55:d9:bb:de:98:c5:19:04:a1:3c:03:e2:6f:50:79:ac:ce:88:
9c:6e:d0:1a:d2:87:10:2e:59:dd:14:19:be:23:aa:bc:17:1b:
21:96:5f:08:ce:16:d9:71:52:72:f9:f5:be:f7:cd:17:ae:9a:
9a:3f:e1:11:a3:a9:9a:6c:8d:ca:c9:7f:e5:6d:32:72:4e:3e:
c0:c7:96:95:e4:dc:9e:b6:3a:e3:57:4f:eb:79:2a:09:61:51:
78:c1:b9:50
-----BEGIN CERTIFICATE-----
MIIDyjCCArKgAwIBAgIBATANBgkqhkiG9w0BAQsFADBfMQswCQYDVQQGEwJHQjES
MBAGA1UECAwJV2lsdHNoaXJlMRUwEwYDVQQKDAxQYWhvIFByb2plY3QxEDAOBgNV
BAsMB1Rlc3RpbmcxEzARBgNVBAMMClNpZ25pbmcgQ0EwHhcNMjMwNDEzMTMyMjM4
WhcNMjgwNDExMTMyMjM4WjB1MQswCQYDVQQGEwJHQjESMBAGA1UECAwJV2lsdHNo
aXJlMRIwEAYDVQQHDAlTYWxpc2J1cnkxFTATBgNVBAoMDFBhaG8gUHJvamVjdDET
MBEGA1UECwwKUHJvZHVjdGlvbjESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyLIfK9RsIPBnZBSdeRSzmUmpZR0g8x63
lpKb5wwdkL7cpcUQ4Z7Z/fRv8B4Y79v9+Yjj+w/7S2sVw41Dhmwr8BKUtc6dYFcE
FQ4HD3KHWzhi9HVdFwU9RR/ne+7aUJUiEN74h8u4OTjPiG1pgH3fp1AoRd+qM+M9
1qJMK427g9uYLc0af4h15V386shgkzF2ZvMkrSv6IHdBYatD7kdSRWukEZg9v3wJ
V8ALNo+6vuMp1T75wVEVH7HBTp/IaOKx2BEle2VWEXn+9/HIrJuwokvlxOSWq5Iw
+M6nrslT4fTZ+FXhUhqy4K62dvfk3CwL8sMJsvdCjVbW1DuvGC4mMQIDAQABo3sw
eTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBD
ZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUkzHSiPtvTKs3vs4waxurcCdYj9owHwYDVR0j
BBgwFoAU4b71XzZQz/49Qu6AMyJGwj0qQUEwDQYJKoZIhvcNAQELBQADggEBAEou
H5x+mS7MQLRJ6pIn1DX1B2v/oi4VR3ZAPJschbOo9qbyFcCh3Na9ZnEJ/eaTT5o2
5KcPsPVaTeIwUJsSDRJNameBAheSaQDkJJFcg5mce22NP/xGgcJK9Jw/1l9rH8aE
+t4zJjrU0kyYI8ErIPISvdxhX2OETBt7xSg8SrvaB2G313lDZuv5IZYUNIAbvbdi
Iup6CiW1J/tAx/fOGOrmFlXZu96YxRkEoTwD4m9QeazOiJxu0BrShxAuWd0UGb4j
qrwXGyGWXwjOFtlxUnL59b73zReumpo/4RGjqZpsjcrJf+VtMnJOPsDHlpXk3J62
OuNXT+t5KglhUXjBuVA=
-----END CERTIFICATE-----

27
test/ssl/server.key Normal file
View File

@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAyLIfK9RsIPBnZBSdeRSzmUmpZR0g8x63lpKb5wwdkL7cpcUQ
4Z7Z/fRv8B4Y79v9+Yjj+w/7S2sVw41Dhmwr8BKUtc6dYFcEFQ4HD3KHWzhi9HVd
FwU9RR/ne+7aUJUiEN74h8u4OTjPiG1pgH3fp1AoRd+qM+M91qJMK427g9uYLc0a
f4h15V386shgkzF2ZvMkrSv6IHdBYatD7kdSRWukEZg9v3wJV8ALNo+6vuMp1T75
wVEVH7HBTp/IaOKx2BEle2VWEXn+9/HIrJuwokvlxOSWq5Iw+M6nrslT4fTZ+FXh
Uhqy4K62dvfk3CwL8sMJsvdCjVbW1DuvGC4mMQIDAQABAoIBACd6wp8AnnSsVepe
E8wpwlq5HtWBMWYh+MNp+7krrPU4VndVmMiJUyCd4Rc/FHC6ue9IenB86FYhrppV
Q59B0DLdtNs+1b6J34e0xrbHNNFA+lZUcAeDRFZAvGyow9FuRNFEy2cLMCYxgsG3
pDVejYyAPCvin7ytSxDZxFoc+3Ioeqgx6XKuaT9gFyy1SVYzXiQYXvzCIONGGNJW
7Y1q9l5vqnC3hquaDPs4zYy46I7Iv3pMfoQyMagCyi5sliK7sBWzu5sGPLJK0Sch
CkEvqtCve9mFU75jVE9dg404sil3oiYvPyRcM/fEAj3rR0ZLruVdOoaCr+V0Q+G6
WujDQ7ECgYEA/6J64B639hwPeAY5QNwRY8gLIggAUjzSvvYeG+7/MfzBr+gNzI8l
etMBPp/1VrxRtUw9hAlW6+hcsBA17ynnwzUsTjlYBjs2WvOg5MEZDjlQvyFS9ULA
ejfJgbo1Tdv+IEqUlyW5OXT0QJncpry7shUS7jeUcsC0mmi3Qi1CKksCgYEAyPuL
ERAyW3On04MCz72LiJVngyOZeTyLP8U7WK4spdsXOxW5UUaQXpj23F1JME7LUGnz
ESXQQ9xMNQrPHA81BLCjhi+CKFmmTXrcLnWtw68SQRGiXWx9yH4axkS3nrj2GPUi
U2UbLEu4CaSaJYxHBjTRtUML8qp53AhsvjDvY/MCgYAsQaLoPik3EHCVJO6wjejs
z2st/xifJCyQJufbiirgKpQVsiUBbx7b/r/Oab79vyieLI7R1xQXT2kMiiHsP+MB
5qi++iqFGac1Y8xNDikaT03taQWFtILCJfpa3TPxQM7kJEVJTZydl+PZc0nCDBaq
o/9dAn5Ox5H80Xg4msFDtQKBgQCNSHasGgysSRMzFqfFTWNnMk+/2iirFyp0O7vK
TTZJqUgdWtoZDleyiCkRI+qtMNavwqsB5OkQqy5PIzgQa4hDscBiNcdzggHr+XAK
oOLz6oAUicbvkbKiXDOKKQhDZZZqWPg2U57Udq366WELAB91d2/r0iP2BG0BhlKb
KF9AjQKBgDc3gVP4YDZfqQywEnq6LMl79eda4NBA44MA9AXjxSgBDJIjpkkAOz3I
yL+al6rz/zJlG3kEx46b4LRX40JlF8em50i9VmnVpbe/MKYoacZRTVbuJqWav6En
bRRr+zj0s9T8ksYp9kH/iS0g9Tf4qnB154e7D/br4dRbPJPX97k2
-----END RSA PRIVATE KEY-----

23
test/ssl/test-root-ca.crt Normal file
View File

@ -0,0 +1,23 @@
-----BEGIN CERTIFICATE-----
MIIDwDCCAqigAwIBAgIUPajsILLwblnD7WEDCk00ebOAASgwDQYJKoZIhvcNAQEL
BQAwcDELMAkGA1UEBhMCR0IxEjAQBgNVBAgMCVdpbHRzaGlyZTESMBAGA1UEBwwJ
U2FsaXNidXJ5MRUwEwYDVQQKDAxQYWhvIFByb2plY3QxEDAOBgNVBAsMB1Rlc3Rp
bmcxEDAOBgNVBAMMB1Jvb3QgQ0EwIBcNMjMwNDEzMTMyMjMxWhgPMjEwNTA2MDIx
MzIyMzFaMHAxCzAJBgNVBAYTAkdCMRIwEAYDVQQIDAlXaWx0c2hpcmUxEjAQBgNV
BAcMCVNhbGlzYnVyeTEVMBMGA1UECgwMUGFobyBQcm9qZWN0MRAwDgYDVQQLDAdU
ZXN0aW5nMRAwDgYDVQQDDAdSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAsqFZCPniXeWNtd5NhccCmirdLv6i/c6FAffg4iMPEYanDTh0PPWE
/tPiiOTzcGp5udF3hjjtv2lx5OSEaZYNSIgWERf0LPS0MBsHjMmVoU4S8+gZAst1
igzWKmmZAaUwBdGz0D6cRr7ZMUBfzJnrF1V6VQMLNXfrXmYAXRpxRMcBv3FPYLUc
qXp9gbFYnc+xNbuDE3Ir6/wMOu3Q1H6BvnIGVmdGqnmrONqzkMcqCuTEGlFEBQ4s
HrZUbXQGSKtlMInAM1hyP+qHmuMwTfue8/qspewHds9fNstJL9wLCZBk3Jdf6B5I
S6S+cmHM00cThnuVVwnwgU6syGhgekCNYwIDAQABo1AwTjAdBgNVHQ4EFgQU/piK
w0GycTpKs3ZaPBcGkxGZjsgwHwYDVR0jBBgwFoAU/piKw0GycTpKs3ZaPBcGkxGZ
jsgwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAhno5Byj3BGy/je/u
yPl8/uGOqh+uK0Ds+6YvUBRTHlnAFegwQrJhq17bzTdZZlw5s0+bYEVtOwX6p7Zk
mT4zUEPEQ7B223+r3TiB5xQ4ad+wZsDa9X7XY0+vqc+wf4CHFPHX4ZR0Xa1p/vBL
Y3L6ANHkwRFgx+XREmkiv4GJxeZtNSevuM63bbRZ/Y7OSZQlvKTxNlsKqi+61d7w
ciWk9BmmXNm2kQeKwsx5o7bMiETOhDXobcibD8R3U+3tf3vWp9jWIMZKkJ40U1Wb
LM0S9B1ZBkqb3Ml4Rq0AhQntQNGKDobt93ilQoGSUKq0/bR5wA8Yad9viVbbbSsm
kkdThg==
-----END CERTIFICATE-----

View File

@ -393,3 +393,16 @@ TEST_CASE("ssl_options set empty strings", "[options]")
REQUIRE(c_struct.protos == nullptr); REQUIRE(c_struct.protos == nullptr);
REQUIRE(c_struct.protos_len == 0); REQUIRE(c_struct.protos_len == 0);
} }
// ----------------------------------------------------------------------
// Test if empty strings gives nullptr opts
// ----------------------------------------------------------------------
TEST_CASE("ssl_options test error handler", "[options]")
{
mqtt::ssl_options opts{orgOpts};
orgOpts.set_error_handler([](const std::string& msg) {
std::cerr << "SSL Error: " << msg << std::endl;
});
}