Openssl Generate Key And Self Signed Certificate Without Passphrase

Updated by LinodeWritten by Linode

Openssl generate key and self signed certificate without passphrase change

All necessary steps are executed by a single OpenSSL invocation: from private key generation up to the self-signed certificate. Remark #1: Crypto parameters Since the certificate is self-signed and needs to be accepted by users manually, it doesn't make sense to use a short expiration or weak cryptography. Jan 09, 2018  Generate a self signed certificate without passphrase for private key - create-ssl-cert.sh.

Try this guide out by signing up for a Linode account with a $20 credit.
Contribute on GitHub

Report an Issue |View File |Edit File

What is a Self-Signed TLS Certificate?

Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for NGINX once you’ve completed the process outlined in this guide.

Openssl Generate Key And Self Signed Certificate Without Passphrase Code

Create the Certificate

Openssl generate key and self signed certificate without passphrase code
  1. Change to the root user and change to the directory in which you want to create the certificate and key pair. That location will vary depending on your needs. Here we’ll use /root/certs:

  2. Create the certificate:

    You will be prompted to add identifying information about your website or organization to the certificate. Since a self-signed certificate won’t be used publicly, this information isn’t necessary. If this certificate will be passed on to a certificate authority for signing, the information needs to be as accurate as possible.

    The following is a breakdown of the OpenSSL options used in this command. There are many other options available, but these will create a basic certificate which will be good for a year. For more information, see man openssl in your terminal.

    • -newkey rsa:4096: Create a 4096 bit RSA key for use with the certificate. RSA 2048 is the default on more recent versions of OpenSSL but to be sure of the key size, you should specify it during creation.

    • -x509: Create a self-signed certificate.

    • -sha256: Generate the certificate request using 265-bit SHA (Secure Hash Algorithm).

    • -days: Determines the length of time in days that the certificate is being issued for. For a self-signed certificate, this value can be increased as necessary.

    • -nodes: Create a certificate that does not require a passphrase. If this option is excluded, you will be required to enter the passphrase in the console each time the application using it is restarted.

    Here is an example of the output:

  3. Restrict the key’s permissions so that only root can access it:

  4. Back up your certificate and key to external storage. This is an important step. Do not skip it!

Join our Community

Openssl Generate Key And Self Signed Certificate Without Passphrase Form

Please enable JavaScript to view the comments powered by Disqus.comments powered by Disqus
Openssl Generate Key And Self Signed Certificate Without Passphrase

This guide is published under a CC BY-ND 4.0 license.

Openssl Generate Key And Self Signed Certificate Without Passphrase Change

Generate Self-Signed SSL Certificate without prompt
gen-ssl.sh
# Generate a passphrase
openssl rand -base64 48 > passphrase.txt
# Generate a Private Key
openssl genrsa -aes128 -passout file:passphrase.txt -out server.key 2048
# Generate a CSR (Certificate Signing Request)
openssl req -new -passin file:passphrase.txt -key server.key -out server.csr
-subj '/C=FR/O=krkr/OU=Domain Control Validated/CN=*.krkr.io'
# Remove Passphrase from Key
cp server.key server.key.org
openssl rsa -in server.key.org -passin file:passphrase.txt -out server.key
# Generating a Self-Signed Certificate for 100 years
openssl x509 -req -days 36500 -in server.csr -signkey server.key -out server.crt
mv server.crt ssl.crt
mv server.key ssl.key

commented Aug 19, 2019

nice

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment