Bläddra i källkod

letsencrypt repo change

Bob Mottram 8 år sedan
förälder
incheckning
93b20c01c0
1 ändrade filer med 124 tillägg och 124 borttagningar
  1. 124
    124
      src/freedombone-addcert

+ 124
- 124
src/freedombone-addcert Visa fil

50
 DH_KEYLENGTH=2048
50
 DH_KEYLENGTH=2048
51
 INSTALL_DIR=/root/build
51
 INSTALL_DIR=/root/build
52
 LETSENCRYPT_SERVER='https://acme-v01.api.letsencrypt.org/directory'
52
 LETSENCRYPT_SERVER='https://acme-v01.api.letsencrypt.org/directory'
53
-LETSENCRYPT_REPO="https://github.com/letsencrypt/letsencrypt"
53
+LETSENCRYPT_REPO="https://github.com/certbot/certbot"
54
 MY_EMAIL_ADDRESS=
54
 MY_EMAIL_ADDRESS=
55
 FRIENDS_MIRRORS_SERVER=
55
 FRIENDS_MIRRORS_SERVER=
56
 FRIENDS_MIRRORS_PASSWORD=
56
 FRIENDS_MIRRORS_PASSWORD=
59
 
59
 
60
 function read_repo_servers {
60
 function read_repo_servers {
61
     if [ -f $CONFIGURATION_FILE ]; then
61
     if [ -f $CONFIGURATION_FILE ]; then
62
-	if grep -q "FRIENDS_MIRRORS_SERVER" $CONFIGURATION_FILE; then
63
-	    FRIENDS_MIRRORS_SERVER=$(grep "FRIENDS_MIRRORS_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
64
-	fi
65
-	if grep -q "FRIENDS_MIRRORS_SSH_PORT" $CONFIGURATION_FILE; then
66
-	    FRIENDS_MIRRORS_SSH_PORT=$(grep "FRIENDS_MIRRORS_SSH_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
67
-	fi
68
-	if grep -q "MY_MIRRORS_PASSWORD" $CONFIGURATION_FILE; then
69
-	    MY_MIRRORS_PASSWORD=$(grep "MY_MIRRORS_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
70
-	fi
71
-	if grep -q "FRIENDS_MIRRORS_PASSWORD" $CONFIGURATION_FILE; then
72
-	    FRIENDS_MIRRORS_PASSWORD=$(grep "FRIENDS_MIRRORS_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
73
-	fi
62
+    if grep -q "FRIENDS_MIRRORS_SERVER" $CONFIGURATION_FILE; then
63
+        FRIENDS_MIRRORS_SERVER=$(grep "FRIENDS_MIRRORS_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
64
+    fi
65
+    if grep -q "FRIENDS_MIRRORS_SSH_PORT" $CONFIGURATION_FILE; then
66
+        FRIENDS_MIRRORS_SSH_PORT=$(grep "FRIENDS_MIRRORS_SSH_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
67
+    fi
68
+    if grep -q "MY_MIRRORS_PASSWORD" $CONFIGURATION_FILE; then
69
+        MY_MIRRORS_PASSWORD=$(grep "MY_MIRRORS_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
70
+    fi
71
+    if grep -q "FRIENDS_MIRRORS_PASSWORD" $CONFIGURATION_FILE; then
72
+        FRIENDS_MIRRORS_PASSWORD=$(grep "FRIENDS_MIRRORS_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
73
+    fi
74
     fi
74
     fi
75
 
75
 
76
     if [ ! $FRIENDS_MIRRORS_SERVER ]; then
76
     if [ ! $FRIENDS_MIRRORS_SERVER ]; then
77
-	return
77
+    return
78
     fi
78
     fi
79
     if [ ${#FRIENDS_MIRRORS_SERVER} -lt 2 ]; then
79
     if [ ${#FRIENDS_MIRRORS_SERVER} -lt 2 ]; then
80
-	return
80
+    return
81
     fi
81
     fi
82
 
82
 
83
     MAIN_COMMAND=/usr/local/bin/${PROJECT_NAME}
83
     MAIN_COMMAND=/usr/local/bin/${PROJECT_NAME}
84
     if [ ! -f $MAIN_COMMAND ]; then
84
     if [ ! -f $MAIN_COMMAND ]; then
85
-	MAIN_COMMAND=/usr/bin/${PROJECT_NAME}
85
+    MAIN_COMMAND=/usr/bin/${PROJECT_NAME}
86
     fi
86
     fi
87
 
87
 
88
     REPOS=($(cat ${MAIN_COMMAND} | grep "_REPO=\"" | uniq -u | sed 's|${PROJECT_NAME}|'"${PROJECT_NAME}"'|g'))
88
     REPOS=($(cat ${MAIN_COMMAND} | grep "_REPO=\"" | uniq -u | sed 's|${PROJECT_NAME}|'"${PROJECT_NAME}"'|g'))
89
 
89
 
90
     for line in "${REPOS[@]}"
90
     for line in "${REPOS[@]}"
91
     do
91
     do
92
-	repo_name=$(echo "$line" | awk -F '=' '{print $1}')
93
-	mirrors_name=$(echo "$repo_name" | sed "s|_REPO||g" | awk '{print tolower($0)}')
94
-	friends_repo_url="ssh://mirrors@${FRIENDS_MIRRORS_SERVER}:${FRIENDS_MIRRORS_SSH_PORT}/home/mirrors/${mirrors_name}"
95
-	${repo_name}="${friends_repo_url}"
92
+    repo_name=$(echo "$line" | awk -F '=' '{print $1}')
93
+    mirrors_name=$(echo "$repo_name" | sed "s|_REPO||g" | awk '{print tolower($0)}')
94
+    friends_repo_url="ssh://mirrors@${FRIENDS_MIRRORS_SERVER}:${FRIENDS_MIRRORS_SSH_PORT}/home/mirrors/${mirrors_name}"
95
+    ${repo_name}="${friends_repo_url}"
96
     done
96
     done
97
 }
97
 }
98
 
98
 
125
     key="$1"
125
     key="$1"
126
 
126
 
127
     case $key in
127
     case $key in
128
-	--help)
129
-	    show_help
130
-	    ;;
131
-	-h|--hostname)
132
-	    shift
133
-	    HOSTNAME="$1"
134
-	    ;;
135
-	-e|--letsencrypt)
136
-	    shift
137
-	    LETSENCRYPT_HOSTNAME="$1"
138
-	    ;;
139
-	--email)
140
-	    shift
141
-	    MY_EMAIL_ADDRESS="$1"
142
-	    ;;
143
-	-s|--server)
144
-	    shift
145
-	    LETSENCRYPT_SERVER="$1"
146
-	    ;;
147
-	-c|--country)
148
-	    shift
149
-	    COUNTRY_CODE="$1"
150
-	    ;;
151
-	-a|--area)
152
-	    shift
153
-	    AREA="$1"
154
-	    ;;
155
-	-l|--location)
156
-	    shift
157
-	    LOCATION="$1"
158
-	    ;;
159
-	-o|--organisation)
160
-	    shift
161
-	    ORGANISATION="$1"
162
-	    ;;
163
-	-u|--unit)
164
-	    shift
165
-	    UNIT="$1"
166
-	    ;;
167
-	--ca)
168
-	    shift
169
-	    EXTENSIONS="-extensions v3_ca"
170
-	    ORGANISATION="Freedombone-CA"
171
-	    ;;
172
-	--nodh)
173
-	    shift
174
-	    NODH="true"
175
-	    ;;
176
-	--dhkey)
177
-	    shift
178
-	    DH_KEYLENGTH=${1}
179
-	    ;;
180
-	*)
181
-	    # unknown option
182
-	    ;;
128
+    --help)
129
+        show_help
130
+        ;;
131
+    -h|--hostname)
132
+        shift
133
+        HOSTNAME="$1"
134
+        ;;
135
+    -e|--letsencrypt)
136
+        shift
137
+        LETSENCRYPT_HOSTNAME="$1"
138
+        ;;
139
+    --email)
140
+        shift
141
+        MY_EMAIL_ADDRESS="$1"
142
+        ;;
143
+    -s|--server)
144
+        shift
145
+        LETSENCRYPT_SERVER="$1"
146
+        ;;
147
+    -c|--country)
148
+        shift
149
+        COUNTRY_CODE="$1"
150
+        ;;
151
+    -a|--area)
152
+        shift
153
+        AREA="$1"
154
+        ;;
155
+    -l|--location)
156
+        shift
157
+        LOCATION="$1"
158
+        ;;
159
+    -o|--organisation)
160
+        shift
161
+        ORGANISATION="$1"
162
+        ;;
163
+    -u|--unit)
164
+        shift
165
+        UNIT="$1"
166
+        ;;
167
+    --ca)
168
+        shift
169
+        EXTENSIONS="-extensions v3_ca"
170
+        ORGANISATION="Freedombone-CA"
171
+        ;;
172
+    --nodh)
173
+        shift
174
+        NODH="true"
175
+        ;;
176
+    --dhkey)
177
+        shift
178
+        DH_KEYLENGTH=${1}
179
+        ;;
180
+    *)
181
+        # unknown option
182
+        ;;
183
     esac
