Commit Graph

16 Commits (20894fcbce661d50f77c49b132dedea4cdc1f5a0)

Author SHA1 Message Date
Nicolás Pernas Maradei 20894fcbce Add engine private key password support
Some OpenSSL engines (selectable via tls_engine option) may require a
password to make use of private keys created with them in the first place.

The TPM engine for example, will require a password to access the underlying
TPM's Storage Root Key (SRK), which is the root key of a hierarchy of keys
associated with a TPM; it is generated within a TPM and is a non-migratable
key. Each owned TPM contains a SRK, generated by the TPM at the request
of the Owner. [1]

By default, the engine will prompt the user to introduce the SRK password
before any private keys created with the engine can be used. This could
be inconvenient when running on an unattended system.

Here's where the new tls_engine_kpass_sha option comes in handy. The user
can specify a SHA1 hash of its engine private key password via command
line or config file and it will be passed on to the engine directly.

This commit adds support for both clients (libmosquitto) and broker.

[1] https://goo.gl/qQoXBY

Signed-off-by: Nicolás Pernas Maradei <nicopernas@gmail.com>
7 years ago
Nicolás Pernas Maradei f88cc06435 Add TLS engine and keyform support to libmosquitto
- Clients can now offload crypto tasks to an external crypto device through
  the OpenSSL ENGINE API.
- The keyfiles can now be treated as PEM or ENGINE keys.
- Two new functions were added to libmosquitto to set up the previously
  mentioned features.
- Both mosquitto_sub and mosquitto_pub include support to turn on the mentioned
  features through command line options.

Signed-off-by: Nicolás Pernas Maradei <nicopernas@gmail.com>
7 years ago
Roger A. Light f4d238be18 Bump copyright years. 8 years ago
Roger A. Light ff79432364 C++ on_connect_with_flags() support. 8 years ago
Roger A. Light 91b308a11d Merge branch 'master' into develop 9 years ago
Roger A. Light b5b5e6f27d Don't use reserved identifiers in public headers. 9 years ago
Jens Breitbart b9d4ebfba3 Fix compiler warnings (unused parameter, additional semicolon).
A modern version of the clang compiler complained about:
* unused parameters
* additional semicolon
. This commit fixes these warnings.

Signed-off-by: Jens Breitbart <jbreitbart@gmail.com>
9 years ago
Roger A. Light 8378fe44cf Update copyrights. 9 years ago
Roger A. Light a8a5daf06b Check client topic inputs for valid UTF-8. 9 years ago
Roger A. Light 7709621911 Reorder helper function arguments for consistency. 10 years ago
Roger A. Light 0a95c9a3af Add mosquitto_subscribe_callback(). 10 years ago
Roger A. Light 8a35c3cd0d Add client support for MQTT v3.1.1. 11 years ago
Roger A. Light 9332a731bf [452915] mosquittopp now has a virtual destructor.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=452915
11 years ago
Roger A. Light fdc8c08ca3 Add socks to cpp library. 11 years ago
Roger A. Light 5c7512b8ba Add mosquitto_threaded_set(). 11 years ago
Roger Light 0364bd1be7 Initial contribution. 12 years ago