Go to file
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>
2019-02-26 15:50:37 +00:00
.github
client
doc
docker
examples
installer
lib
logo
man
misc/currentcost
security
service
snap
src
test
www
.gitignore
.travis.yml
about.html
aclfile.example
appveyor.yml
ChangeLog.txt
CMakeLists.txt
compiling.txt
config.h
config.mk
CONTRIBUTING.md
edl-v10
epl-v10
libmosquitto.pc.in
libmosquittopp.pc.in
LICENSE.txt
Makefile
mosquitto.conf
Mosquitto.podspec
notice.html
pskfile.example
pwfile.example
readme-windows.txt
readme.md
set-version.sh
THANKS.txt
travis-configure.sh
travis-install.sh

Eclipse Mosquitto

Mosquitto is an open source implementation of a server for version 3.1 and 3.1.1 of the MQTT protocol. It also includes a C and C++ client library, and the mosquitto_pub and mosquitto_sub utilities for publishing and subscribing.

See the following links for more information on MQTT:

Mosquitto project information is available at the following locations:

There is also a public test server available at http://test.mosquitto.org/

Installing

See http://mosquitto.org/download/ for details on installing binaries for various platforms.

Quick start

If you have installed a binary package the broker should have been started automatically. If not, it can be started with a basic configuration:

mosquitto

Then use mosquitto_sub to subscribe to a topic:

mosquitto_sub -t 'test/topic' -v

And to publish a message:

mosquitto_pub -t 'test/topic' -m 'hello world'

Documentation

Documentation for the broker, clients and client library API can be found in the man pages, which are available online at http://mosquitto.org/man/. There are also pages with an introduction to the features of MQTT, the mosquitto_passwd utility for dealing with username/passwords, and a description of the configuration file options available for the broker.

Detailed client library API documentation can be found at http://mosquitto.org/api/

Building from source

To build from source the recommended route for end users is to download the archive from http://mosquitto.org/download/.

On Windows and Mac, use cmake to build. On other platforms, just run make to build. For Windows, see also readme-windows.md.

If you are building from the git repository then the documentation will not already be built. Use make binary to skip building the man pages, or install docbook-xsl on Debian/Ubuntu systems.

Build Dependencies

  • c-ares (libc-ares-dev on Debian based systems) - disable with make WITH_SRV=no
  • libuuid (uuid-dev) - disable with make WITH_UUID=no
  • libwebsockets (libwebsockets-dev) - enable with make WITH_WEBSOCKETS=yes
  • openssl (libssl-dev on Debian based systems) - disable with make WITH_TLS=no
  • xsltproc (xsltproc and docbook-xsl on Debian based systems) - only needed when building from git sources - disable with make WITH_DOCS=no

Credits

Mosquitto was written by Roger Light roger@atchoo.org

Master: Travis Build Status (master) Develop: Travis Build Status (develop) Fixes: Travis Build Status (fixes)