Skip to content

Instantly share code, notes, and snippets.

@notbrain
Last active August 29, 2015 13:58
Show Gist options
  • Save notbrain/10025587 to your computer and use it in GitHub Desktop.
Save notbrain/10025587 to your computer and use it in GitHub Desktop.
Script to create a self signed certificate with an existing server key. Single argument is FQDN of app.
#!/bin/sh
APP_NAME=$1
APPSSLPATH=/usr/local/etc/nginx/ssl/$APP_NAME;
sudo mkdir -p $APPSSLPATH && cd $APPSSLPATH;
# sudo /usr/bin/openssl req -new -key $KEY_FILEPATH -out $APPSSLPATH/$APP_NAME.csr && \
sudo openssl req -new -newkey rsa:2048 -nodes -out $APP_NAME.csr -keyout $APP_NAME.key -subj "/C=US/ST=California/L=San Francisco/O=Engineering Inc./CN=$APP_NAME" && \
sudo /usr/bin/openssl x509 -req -days 1365 -in $APP_NAME.csr -signkey $APP_NAME.key -out $APP_NAME.crt;
echo "--"
echo "Use the following lines in nginx config:"
echo
echo "ssl_certificate_key $APPSSLPATH/$APP_NAME.key;"
echo "ssl_certificate $APPSSLPATH/$APP_NAME.crt;"
echo
echo "--"
@notbrain
Copy link
Author

notbrain commented Apr 4, 2015

Usage:

selfie-cert dev.test.com
: selfie-cert dev.test.com
Generating a 2048 bit RSA private key
...............................................+++
........................................................................................................+++
writing new private key to 'dev.test.com.key'
-----
Signature ok
subject=/C=US/ST=California/L=San Francisco/O=Engineering Inc./CN=dev.test.com
Getting Private key
--
Use the following lines in nginx config:

ssl_certificate_key /usr/local/etc/nginx/ssl/dev.test.com/dev.test.com.key;
ssl_certificate     /usr/local/etc/nginx/ssl/dev.test.com/dev.test.com.crt;

--

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