Skip to content

Commit 6c1477b

Browse files
committed
feat: add cacertfile option
1 parent 7429015 commit 6c1477b

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

README.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Usage: emqtt_bench conn [--help <help>] [-d <dist>] [-h [<host>]]
4747
[-n [<startnumber>]] [--load-qst <nst_dets_file>]
4848
[-Q [<qoe>]] [-i [<interval>]] [-u <username>]
4949
[-P <password>] [-k [<keepalive>]] [-C [<clean>]]
50-
[-x [<expiry>]] [-S [<ssl>]]
50+
[-x [<expiry>]] [-S [<ssl>]] [--cacertfile <cacertfile>]
5151
[--certfile <certfile>] [--keyfile <keyfile>]
5252
[--quic [<quic>]] [--ifaddr <ifaddr>]
5353
[--prefix <prefix>] [-s [<shortids>]]
@@ -78,6 +78,7 @@ Usage: emqtt_bench conn [--help <help>] [-d <dist>] [-h [<host>]]
7878
(seconds) [default: 0]
7979
-S, --ssl ssl socoket for connecting to server
8080
[default: false]
81+
--cacertfile CA certificate for server verification
8182
--certfile client certificate for authentication, if
8283
required by server
8384
--keyfile client private key for authentication, if
@@ -123,7 +124,8 @@ $ ./emqtt_bench sub --help
123124
Usage: emqtt_bench sub [--help <help>] [-d <dist>] [-h [<host>]] [-p [<port>]] [-V [<version>]] [-c [<count>]]
124125
[-n [<startnumber>]] [-i [<interval>]] [-t <topic>] [--payload-hdrs [<payload_hdrs>]] [-q [<qos>]]
125126
[-Q [<qoe>]] [-u <username>] [-P <password>] [-k [<keepalive>]] [-C [<clean>]] [-x [<expiry>]]
126-
[-S [<ssl>]] [--certfile <certfile>] [--keyfile <keyfile>] [--ws [<ws>]] [--quic [<quic>]]
127+
[-S [<ssl>]] [--cacertfile <cacertfile>] [--certfile <certfile>] [--keyfile <keyfile>]
128+
[--ws [<ws>]] [--quic [<quic>]]
127129
[--load-qst <nst_dets_file>] [--ifaddr <ifaddr>] [--prefix <prefix>] [-s [<shortids>]] [-l <lowmem>]
128130
[--num-retry-connect [<num_retry_connect>]] [-R [<conn_rate>]]
129131
[--force-major-gc-interval [<force_major_gc_interval>]] [--log_to [<log_to>]]
@@ -152,6 +154,7 @@ Usage: emqtt_bench sub [--help <help>] [-d <dist>] [-h [<host>]] [-p [<port>]] [
152154
-C, --clean clean start [default: true]
153155
-x, --session-expiry Set 'Session-Expiry' for persistent sessions (seconds) [default: 0]
154156
-S, --ssl ssl socoket for connecting to server [default: false]
157+
--cacertfile CA certificate for server verification
155158
--certfile client certificate for authentication, if required by server
156159
--keyfile client private key for authentication, if required by server
157160
--ws websocket transport [default: false]
@@ -195,7 +198,8 @@ Usage: emqtt_bench pub [--help <help>] [-d <dist>] [-h [<host>]] [-p [<port>]] [
195198
[-n [<startnumber>]] [-i [<interval>]] [-I [<interval_of_msg>]] [-u <username>] [-P <password>]
196199
[-t <topic>] [--payload-hdrs [<payload_hdrs>]] [-s [<size>]] [-m <message>] [-q [<qos>]]
197200
[-Q [<qoe>]] [-r [<retain>]] [-k [<keepalive>]] [-C [<clean>]] [-x [<expiry>]] [-L [<limit>]]
198-
[-S [<ssl>]] [--certfile <certfile>] [--keyfile <keyfile>] [--ws [<ws>]] [--quic [<quic>]]
201+
[-S [<ssl>]] [--cacertfile <cacertfile>] [--certfile <certfile>] [--keyfile <keyfile>]
202+
[--ws [<ws>]] [--quic [<quic>]]
199203
[--load-qst <nst_dets_file>] [--ifaddr <ifaddr>] [--prefix <prefix>] [-s [<shortids>]] [-l <lowmem>]
200204
[-F [<inflight>]] [-w [<wait_before_publishing>]] [--max-random-wait [<max_random_wait>]]
201205
[--min-random-wait [<min_random_wait>]] [--num-retry-connect [<num_retry_connect>]]
@@ -229,6 +233,7 @@ Usage: emqtt_bench pub [--help <help>] [-d <dist>] [-h [<host>]] [-p [<port>]] [
229233
-x, --session-expiry Set 'Session-Expiry' for persistent sessions (seconds) [default: 0]
230234
-L, --limit The max message count to publish, 0 means unlimited [default: 0]
231235
-S, --ssl ssl socoket for connecting to server [default: false]
236+
--cacertfile CA certificate for server verification
232237
--certfile client certificate for authentication, if required by server
233238
--keyfile client private key for authentication, if required by server
234239
--ws websocket transport [default: false]

src/emqtt_bench.erl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,8 @@
106106
"The max message count to publish, 0 means unlimited"},
107107
{ssl, $S, "ssl", {boolean, false},
108108
"ssl socoket for connecting to server"},
109+
{cacertfile, undefined, "cacertfile", string,
110+
"CA certificate for server verification"},
109111
{certfile, undefined, "certfile", string,
110112
"client certificate for authentication, if required by server"},
111113
{keyfile, undefined, "keyfile", string,
@@ -200,6 +202,8 @@
200202
"Set 'Session-Expiry' for persistent sessions (seconds)"},
201203
{ssl, $S, "ssl", {boolean, false},
202204
"ssl socoket for connecting to server"},
205+
{cacertfile, undefined, "cacertfile", string,
206+
"CA certificate for server verification"},
203207
{certfile, undefined, "certfile", string,
204208
"client certificate for authentication, if required by server"},
205209
{keyfile, undefined, "keyfile", string,
@@ -268,6 +272,8 @@
268272
"Set 'Session-Expiry' for persistent sessions (seconds)"},
269273
{ssl, $S, "ssl", {boolean, false},
270274
"ssl socoket for connecting to server"},
275+
{cacertfile, undefined, "cacertfile", string,
276+
"CA certificate for server verification"},
271277
{certfile, undefined, "certfile", string,
272278
"client certificate for authentication, if required by server"},
273279
{keyfile, undefined, "keyfile", string,
@@ -1091,6 +1097,8 @@ ssl_opts([{keyfile, KeyFile} | Opts], Acc) ->
10911097
ssl_opts(Opts, [{keyfile, KeyFile}|Acc]);
10921098
ssl_opts([{certfile, CertFile} | Opts], Acc) ->
10931099
ssl_opts(Opts, [{certfile, CertFile}|Acc]);
1100+
ssl_opts([{cacertfile, CaCertFile} | Opts], Acc) ->
1101+
ssl_opts(Opts, [{cacertfile, CaCertFile}|Acc]);
10941102
ssl_opts([_|Opts], Acc) ->
10951103
ssl_opts(Opts, Acc).
10961104

0 commit comments

Comments
 (0)