Differences between revisions 14 and 15
Revision 14 as of 2023-04-06 16:52:39
Size: 1892
Comment:
Revision 15 as of 2023-04-22 20:30:51
Size: 1899
Comment:
Deletions are marked like this. Additions are marked like this.
Line 50: Line 50:
For details on how to use this configuration, see the following articles for [[NGINX/SSL|NGINX]]. For details on how to use this configuration, see the following articles for [[Nginx/Encryption|Nginx]].

OpenSSL

OpenSSL provides the cryptographic libraries libcrypto (crypto(7ssl)) and libssl (ssl(7ssl)), as well as the utility openssl(1ssl).


Installation

Most Linux and BSD distributions offer an openssl package.


Certificates

It is highly recommended to not use openssl(1ssl)-generated certificates for web encryption. Clients have no reason to trust a self-signed certificate unless you

  1. operate your own certificate authority (strongly not recommended)

  2. configure all client machines

Usage

To generate a certificate and private key simultaneously, try:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /path/to/domain-name.com/key.pem -out /path/to/domain-name.com/cert.pem


Diffie-Hellman Parameters

ssl(7ssl) defaults to 1024-bit keys, which lags behind the modern standard of 2048-bits. This is a particular problem for software that defer cryptographic decisions to ssl(7ssl) at runtime, such as nginx(8). One of the most common cryptographic decisions that is affected by this situation is the selection of parameters for Diffie-Hellman key exchanges.

To generate a stronger configuration, try:

openssl dhparam -out /path/to/dhparam.pem 4096

For details on how to use this configuration, see the following articles for Nginx.


See also

openssl(1ssl)

crypto(7ssl)

ssl(7ssl)

SSL

TLS

LibreSSL

Quictls


CategoryRicottone

Encryption/OpenSSL (last edited 2023-06-21 09:01:26 by DominicRicottone)