183
     esac
184
     shift
184
     shift
185
 done
185
 done
186
 
186
 
187
 if [ ! $HOSTNAME ]; then
187
 if [ ! $HOSTNAME ]; then
188
     if [ ! $LETSENCRYPT_HOSTNAME ]; then
188
     if [ ! $LETSENCRYPT_HOSTNAME ]; then
189
-	echo $'No hostname specified'
190
-	exit 5748
189
+    echo $'No hostname specified'
190
+    exit 5748
191
     fi
191
     fi
192
 fi
192
 fi
193
 
193
 
207
 
207
 
208
     # obtain the email address for the admin user
208
     # obtain the email address for the admin user
209
     if [ ! $MY_EMAIL_ADDRESS ]; then
209
     if [ ! $MY_EMAIL_ADDRESS ]; then
210
-	if [ -f $CONFIGURATION_FILE ]; then
211
-	    if grep -q "MY_EMAIL_ADDRESS=" $CONFIGURATION_FILE; then
212
-		MY_EMAIL_ADDRESS=$(cat $CONFIGURATION_FILE | grep "MY_EMAIL_ADDRESS=" | awk -F '=' '{print $2}')
213
-	    fi
214
-	fi
210
+    if [ -f $CONFIGURATION_FILE ]; then
211
+        if grep -q "MY_EMAIL_ADDRESS=" $CONFIGURATION_FILE; then
212
+        MY_EMAIL_ADDRESS=$(cat $CONFIGURATION_FILE | grep "MY_EMAIL_ADDRESS=" | awk -F '=' '{print $2}')
213
+        fi
214
+    fi
215
     fi
215
     fi
216
     if [ ! $MY_EMAIL_ADDRESS ]; then
216
     if [ ! $MY_EMAIL_ADDRESS ]; then
217
-	if [ -f $COMPLETION_FILE ]; then
218
-	    if grep -q "Admin user:" $COMPLETION_FILE; then
219
-		ADMIN_USER=$(cat $COMPLETION_FILE | grep "Admin user" | awk -F ':' '{print $2}')
220
-		MY_EMAIL_ADDRESS=$ADMIN_USER@$HOSTNAME
221
-	    fi
222
-	fi
217
+    if [ -f $COMPLETION_FILE ]; then
218
+        if grep -q "Admin user:" $COMPLETION_FILE; then
219
+        ADMIN_USER=$(cat $COMPLETION_FILE | grep "Admin user" | awk -F ':' '{print $2}')
220
+        MY_EMAIL_ADDRESS=$ADMIN_USER@$HOSTNAME
221
+        fi
222
+    fi
223
     fi
223
     fi
224
 
224
 
225
     if [ ! -d $INSTALL_DIR ]; then
225
     if [ ! -d $INSTALL_DIR ]; then
226
-	mkdir -p $INSTALL_DIR
226
+    mkdir -p $INSTALL_DIR
227
     fi
227
     fi
228
     cd $INSTALL_DIR
228
     cd $INSTALL_DIR
229
 
229
 
230
     # obtain the repo
230
     # obtain the repo
231
     if [ ! -d ${INSTALL_DIR}/letsencrypt ]; then
231
     if [ ! -d ${INSTALL_DIR}/letsencrypt ]; then
232
-	git_clone $LETSENCRYPT_REPO ${INSTALL_DIR}/letsencrypt
233
-	if [ ! -d ${INSTALL_DIR}/letsencrypt ]; then
234
-	    exit 76283
235
-	fi
232
+    git_clone $LETSENCRYPT_REPO ${INSTALL_DIR}/letsencrypt
233
+    if [ ! -d ${INSTALL_DIR}/letsencrypt ]; then
234
+        exit 76283
235
+    fi
236
     else
236
     else
237
-	cd ${INSTALL_DIR}/letsencrypt
238
-	git_pull $LETSENCRYPT_REPO
237
+    cd ${INSTALL_DIR}/letsencrypt
238
+    git_pull $LETSENCRYPT_REPO
239
     fi
239
     fi
240
 
240
 
241
     # stop the web server
241
     # stop the web server
244
     cd ${INSTALL_DIR}/letsencrypt
244
     cd ${INSTALL_DIR}/letsencrypt
245
     ./letsencrypt-auto certonly --server $LETSENCRYPT_SERVER --standalone -d $LETSENCRYPT_HOSTNAME --renew-by-default --agree-tos --email $MY_EMAIL_ADDRESS
245
     ./letsencrypt-auto certonly --server $LETSENCRYPT_SERVER --standalone -d $LETSENCRYPT_HOSTNAME --renew-by-default --agree-tos --email $MY_EMAIL_ADDRESS
246
     if [ ! "$?" = "0" ]; then
246
     if [ ! "$?" = "0" ]; then
247
-	echo $"Failed to install letsencrypt for domain $LETSENCRYPT_HOSTNAME"
248
-	systemctl start nginx
249
-	exit 63216
247
+    echo $"Failed to install letsencrypt for domain $LETSENCRYPT_HOSTNAME"
248
+    systemctl start nginx
249
+    exit 63216
250
     fi
250
     fi
251
 
251
 
252
     # replace some legacy filenames
252
     # replace some legacy filenames
253
     if [ -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.bundle.crt ]; then
253
     if [ -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.bundle.crt ]; then
254
-	mv /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.bundle.crt /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
254
+    mv /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.bundle.crt /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
255
     fi
255
     fi
256
     if [ -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.crt ]; then
256
     if [ -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.crt ]; then
257
-	mv /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.crt /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
257
+    mv /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.crt /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
258
     fi
258
     fi
259
     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
259
     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
260
     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
260
     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
261
 
261
 
262
     # link the private key
262
     # link the private key
263
     if [ -f /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key ]; then
263
     if [ -f /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key ]; then
264
-	if [ ! -f /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key.old ]; then
265
-	    mv /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key.old
266
-	else
267
-	    rm -f /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key
268
-	fi
264
+    if [ ! -f /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key.old ]; then
265
+        mv /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key.old
266
+    else
267
+        rm -f /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key
268
+    fi
269
     fi
269
     fi
270
     ln -s /etc/letsencrypt/live/${LETSENCRYPT_HOSTNAME}/privkey.pem /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key
270
     ln -s /etc/letsencrypt/live/${LETSENCRYPT_HOSTNAME}/privkey.pem /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key
271
 
271
 
272
     # link the public key
272
     # link the public key
273
     if [ -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem ]; then
273
     if [ -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem ]; then
274
-	if [ ! -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem.old ]; then
275
-	    mv /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem.old
276
-	else
277
-	    rm -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
278
-	fi
274
+    if [ ! -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem.old ]; then
275
+        mv /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem.old
276
+    else
277
+        rm -f /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
278
+    fi
279
     fi
279
     fi
280
     ln -s /etc/letsencrypt/live/${LETSENCRYPT_HOSTNAME}/fullchain.pem /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
280
     ln -s /etc/letsencrypt/live/${LETSENCRYPT_HOSTNAME}/fullchain.pem /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
281
 
281
 
285
 
285
 
286
     ${PROJECT_NAME}-pin-cert $LETSENCRYPT_HOSTNAME
286
     ${PROJECT_NAME}-pin-cert $LETSENCRYPT_HOSTNAME
287
     if [ ! "$?" = "0" ]; then
287
     if [ ! "$?" = "0" ]; then
288
-	echo $"Certificate for $LETSENCRYPT_HOSTNAME could not be pinned"
289
-	exit 62878
288
+    echo $"Certificate for $LETSENCRYPT_HOSTNAME could not be pinned"
289
+    exit 62878
290
     fi
290
     fi
291
 }
291
 }
292
 
292
 
293
 function add_cert_selfsigned {
293
 function add_cert_selfsigned {
294
     if [[ $ORGANISATION == "Freedombone-CA" ]]; then
294
     if [[ $ORGANISATION == "Freedombone-CA" ]]; then
295
-	CERTFILE="ca-$HOSTNAME"
295
+    CERTFILE="ca-$HOSTNAME"
296
     fi
296
     fi
297
 
297
 
298
     openssl req -x509 ${EXTENSIONS} -nodes -days 3650 -sha256 \
298
     openssl req -x509 ${EXTENSIONS} -nodes -days 3650 -sha256 \
299
-	    -subj "/O=$ORGANISATION/OU=$UNIT/C=$COUNTRY_CODE/ST=$AREA/L=$LOCATION/CN=$HOSTNAME" \
300
-	    -newkey rsa:4096 -keyout /etc/ssl/private/${CERTFILE}.key \
301
-	    -out /etc/ssl/certs/${CERTFILE}.crt
299
+        -subj "/O=$ORGANISATION/OU=$UNIT/C=$COUNTRY_CODE/ST=$AREA/L=$LOCATION/CN=$HOSTNAME" \
300
+        -newkey rsa:4096 -keyout /etc/ssl/private/${CERTFILE}.key \
301
+        -out /etc/ssl/certs/${CERTFILE}.crt
302
     chmod 400 /etc/ssl/private/${CERTFILE}.key
302
     chmod 400 /etc/ssl/private/${CERTFILE}.key
303
     chmod 640 /etc/ssl/certs/${CERTFILE}.crt
303
     chmod 640 /etc/ssl/certs/${CERTFILE}.crt
304
     cp /etc/ssl/certs/${CERTFILE}.crt /etc/ssl/mycerts
304
     cp /etc/ssl/certs/${CERTFILE}.crt /etc/ssl/mycerts
305
 
305
 
306
     ${PROJECT_NAME}-pin-cert $CERTFILE
306
     ${PROJECT_NAME}-pin-cert $CERTFILE
307
     if [ ! "$?" = "0" ]; then
307
     if [ ! "$?" = "0" ]; then
308
-	echo $"Certificate for $CERTFILE could not be pinned"
309
-	exit 62879
308
+    echo $"Certificate for $CERTFILE could not be pinned"
309
+    exit 62879
310
     fi
310
     fi
311
 }
311
 }
312
 
312
 
313
 function generate_dh_params {
313
 function generate_dh_params {
314
     if [ ! $NODH ]; then
314
     if [ ! $NODH ]; then
315
-	if [ ! -f /etc/ssl/certs/${CERTFILE}.dhparam ]; then
316
-	    ${PROJECT_NAME}-dhparam -h ${CERTFILE} --fast yes
317
-	fi
315
+    if [ ! -f /etc/ssl/certs/${CERTFILE}.dhparam ]; then
316
+        ${PROJECT_NAME}-dhparam -h ${CERTFILE} --fast yes
317
+    fi
318
     fi
318
     fi
319
 }
319
 }
320
 
320
 
321
 function restart_web_server {
321
 function restart_web_server {
322
     if [ -f /etc/init.d/nginx ]; then
322
     if [ -f /etc/init.d/nginx ]; then
323
-	/etc/init.d/nginx reload
323
+    /etc/init.d/nginx reload
324
     fi
324
     fi
325
 }
325
 }
326
 
326
 
332
 
332
 
333
 function create_cert {
333
 function create_cert {
334
     if [ $LETSENCRYPT_HOSTNAME ]; then
334
     if [ $LETSENCRYPT_HOSTNAME ]; then
335
-	add_cert_letsencrypt
335
+    add_cert_letsencrypt
336
     else
336
     else
337
-	add_cert_selfsigned
337
+    add_cert_selfsigned
338
     fi
338
     fi
339
 }
339
 }
340
 
340