Creating a security helper class to establish a TLS secured connection
Now, we will create a new security helper class named SecurityHelper
, which will provide many static methods that we will use to make it easy to establish a TLS secured connection with an MQTT server. We will use the recently added dependencies for the Bouncy Castle libraries to load the certificates and key files.
The public static CreateSocketFactory
method will receive the file names for the certificate authority certificate, the client certificate, and the client key. The method will load all these files, generate the appropriate instances from them, and return an instance of java.net.ssl.SSLSocketFactory
.
Tip
It is very important to avoid being confused by the old SSL name. We will be working with TLS version 1.2, but Java has the old java.net.ssl.SSLSocketFactory
that has been upgraded to work with the latest TLS versions (but it didn't change its name from SSL to TLS to keep compatibility with the previous versions...