Setting Up TLS/SSL With Other Tools
Highlights GnuTLS, NSS, and Java keytool workflows for creating and managing certificates on Oracle Linux.
Review additional tools that you might consider for setting up TLS/SSL.
Several factors can influence the choice of tool. For example, some tools are more light weight than others, or some are targeted to specific environments, such as the keytool for Java. Some not only cover certificates infrastructure management but also include other features, APIs, and libraries for developing applications that enable various other secure network protocols and security standards. Although this book doesn't provide details about such features, you can find more information about them in corresponding manual pages and documentation from open source projects.
GnuTLS
Shows how to use certtool to generate keys, CSRs, and self-signed certificates.
The certtool GnuTLS certificate tool available in
Oracle Linux creates certificate signing requests, self-signed
certificates, and privately owned CA certificates. GnuTLS is a library that provides
implementations of the SSL, TLS, and DTLS protocols, along with related technologies, to
secure communications. It includes an application programming interface (API) written in C
language to access the secure communications protocols and APIs to parse and write structures
such as X.509, PKCS #12, and OpenPGP.
certtool, install the gnutls-utils package, available from the Application Stream
repository:
sudo dnf install gnutls-utilsThe following examples show how to use the certtool command to create
certificate signing requests, self-signed certificates, and privately owned CA certificates.
For more information, see the certtool(1) manual page and the GnuTLS open source project at https://www.gnutls.org/.
NSS
Describes managing certificates and keys with the NSS certutil and pk12util commands.
The certutil Network Security Service (NSS) certificate
tool available in Oracle Linux and how to use it to create Certificate Signing Requests
(CSRs), self-signed certificates, and privately owned CA certificates with NSS database
files which store certificates and private keys for applications.
NSS is a set of libraries designed to enable cross-platform development of security-enabled client and server applications. Applications built with NSS work with SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other security standards.
Before you can use certutil to manage certificates, CSRs, and keys, you
must have access to the NSS database files. You can use the legacy security databases files
(cert8.db for certificates, key3.db for keys, and secmod.db for PKCS #11 module information)
or the new SQLite database files (cert9.db for certificates, key4.db for keys, and pkcs11.txt for PKCS #11 modules). This section provides examples from the new database files.
You can also use the related pk12util command to export and import
certificates and keys from a PKCS #12 file to an NSS database or the reverse.
certutil and pk12util, install the
nss-tools package available in the Application Stream
repository:sudo dnf install nss-toolsThe following examples show how to use the certutil and pk12util commands.
For more information, see the certutil(1) and pk12util(1)
manual pages and the NSS open source project at https://firefox-source-docs.mozilla.org/security/nss/index.html.
Java
Outlines common keytool actions for inspecting keystores, requesting certificates, and importing CA chains.
Most Java applications use the keystore that's supplied with JDK to store cryptographic keys,
X.509 certificate chain information, and trusted certificates. The default JDK keystore in Oracle Linux is the /etc/pki/java/cacerts file. You can use
the keytool command to generate, install, and manage certificates in the
Java keystore.
The following examples show how you might use the keytool command.
For more information, see the keytool(1) manual page.