Skip to content

Instantly share code, notes, and snippets.

@nbrew
Created April 1, 2011 06:22
Show Gist options
  • Save nbrew/897816 to your computer and use it in GitHub Desktop.
Save nbrew/897816 to your computer and use it in GitHub Desktop.
Generate a new ssl key and CSR for Apache 2.x
function generate_new_ssl_cert() {
if [ -z $1 ]; then
echo ""
echo "usage: generate_new_ssl_cert example.com"
exit 1
fi
keydir=/etc/httpd/conf/ssl.key
csrdir=/etc/httpd/conf/ssl.csr
domain=${1}
test -d ${keydir} || sudo mkdir ${keydir}
test -d ${csrdir} || sudo mkdir ${csrdir}
year='2011'
keyfile="${keydir}/${domain}.key.${year}"
csrfile="${csrdir}/${domain}.csr.${year}"
sudo /usr/bin/openssl genrsa -des3 -out ${keyfile} 2048 && \
sudo /usr/bin/openssl req -new -key "${keyfile}" -out "${csrfile}"
if [ $? -eq 0 ]; then
sudo chmod 400 ${keyfile} ${csrfile}
sudo ln -s ${keyfile} ${keyfile%.${year}}
echo "Your CSR Follows:"
sudo cat "${csrfile}"
else
echo 'ERROR: Could not create either the key or the CSR file.'
fi
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment