feat(tls): add configs for private key password in dashboard/mgmt

This commit is contained in:
Thales Macedo Garitezi 2022-06-03 11:18:52 -03:00
parent ad224a98f4
commit 50ff2edf13
No known key found for this signature in database
GPG Key ID: DD279F8152A9B6DD
5 changed files with 25 additions and 0 deletions

View File

@ -10,6 +10,14 @@ File format:
- One list item per change topic - One list item per change topic
Change log ends with a list of github PRs Change log ends with a list of github PRs
## v4.3.16
### Enhancements
- Add the possibility of configuring the password for
password-protected private key files used for dashboard and
management HTTPS listeners. [#8129]
## v4.3.15 ## v4.3.15
### Enhancements ### Enhancements

View File

@ -43,6 +43,7 @@ management.listener.http.ipv6_v6only = false
## management.listener.https.send_timeout_close = on ## management.listener.https.send_timeout_close = on
## management.listener.https.certfile = etc/certs/cert.pem ## management.listener.https.certfile = etc/certs/cert.pem
## management.listener.https.keyfile = etc/certs/key.pem ## management.listener.https.keyfile = etc/certs/key.pem
## management.listener.https.key_password = yourpass
## management.listener.https.cacertfile = etc/certs/cacert.pem ## management.listener.https.cacertfile = etc/certs/cacert.pem
## management.listener.https.verify = verify_peer ## management.listener.https.verify = verify_peer
## NOTE: Do not use tlsv1.3 if emqx is running on OTP-22 or earlier ## NOTE: Do not use tlsv1.3 if emqx is running on OTP-22 or earlier

View File

@ -143,6 +143,10 @@
{datatype, string} {datatype, string}
]}. ]}.
{mapping, "management.listener.https.key_password", "emqx_management.listeners", [
{datatype, string}
]}.
{mapping, "management.listener.https.certfile", "emqx_management.listeners", [ {mapping, "management.listener.https.certfile", "emqx_management.listeners", [
{datatype, string} {datatype, string}
]}. ]}.
@ -217,6 +221,7 @@ end}.
Filter([{versions, Versions}, Filter([{versions, Versions},
{ciphers, SplitFun(cuttlefish:conf_get(Prefix ++ ".ciphers", Conf, undefined))}, {ciphers, SplitFun(cuttlefish:conf_get(Prefix ++ ".ciphers", Conf, undefined))},
{keyfile, cuttlefish:conf_get(Prefix ++ ".keyfile", Conf, undefined)}, {keyfile, cuttlefish:conf_get(Prefix ++ ".keyfile", Conf, undefined)},
{password, cuttlefish:conf_get(Prefix ++ ".key_password", Conf, undefined)},
{certfile, cuttlefish:conf_get(Prefix ++ ".certfile", Conf, undefined)}, {certfile, cuttlefish:conf_get(Prefix ++ ".certfile", Conf, undefined)},
{cacertfile, cuttlefish:conf_get(Prefix ++ ".cacertfile", Conf, undefined)}, {cacertfile, cuttlefish:conf_get(Prefix ++ ".cacertfile", Conf, undefined)},
{verify, cuttlefish:conf_get(Prefix ++ ".verify", Conf, undefined)}, {verify, cuttlefish:conf_get(Prefix ++ ".verify", Conf, undefined)},

View File

@ -82,6 +82,12 @@ dashboard.listener.http.ipv6_v6only = false
## Value: File ## Value: File
## dashboard.listener.https.keyfile = etc/certs/key.pem ## dashboard.listener.https.keyfile = etc/certs/key.pem
## String containing the private key file password. Only used if the
## private keyfile is password-protected.
##
## Value: String
## dashboard.listener.https.key_password = yourpass
## Path to a file containing the user certificate. ## Path to a file containing the user certificate.
## ##
## Value: File ## Value: File

View File

@ -74,6 +74,10 @@
{datatype, string} {datatype, string}
]}. ]}.
{mapping, "dashboard.listener.https.key_password", "emqx_dashboard.listeners", [
{datatype, string}
]}.
{mapping, "dashboard.listener.https.certfile", "emqx_dashboard.listeners", [ {mapping, "dashboard.listener.https.certfile", "emqx_dashboard.listeners", [
{datatype, string} {datatype, string}
]}. ]}.
@ -127,6 +131,7 @@
{ciphers, SplitFun(cuttlefish:conf_get(Prefix ++ ".ciphers", Conf, undefined))}, {ciphers, SplitFun(cuttlefish:conf_get(Prefix ++ ".ciphers", Conf, undefined))},
{dhfile, cuttlefish:conf_get(Prefix ++ ".dhfile", Conf, undefined)}, {dhfile, cuttlefish:conf_get(Prefix ++ ".dhfile", Conf, undefined)},
{keyfile, cuttlefish:conf_get(Prefix ++ ".keyfile", Conf, undefined)}, {keyfile, cuttlefish:conf_get(Prefix ++ ".keyfile", Conf, undefined)},
{password, cuttlefish:conf_get(Prefix ++ ".key_password", Conf, undefined)},
{certfile, cuttlefish:conf_get(Prefix ++ ".certfile", Conf, undefined)}, {certfile, cuttlefish:conf_get(Prefix ++ ".certfile", Conf, undefined)},
{cacertfile, cuttlefish:conf_get(Prefix ++ ".cacertfile", Conf, undefined)}, {cacertfile, cuttlefish:conf_get(Prefix ++ ".cacertfile", Conf, undefined)},
{verify, cuttlefish:conf_get(Prefix ++ ".verify", Conf, undefined)}, {verify, cuttlefish:conf_get(Prefix ++ ".verify", Conf, undefined)},