Browse Source

Don't pin certs

The guidelines on how to do this properly are just too confusing
Bob Mottram 8 years ago
parent
commit
19a13521a7
4 changed files with 249 additions and 242 deletions
  1. 245
    238
      src/freedombone-addcert
  2. 2
    2
      src/freedombone-renew-cert
  3. 1
    1
      src/freedombone-restore-local
  4. 1
    1
      src/freedombone-restore-remote

+ 245
- 238
src/freedombone-addcert View File

@@ -38,9 +38,12 @@ COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
38 38
 
39 39
 source /usr/local/bin/${PROJECT_NAME}-utils-git
40 40
 if [ -f /usr/bin/${PROJECT_NAME}-utils-git ]; then
41
-	source /usr/bin/${PROJECT_NAME}-utils-git
41
+    source /usr/bin/${PROJECT_NAME}-utils-git
42 42
 fi
43 43
 
44
+# Don't pin certs by default
45
+PIN_CERTS=
46
+
44 47
 HOSTNAME=
45 48
 LETSENCRYPT_HOSTNAME=
46 49
 COUNTRY_CODE="US"
@@ -61,66 +64,66 @@ FRIENDS_MIRRORS_SSH_PORT=
61 64
 MY_MIRRORS_PASSWORD=
62 65
 
63 66
 function read_repo_servers {
64
-	if [ -f $CONFIGURATION_FILE ]; then
65
-		if grep -q "FRIENDS_MIRRORS_SERVER" $CONFIGURATION_FILE; then
66
-			FRIENDS_MIRRORS_SERVER=$(grep "FRIENDS_MIRRORS_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
67
-		fi
68
-		if grep -q "FRIENDS_MIRRORS_SSH_PORT" $CONFIGURATION_FILE; then
69
-			FRIENDS_MIRRORS_SSH_PORT=$(grep "FRIENDS_MIRRORS_SSH_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
70
-		fi
71
-		if grep -q "MY_MIRRORS_PASSWORD" $CONFIGURATION_FILE; then
72
-			MY_MIRRORS_PASSWORD=$(grep "MY_MIRRORS_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
73
-		fi
74
-		if grep -q "FRIENDS_MIRRORS_PASSWORD" $CONFIGURATION_FILE; then
75
-			FRIENDS_MIRRORS_PASSWORD=$(grep "FRIENDS_MIRRORS_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
76
-		fi
77
-	fi
78
-
79
-	if [ ! $FRIENDS_MIRRORS_SERVER ]; then
80
-		return
81
-	fi
82
-	if [ ${#FRIENDS_MIRRORS_SERVER} -lt 2 ]; then
83
-		return
84
-	fi
85
-
86
-	MAIN_COMMAND=/usr/local/bin/${PROJECT_NAME}
87
-	if [ ! -f $MAIN_COMMAND ]; then
88
-		MAIN_COMMAND=/usr/bin/${PROJECT_NAME}
89
-	fi
90
-
91
-	REPOS=($(cat ${MAIN_COMMAND} | grep "_REPO=\"" | uniq -u | sed 's|${PROJECT_NAME}|'"${PROJECT_NAME}"'|g'))
92
-
93
-	for line in "${REPOS[@]}"
94
-	do
95
-		repo_name=$(echo "$line" | awk -F '=' '{print $1}')
96
-		mirrors_name=$(echo "$repo_name" | sed "s|_REPO||g" | awk '{print tolower($0)}')
97
-		friends_repo_url="ssh://mirrors@${FRIENDS_MIRRORS_SERVER}:${FRIENDS_MIRRORS_SSH_PORT}/home/mirrors/${mirrors_name}"
98
-		${repo_name}="${friends_repo_url}"
99
-	done
67
+    if [ -f $CONFIGURATION_FILE ]; then
68
+        if grep -q "FRIENDS_MIRRORS_SERVER" $CONFIGURATION_FILE; then
69
+            FRIENDS_MIRRORS_SERVER=$(grep "FRIENDS_MIRRORS_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
70
+        fi
71
+        if grep -q "FRIENDS_MIRRORS_SSH_PORT" $CONFIGURATION_FILE; then
72
+            FRIENDS_MIRRORS_SSH_PORT=$(grep "FRIENDS_MIRRORS_SSH_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
73
+        fi
74
+        if grep -q "MY_MIRRORS_PASSWORD" $CONFIGURATION_FILE; then
75
+            MY_MIRRORS_PASSWORD=$(grep "MY_MIRRORS_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
76
+        fi
77
+        if grep -q "FRIENDS_MIRRORS_PASSWORD" $CONFIGURATION_FILE; then
78
+            FRIENDS_MIRRORS_PASSWORD=$(grep "FRIENDS_MIRRORS_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
79
+        fi
80
+    fi
81
+
82
+    if [ ! $FRIENDS_MIRRORS_SERVER ]; then
83
+        return
84
+    fi
85
+    if [ ${#FRIENDS_MIRRORS_SERVER} -lt 2 ]; then
86
+        return
87
+    fi
88
+
89
+    MAIN_COMMAND=/usr/local/bin/${PROJECT_NAME}
90
+    if [ ! -f $MAIN_COMMAND ]; then
91
+        MAIN_COMMAND=/usr/bin/${PROJECT_NAME}
92
+    fi
93
+
94
+    REPOS=($(cat ${MAIN_COMMAND} | grep "_REPO=\"" | uniq -u | sed 's|${PROJECT_NAME}|'"${PROJECT_NAME}"'|g'))
95
+
96
+    for line in "${REPOS[@]}"
97
+    do
98
+        repo_name=$(echo "$line" | awk -F '=' '{print $1}')
99
+        mirrors_name=$(echo "$repo_name" | sed "s|_REPO||g" | awk '{print tolower($0)}')
100
+        friends_repo_url="ssh://mirrors@${FRIENDS_MIRRORS_SERVER}:${FRIENDS_MIRRORS_SSH_PORT}/home/mirrors/${mirrors_name}"
101
+        ${repo_name}="${friends_repo_url}"
102
+    done
100 103
 }
101 104
 
102 105
 function show_help {
103
-	echo ''
104
-	echo $"${PROJECT_NAME}-addcert -h [hostname] -c [country code] -a [area] -l [location]"
105
-	echo $'                    -o [organisation] -u [unit] --ca "" --nodh ""'
106
-	echo ''
107
-	echo $'Creates a self-signed certificate for the given hostname'
108
-	echo ''
109
-	echo $'     --help                   Show help'
110
-	echo $'  -h --hostname [name]        Hostname'
111
-	echo $'  -e --letsencrypt [hostname] Hostname to use with Lets Encrypt'
112
-	echo $'  -s --server [url]           Lets Encrypt server URL'
113
-	echo $'  -c --country [code]         Optional country code (eg. US, GB, etc)'
114
-	echo $'  -a --area [description]     Optional area description'
115
-	echo $'  -l --location [locn]        Optional location name'
116
-	echo $'  -o --organisation [name]    Optional organisation name'
117
-	echo $'  -u --unit [name]            Optional unit name'
118
-	echo $'     --email [address]        Email address for letsencrypt'
119
-	echo $'     --dhkey [bits]           DH key length in bits'
120
-	echo $'     --nodh ""                Do not calculate DH params'
121
-	echo $'     --ca ""                  Certificate authority cert'
122
-	echo ''
123
-	exit 0
106
+    echo ''
107
+    echo $"${PROJECT_NAME}-addcert -h [hostname] -c [country code] -a [area] -l [location]"
108
+    echo $'                    -o [organisation] -u [unit] --ca "" --nodh ""'
109
+    echo ''
110
+    echo $'Creates a self-signed certificate for the given hostname'
111
+    echo ''
112
+    echo $'     --help                   Show help'
113
+    echo $'  -h --hostname [name]        Hostname'
114
+    echo $'  -e --letsencrypt [hostname] Hostname to use with Lets Encrypt'
115
+    echo $'  -s --server [url]           Lets Encrypt server URL'
116
+    echo $'  -c --country [code]         Optional country code (eg. US, GB, etc)'
117
+    echo $'  -a --area [description]     Optional area description'
118
+    echo $'  -l --location [locn]        Optional location name'
119
+    echo $'  -o --organisation [name]    Optional organisation name'
120
+    echo $'  -u --unit [name]            Optional unit name'
121
+    echo $'     --email [address]        Email address for letsencrypt'
122
+    echo $'     --dhkey [bits]           DH key length in bits'
123
+    echo $'     --nodh ""                Do not calculate DH params'
124
+    echo $'     --ca ""                  Certificate authority cert'
125
+    echo ''
126
+    exit 0
124 127
 }
125 128
 
126 129
 while [[ $# > 1 ]]
@@ -128,217 +131,221 @@ do
128 131
 key="$1"
129 132
 
130 133
 case $key in
131
-	--help)
132
-	show_help
133
-	;;
134
-	-h|--hostname)
135
-	shift
136
-	HOSTNAME="$1"
137
-	;;
138
-	-e|--letsencrypt)
139
-	shift
140
-	LETSENCRYPT_HOSTNAME="$1"
141
-	;;
142
-	--email)
143
-	shift
144
-	MY_EMAIL_ADDRESS="$1"
145
-	;;
146
-	-s|--server)
147
-	shift
148
-	LETSENCRYPT_SERVER="$1"
149
-	;;
150
-	-c|--country)
151
-	shift
152
-	COUNTRY_CODE="$1"
153
-	;;
154
-	-a|--area)
155
-	shift
156
-	AREA="$1"
157
-	;;
158
-	-l|--location)
159
-	shift
160
-	LOCATION="$1"
161
-	;;
162
-	-o|--organisation)
163
-	shift
164
-	ORGANISATION="$1"
165
-	;;
166
-	-u|--unit)
167
-	shift
168
-	UNIT="$1"
169
-	;;
170
-	--ca)
171
-	shift
172
-	EXTENSIONS="-extensions v3_ca"
173
-	ORGANISATION="Freedombone-CA"
174
-	;;
175
-	--nodh)
176
-	shift
177
-	NODH="true"
178
-	;;
179
-	--dhkey)
180
-	shift
181
-	DH_KEYLENGTH=${1}
182
-	;;
183
-	*)
184
-	# unknown option
185
-	;;
134
+    --help)
135
+    show_help
136
+    ;;
137
+    -h|--hostname)
138
+    shift
139
+    HOSTNAME="$1"
140
+    ;;
141
+    -e|--letsencrypt)
142
+    shift
143
+    LETSENCRYPT_HOSTNAME="$1"
144
+    ;;
145
+    --email)
146
+    shift
147
+    MY_EMAIL_ADDRESS="$1"
148
+    ;;
149
+    -s|--server)
150
+    shift
151
+    LETSENCRYPT_SERVER="$1"
152
+    ;;
153
+    -c|--country)
154
+    shift
155
+    COUNTRY_CODE="$1"
156
+    ;;
157
+    -a|--area)
158
+    shift
159
+    AREA="$1"
160
+    ;;
161
+    -l|--location)
162
+    shift
163
+    LOCATION="$1"
164
+    ;;
165
+    -o|--organisation)
166
+    shift
167
+    ORGANISATION="$1"
168
+    ;;
169
+    -u|--unit)
170
+    shift
171
+    UNIT="$1"
172
+    ;;
173
+    --ca)
174
+    shift
175
+    EXTENSIONS="-extensions v3_ca"
176
+    ORGANISATION="Freedombone-CA"
177
+    ;;
178
+    --nodh)
179
+    shift
180
+    NODH="true"
181
+    ;;
182
+    --dhkey)
183
+    shift
184
+    DH_KEYLENGTH=${1}
185
+    ;;
186
+    *)
187
+    # unknown option
188
+    ;;
186 189
 esac
187 190
 shift
188 191
 done
189 192
 
190 193
 if [ ! $HOSTNAME ]; then
191
-	if [ ! $LETSENCRYPT_HOSTNAME ]; then
192
-		echo $'No hostname specified'
193
-		exit 5748
194
-	fi
194
+    if [ ! $LETSENCRYPT_HOSTNAME ]; then
195
+        echo $'No hostname specified'
196
+        exit 5748
197
+    fi
195 198
 fi
196 199
 
197 200
 if ! which openssl > /dev/null ;then
198
-	echo $"$0: openssl is not installed, exiting" 1>&2
199
-	exit 5689
201
+    echo $"$0: openssl is not installed, exiting" 1>&2
202
+    exit 5689
200 203
 fi
201 204
 
202 205
 if [ ! -d /etc/ssl/mycerts ]; then
203
-	mkdir /etc/ssl/mycerts
206
+    mkdir /etc/ssl/mycerts
204 207
 fi
205 208
 
206 209
 CERTFILE=$HOSTNAME
207 210
 
208 211
 function add_cert_letsencrypt {
209
-	CERTFILE=$LETSENCRYPT_HOSTNAME
210
-
211
-	# obtain the email address for the admin user
212
-	if [ ! $MY_EMAIL_ADDRESS ]; then
213
-		if [ -f $CONFIGURATION_FILE ]; then
214
-			if grep -q "MY_EMAIL_ADDRESS=" $CONFIGURATION_FILE; then
215
-				MY_EMAIL_ADDRESS=$(cat $CONFIGURATION_FILE | grep "MY_EMAIL_ADDRESS=" | awk -F '=' '{print $2}')
216
-			fi
217
-		fi
218
-	fi
219
-	if [ ! $MY_EMAIL_ADDRESS ]; then
220
-		if [ -f $COMPLETION_FILE ]; then
221
-			if grep -q "Admin user:" $COMPLETION_FILE; then
222
-				ADMIN_USER=$(cat $COMPLETION_FILE | grep "Admin user" | awk -F ':' '{print $2}')
223
-				MY_EMAIL_ADDRESS=$ADMIN_USER@$HOSTNAME
224
-			fi
225
-		fi
226
-	fi
227
-
228
-	if [ ! -d $INSTALL_DIR ]; then
229
-		mkdir -p $INSTALL_DIR
230
-	fi
231
-	cd $INSTALL_DIR
232
-
233
-	# obtain the repo
234
-	if [ ! -d ${INSTALL_DIR}/letsencrypt ]; then
235
-		git_clone $LETSENCRYPT_REPO ${INSTALL_DIR}/letsencrypt
236
-		if [ ! -d ${INSTALL_DIR}/letsencrypt ]; then
237
-			exit 76283
238
-		fi
239
-	else
240
-		cd ${INSTALL_DIR}/letsencrypt
241
-		git_pull $LETSENCRYPT_REPO
242
-	fi
243
-
244
-	# stop the web server
245
-	systemctl stop nginx
246
-
247
-	cd ${INSTALL_DIR}/letsencrypt
248
-	./letsencrypt-auto certonly --server $LETSENCRYPT_SERVER --standalone -d $LETSENCRYPT_HOSTNAME --renew-by-default --agree-tos --email $MY_EMAIL_ADDRESS
249
-	if [ ! "$?" = "0" ]; then
250
-		echo $"Failed to install letsencrypt for domain $LETSENCRYPT_HOSTNAME"
251
-		systemctl start nginx
252
-		exit 63216
253
-	fi
254
-
255
-	# replace some legacy filenames
256
-	if [ -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.bundle.crt ]; then
257
-		mv /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.bundle.crt /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
258
-	fi
259
-	if [ -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.crt ]; then
260
-		mv /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.crt /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
261
-	fi
262
-	sed -i "s|ssl_certificate /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.bundle.crt|ssl_certificate /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem|g" /etc/nginx/sites-available/$LETSENCRYPT_HOSTNAME
263
-	sed -i "s|ssl_certificate /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.crt|ssl_certificate /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem|g" /etc/nginx/sites-available/$LETSENCRYPT_HOSTNAME
264
-
265
-	# link the private key
266
-	if [ -f /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key ]; then
267
-		if [ ! -f /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key.old ]; then
268
-			mv /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key.old
269
-		else
270
-			rm -f /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key
271
-		fi
272
-	fi
273
-	ln -s /etc/letsencrypt/live/${LETSENCRYPT_HOSTNAME}/privkey.pem /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key
274
-
275
-	# link the public key
276
-	if [ -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem ]; then
277
-		if [ ! -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem.old ]; then
278
-			mv /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem.old
279
-		else
280
-			rm -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
281
-		fi
282
-	fi
283
-	ln -s /etc/letsencrypt/live/${LETSENCRYPT_HOSTNAME}/fullchain.pem /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
284
-
285
-	cp /etc/letsencrypt/live/${LETSENCRYPT_HOSTNAME}/fullchain.pem /etc/ssl/mycerts/${LETSENCRYPT_HOSTNAME}.pem
286
-
287
-	systemctl start nginx
288
-
289
-	${PROJECT_NAME}-pin-cert $LETSENCRYPT_HOSTNAME
290
-	if [ ! "$?" = "0" ]; then
291
-		echo $"Certificate for $LETSENCRYPT_HOSTNAME could not be pinned"
292
-		exit 62878
293
-	fi
212
+    CERTFILE=$LETSENCRYPT_HOSTNAME
213
+
214
+    # obtain the email address for the admin user
215
+    if [ ! $MY_EMAIL_ADDRESS ]; then
216
+        if [ -f $CONFIGURATION_FILE ]; then
217
+            if grep -q "MY_EMAIL_ADDRESS=" $CONFIGURATION_FILE; then
218
+                MY_EMAIL_ADDRESS=$(cat $CONFIGURATION_FILE | grep "MY_EMAIL_ADDRESS=" | awk -F '=' '{print $2}')
219
+            fi
220
+        fi
221
+    fi
222
+    if [ ! $MY_EMAIL_ADDRESS ]; then
223
+        if [ -f $COMPLETION_FILE ]; then
224
+            if grep -q "Admin user:" $COMPLETION_FILE; then
225
+                ADMIN_USER=$(cat $COMPLETION_FILE | grep "Admin user" | awk -F ':' '{print $2}')
226
+                MY_EMAIL_ADDRESS=$ADMIN_USER@$HOSTNAME
227
+            fi
228
+        fi
229
+    fi
230
+
231
+    if [ ! -d $INSTALL_DIR ]; then
232
+        mkdir -p $INSTALL_DIR
233
+    fi
234
+    cd $INSTALL_DIR
235
+
236
+    # obtain the repo
237
+    if [ ! -d ${INSTALL_DIR}/letsencrypt ]; then
238
+        git_clone $LETSENCRYPT_REPO ${INSTALL_DIR}/letsencrypt
239
+        if [ ! -d ${INSTALL_DIR}/letsencrypt ]; then
240
+            exit 76283
241
+        fi
242
+    else
243
+        cd ${INSTALL_DIR}/letsencrypt
244
+        git_pull $LETSENCRYPT_REPO
245
+    fi
246
+
247
+    # stop the web server
248
+    systemctl stop nginx
249
+
250
+    cd ${INSTALL_DIR}/letsencrypt
251
+    ./letsencrypt-auto certonly --server $LETSENCRYPT_SERVER --standalone -d $LETSENCRYPT_HOSTNAME --renew-by-default --agree-tos --email $MY_EMAIL_ADDRESS
252
+    if [ ! "$?" = "0" ]; then
253
+        echo $"Failed to install letsencrypt for domain $LETSENCRYPT_HOSTNAME"
254
+        systemctl start nginx
255
+        exit 63216
256
+    fi
257
+
258
+    # replace some legacy filenames
259
+    if [ -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.bundle.crt ]; then
260
+        mv /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.bundle.crt /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
261
+    fi
262
+    if [ -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.crt ]; then
263
+        mv /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.crt /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
264
+    fi
265
+    sed -i "s|ssl_certificate /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.bundle.crt|ssl_certificate /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem|g" /etc/nginx/sites-available/$LETSENCRYPT_HOSTNAME
266
+    sed -i "s|ssl_certificate /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.crt|ssl_certificate /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem|g" /etc/nginx/sites-available/$LETSENCRYPT_HOSTNAME
267
+
268
+    # link the private key
269
+    if [ -f /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key ]; then
270
+        if [ ! -f /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key.old ]; then
271
+            mv /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key.old
272
+        else
273
+            rm -f /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key
274
+        fi
275
+    fi
276
+    ln -s /etc/letsencrypt/live/${LETSENCRYPT_HOSTNAME}/privkey.pem /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key
277
+
278
+    # link the public key
279
+    if [ -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem ]; then
280
+        if [ ! -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem.old ]; then
281
+            mv /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem.old
282
+        else
283
+            rm -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
284
+        fi
285
+    fi
286
+    ln -s /etc/letsencrypt/live/${LETSENCRYPT_HOSTNAME}/fullchain.pem /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
287
+
288
+    cp /etc/letsencrypt/live/${LETSENCRYPT_HOSTNAME}/fullchain.pem /etc/ssl/mycerts/${LETSENCRYPT_HOSTNAME}.pem
289
+
290
+    systemctl start nginx
291
+
292
+    if [ $PIN_CERTS ]; then
293
+        ${PROJECT_NAME}-pin-cert $LETSENCRYPT_HOSTNAME
294
+        if [ ! "$?" = "0" ]; then
295
+            echo $"Certificate for $LETSENCRYPT_HOSTNAME could not be pinned"
296
+            exit 62878
297
+        fi
298
+    fi
294 299
 }
295 300
 
296 301
 function add_cert_selfsigned {
297
-	if [[ $ORGANISATION == "Freedombone-CA" ]]; then
298
-		CERTFILE="ca-$HOSTNAME"
299
-	fi
300
-
301
-	openssl req -x509 ${EXTENSIONS} -nodes -days 3650 -sha256 \
302
-		-subj "/O=$ORGANISATION/OU=$UNIT/C=$COUNTRY_CODE/ST=$AREA/L=$LOCATION/CN=$HOSTNAME" \
303
-		-newkey rsa:4096 -keyout /etc/ssl/private/${CERTFILE}.key \
304
-		-out /etc/ssl/certs/${CERTFILE}.crt
305
-	chmod 400 /etc/ssl/private/${CERTFILE}.key
306
-	chmod 640 /etc/ssl/certs/${CERTFILE}.crt
307
-	cp /etc/ssl/certs/${CERTFILE}.crt /etc/ssl/mycerts
308
-
309
-	${PROJECT_NAME}-pin-cert $CERTFILE
310
-	if [ ! "$?" = "0" ]; then
311
-		echo $"Certificate for $CERTFILE could not be pinned"
312
-		exit 62879
313
-	fi
302
+    if [[ $ORGANISATION == "Freedombone-CA" ]]; then
303
+        CERTFILE="ca-$HOSTNAME"
304
+    fi
305
+
306
+    openssl req -x509 ${EXTENSIONS} -nodes -days 3650 -sha256 \
307
+        -subj "/O=$ORGANISATION/OU=$UNIT/C=$COUNTRY_CODE/ST=$AREA/L=$LOCATION/CN=$HOSTNAME" \
308
+        -newkey rsa:4096 -keyout /etc/ssl/private/${CERTFILE}.key \
309
+        -out /etc/ssl/certs/${CERTFILE}.crt
310
+    chmod 400 /etc/ssl/private/${CERTFILE}.key
311
+    chmod 640 /etc/ssl/certs/${CERTFILE}.crt
312
+    cp /etc/ssl/certs/${CERTFILE}.crt /etc/ssl/mycerts
313
+
314
+    if [ $PIN_CERTS ]; then
315
+        ${PROJECT_NAME}-pin-cert $CERTFILE
316
+        if [ ! "$?" = "0" ]; then
317
+            echo $"Certificate for $CERTFILE could not be pinned"
318
+            exit 62879
319
+        fi
320
+    fi
314 321
 }
315 322
 
316 323
 function generate_dh_params {
317
-	if [ ! $NODH ]; then
318
-		if [ ! -f /etc/ssl/certs/${CERTFILE}.dhparam ]; then
319
-			${PROJECT_NAME}-dhparam -h ${CERTFILE} --fast yes
320
-		fi
321
-	fi
324
+    if [ ! $NODH ]; then
325
+        if [ ! -f /etc/ssl/certs/${CERTFILE}.dhparam ]; then
326
+            ${PROJECT_NAME}-dhparam -h ${CERTFILE} --fast yes
327
+        fi
328
+    fi
322 329
 }
323 330
 
324 331
 function restart_web_server {
325
-	if [ -f /etc/init.d/nginx ]; then
326
-		/etc/init.d/nginx reload
327
-	fi
332
+    if [ -f /etc/init.d/nginx ]; then
333
+        /etc/init.d/nginx reload
334
+    fi
328 335
 }
329 336
 
330 337
 function make_cert_bundle {
331
-	# Create a bundle of your certificates
332
-	cat /etc/ssl/mycerts/*.crt /etc/ssl/mycerts/*.pem > /etc/ssl/${PROJECT_NAME}-bundle.crt
333
-	tar -czvf /etc/ssl/${PROJECT_NAME}-certs.tar.gz /etc/ssl/mycerts/*.crt /etc/ssl/mycerts/*.pem
338
+    # Create a bundle of your certificates
339
+    cat /etc/ssl/mycerts/*.crt /etc/ssl/mycerts/*.pem > /etc/ssl/${PROJECT_NAME}-bundle.crt
340
+    tar -czvf /etc/ssl/${PROJECT_NAME}-certs.tar.gz /etc/ssl/mycerts/*.crt /etc/ssl/mycerts/*.pem
334 341
 }
335 342
 
336 343
 function create_cert {
337
-	if [ $LETSENCRYPT_HOSTNAME ]; then
338
-		add_cert_letsencrypt
339
-	else
340
-		add_cert_selfsigned
341
-	fi
344
+    if [ $LETSENCRYPT_HOSTNAME ]; then
345
+        add_cert_letsencrypt
346
+    else
347
+        add_cert_selfsigned
348
+    fi
342 349
 }
343 350
 
344 351
 read_repo_servers

+ 2
- 2
src/freedombone-renew-cert View File

@@ -69,7 +69,7 @@ function renew_letsencrypt {
69 69
     ln -s /etc/letsencrypt/live/${HOSTNAME}/privkey.pem /etc/ssl/private/${HOSTNAME}.key
70 70
     ln -s /etc/letsencrypt/live/${HOSTNAME}/fullchain.pem /etc/ssl/certs/${HOSTNAME}.pem
71 71
 
72
-    ${PROJECT_NAME}-pin-cert $HOSTNAME
72
+    ${PROJECT_NAME}-pin-cert $HOSTNAME remove
73 73
 }
74 74
 
75 75
 function renew_startssl {
@@ -169,7 +169,7 @@ function renew_startssl {
169 169
     echo $"/etc/ssl/certs/$HOSTNAME.new.crt then run this command again."
170 170
     echo ''
171 171
 
172
-    ${PROJECT_NAME}-pin-cert $HOSTNAME
172
+    ${PROJECT_NAME}-pin-cert $HOSTNAME remove
173 173
 }
174 174
 
175 175
 while [[ $# > 1 ]]

+ 1
- 1
src/freedombone-restore-local View File

@@ -1291,7 +1291,7 @@ restore_voip
1291 1291
 restore_tox
1292 1292
 unmount_drive
1293 1293
 
1294
-${PROJECT_NAME}-pin-cert all
1294
+#${PROJECT_NAME}-pin-cert all
1295 1295
 
1296 1296
 echo $"Restore from USB drive is complete. You can now unplug it."
1297 1297
 

+ 1
- 1
src/freedombone-restore-remote View File

@@ -1130,7 +1130,7 @@ restore_tox
1130 1130
 restore_email
1131 1131
 restore_dlna
1132 1132
 
1133
-${PROJECT_NAME}-pin-cert all
1133
+#${PROJECT_NAME}-pin-cert all
1134 1134
 
1135 1135
 echo $"*** Remote restore was successful ***"
1136 1136