It is that time of the year when I needed to renew all of my SSL certificates for my web servers and email servers. This post is a reminder for myself on the steps and commands needed to succesfully renew the certificates, for future reference.
First, check the current certificates and key files. For CentOS 6, this is located at /etc/pki/tls/private and /etc/pki/tls/certs.
[root@localhost ~]# cd /etc/pki/tls/private [root@localhost private]# ls -lart -rw-------. 1 root root 1704 Feb 19 2014 localhost.key -rw-r--r--. 1 root root 1033 Feb 20 2014 localhost.csr drwxr-xr-x. 5 root root 4096 Jan 29 15:33 .. drwxr-xr-x. 2 root root 4096 Feb 16 09:06 . [root@localhost private]# cd ../certs [root@localhost certs]# ls -lart -rw-r--r--. 1 root root 1805 Feb 20 2014 localhost.crt -rw-r--r--. 1 root root 1757 Feb 20 2014 localhost-chain.crt -rw-r--r--. 1 root root 1521 Feb 20 2014 localhost-root.crt -rw-r--r--. 1 root root 5083 Feb 20 2014 localhost-postfix.crt -rw-r--r--. 1 root root 1005005 Jul 14 2014 ca-bundle.trust.crt -rw-r--r--. 1 root root 786601 Jul 14 2014 ca-bundle.crt -rwxr-xr-x. 1 root root 829 Jan 21 01:32 renew-dummy-cert -rw-r--r--. 1 root root 2242 Jan 21 01:32 Makefile -rwxr-xr-x. 1 root root 610 Jan 21 01:32 make-dummy-cert drwxr-xr-x. 5 root root 4096 Jan 29 15:33 .. drwxr-xr-x. 2 root root 4096 Feb 16 09:09 .
Next create the new certificate signing request (CSR). Take this chance to create a new private key, with perhaps a higher number of bits and a better algorithm. This is done using the -newkey, -sha256, and -keyout flags. The -nodes flag is used to create the new private key without a passphrase (so that the services using the private key can start without needing input from a human).
[root@localhost ~]# cd /etc/pki/tls/private/ [root@localhost private]# openssl req -nodes -newkey rsa:409