11#! /bin/bash
2-
32# script to create a self-signed SSL certificate
43
54USERNAME=joinmarket
65HOME_DIR=/home/$USERNAME
76
8- if [ ! -f ${HOME_DIR} /selfsignedcert/ cert.pem ] || [ ! -f ${HOME_DIR} /selfsignedcert /key.pem ]; then
7+ if [ ! -f ${HOME_DIR} /.joinmarket/ssl/ cert.pem ] || [ ! -f ${HOME_DIR} /.joinmarket/ssl /key.pem ]; then
98 sudo apt-get install openssl
109
11- sudo -u ${USERNAME} mkdir ${HOME_DIR} /selfsignedcert
12- cd ${HOME_DIR} /selfsignedcert || exit 1
13-
14- echo " # Create a self signed SSL certificate"
15- localip=$( hostname -I | awk ' {print $1}' )
16-
17- sudo -u ${USERNAME} openssl genrsa -out key.pem 2048
18-
19- echo "
20- [req]
21- prompt = no
22- default_bits = 2048
23- default_keyfile = key.pem
24- distinguished_name = req_distinguished_name
25- req_extensions = req_ext
26- x509_extensions = v3_ca
27-
28- [req_distinguished_name]
29- C = GB
30- ST = London
31- L = JoinMarket
32- O = Joininbox
33- CN = Joininbox
34- [req_ext]
35- subjectAltName = @alt_names
36- [v3_ca]
37- subjectAltName = @alt_names
38- [alt_names]
39- DNS.1 = localhost
40- DNS.2 = 127.0.0.1
41- DNS.3 = $localip
42- " | sudo -u ${USERNAME} tee localhost.conf
10+ if [ -d $HOME_DIR /.joinmarket/ssl ]; then
11+ sudo -u $USERNAME rm -rf $HOME_DIR /.joinmarket/ssl
12+ fi
4313
44- sudo -u ${USERNAME} openssl req -new -x509 -sha256 -key key.pem \
45- -out cert.pem -days 3650 -config localhost.conf
14+ subj=" /C=US/ST=Utah/L=Lehi/O=Your Company, Inc./OU=IT/CN=example.com"
15+ sudo -u $USERNAME mkdir -p $HOME_DIR /.joinmarket/ssl/ \
16+ && pushd " $_ " \
17+ && sudo -u $USERNAME openssl req -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes -out cert.pem -keyout key.pem -subj " $subj " \
18+ && popd || exit 1
4619
47- fi
20+ else
21+ echo " ${HOME_DIR} /.joinmarket/ssl/cert.pem and key.pem is already present"
22+ fi
0 commit comments