Openssl Generate Key Without Passphrase

I am using the following command in order to generate a CSR together with a private key by using OpenSSL: openssl req -new -subj '/CN=sample.myhost.com' -out newcsr.csr -nodes -sha512 -newkey rsa.

To create a new set of keys for OpenVPN using Easy-RSA, we firstly need to clean our environment and get ready for the build.

Now we need to build the certificate authority.

Generate

Openssl Generate Key Without Passphrase Key

Now build the DH (Diffie-Helllman) parameters.

And we can build the server keys.

And I build one client key for myself.

I am generating a certificate request here.

Now I need to add a passkey to the server key.

This configuration will create a good working OpenVPN configuration that will allow secure communication between a client and a server machine. This is necessary for securely administering a remote server with an encrypted tunnel.

In this article you’ll find how to generate CSR (Certificate Signing Request) using OpenSSL from the Linux command line, without being prompted for values which go in the certificate’s subject field.

Below you’ll find two examples of creating CSR using OpenSSL.

In the first example, i’ll show how to create both CSR and the new private key in one command.

And in the second example, you’ll find how to generate CSR from the existing key (if you already have the private key and want to keep it).

Both examples show how to create CSR using OpenSSL non-interactively (without being prompted for subject), so you can use them in any shell scripts.

Create CSR and Key Without Prompt using OpenSSL

Use the following command to create a new private key 2048 bits in size example.key and generate CSR example.csr from it:

OptionDescription
openssl reqcertificate request generating utility
-nodesif a private key is created it will not be encrypted
-newkeycreates a new certificate request and a new private key
rsa:2048generates an RSA key 2048 bits in size
-keyoutthe filename to write the newly created private key to
-outspecifies the output filename
-subjsets certificate subject

Generate CSR From the Existing Key using OpenSSL

Use the following command to generate CSR example.csr from the private key example.key:

OptionDescription
openssl reqcertificate request generating utility
-newgenerates a new certificate request
-keyspecifies the file to read the private key from
-outspecifies the output filename
-subjsets certificate subject

Automated Non-Interactive CSR Generation

Openssl Generate Public Private Key

The magic of CSR generation without being prompted for values which go in the certificate’s subject field, is in the -subj option.

-subj argReplaces subject field of input request with specified data and outputs modified request. The arg must be formatted as /type0=value0/type1=value1/type2=…, characters may be escaped by (backslash), no spaces are skipped.

The fields, required in CSR are listed below:

FieldMeaningExample
/C=CountryGB
/ST=StateLondon
/L=LocationLondon
/O=OrganizationGlobal Security
/OU=Organizational UnitIT Department
/CN=Common Nameexample.com

You’ve created encoded file with certificate signing request.

Now you can decode CSR to verify that it contains the correct information.