SSL Certificate Setup with Node-Express

(Self Certified and Certificate Authority (CA))


πŸ“Œ Check IP Address

hostname -I   ## to see IP address

πŸ” SSL Certificate Setup Steps

1. Generate Private Key

β†’ file.key or key.pem

2. Generate CSR (Certificate Signing Request)

β†’ file.csr or csr.pem

3. Generate Certificate File

β†’ file.crt or cert.pem


πŸ”‘ Step 1: Generate Private Key

openssl genrsa -out server.key

πŸ“„ Step 2: Generate CSR

Generate CSR file using private key:

openssl req -new -key server.key -out server.csr

Note:

  • Give correct hostname
  • Example:
Common Name (e.g. server FQDN or YOUR name) []: localhost

πŸ“œ Step 3: Generate Certificate File

Generate certificate using CSR file.

a. Self Certified

openssl x509 -req -days 9999 -in server.csr -signkey server.key -out server.crt

b. Using Certificate Authority (CA)

Upload server.csr to an SSL provider (e.g., GoDaddy).

They will provide:

  • certificate.crt β†’ Main certificate
  • certificate.pem
  • gd_bundle-g2-g1.crt β†’ Chain files

πŸ” Alternative Using .pem Extensions

openssl genrsa -out key.pem
openssl req -new -key key.pem -out csr.pem
openssl x509 -req -days 9999 -in csr.pem -signkey key.pem -out cert.pem

Optional cleanup:

rm csr.pem

Other Methods & References

1. Official Node.js Documentation

https://nodejs.org/en/knowledge/HTTP/servers/how-to-create-a-HTTPS-server/


2. DigitalOcean (Run with sudo)

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt

Reference:


3. Express HTTPS Guide