Procházet zdrojové kódy

letsencrypt repo change

Bob Mottram před 8 roky
rodič
revize
93b20c01c0
1 změnil soubory, kde provedl 124 přidání a 124 odebrání
  1. 124
    124
      src/freedombone-addcert

+ 124
- 124
src/freedombone-addcert Zobrazit soubor

@@ -50,7 +50,7 @@ NODH=
50 50
 DH_KEYLENGTH=2048
51 51
 INSTALL_DIR=/root/build
52 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 54
 MY_EMAIL_ADDRESS=
55 55
 FRIENDS_MIRRORS_SERVER=
56 56
 FRIENDS_MIRRORS_PASSWORD=
@@ -59,40 +59,40 @@ MY_MIRRORS_PASSWORD=
59 59
 
60 60
 function read_repo_servers {
61 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 74
     fi
75 75
 
76 76
     if [ ! $FRIENDS_MIRRORS_SERVER ]; then
77
-	return
77
+    return
78 78
     fi
79 79
     if [ ${#FRIENDS_MIRRORS_SERVER} -lt 2 ]; then
80
-	return
80
+    return
81 81
     fi
82 82
 
83 83
     MAIN_COMMAND=/usr/local/bin/${PROJECT_NAME}
84 84
     if [ ! -f $MAIN_COMMAND ]; then
85
-	MAIN_COMMAND=/usr/bin/${PROJECT_NAME}
85
+    MAIN_COMMAND=/usr/bin/${PROJECT_NAME}
86 86
     fi
87 87
 
88 88
     REPOS=($(cat ${MAIN_COMMAND} | grep "_REPO=\"" | uniq -u | sed 's|${PROJECT_NAME}|'"${PROJECT_NAME}"'|g'))
89 89
 
90 90
     for line in "${REPOS[@]}"
91 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 96
     done
97 97
 }
98 98
 
@@ -125,69 +125,69 @@ do
125 125
     key="$1"
126 126
 
127 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 183
     esac
184 184
     shift
185 185
 done
186 186
 
187 187
 if [ ! $HOSTNAME ]; then
188 188
     if [ ! $LETSENCRYPT_HOSTNAME ]; then
189
-	echo $'No hostname specified'
190
-	exit 5748
189
+    echo $'No hostname specified'
190
+    exit 5748
191 191
     fi
192 192
 fi
193 193
 
@@ -207,35 +207,35 @@ function add_cert_letsencrypt {
207 207
 
208 208
     # obtain the email address for the admin user
209 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 215
     fi
216 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 223
     fi
224 224
 
225 225
     if [ ! -d $INSTALL_DIR ]; then
226
-	mkdir -p $INSTALL_DIR
226
+    mkdir -p $INSTALL_DIR
227 227
     fi
228 228
     cd $INSTALL_DIR
229 229
 
230 230
     # obtain the repo
231 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 236
     else
237
-	cd ${INSTALL_DIR}/letsencrypt
238
-	git_pull $LETSENCRYPT_REPO
237
+    cd ${INSTALL_DIR}/letsencrypt
238
+    git_pull $LETSENCRYPT_REPO
239 239
     fi
240 240
 
241 241
     # stop the web server
@@ -244,38 +244,38 @@ function add_cert_letsencrypt {
244 244
     cd ${INSTALL_DIR}/letsencrypt
245 245
     ./letsencrypt-auto certonly --server $LETSENCRYPT_SERVER --standalone -d $LETSENCRYPT_HOSTNAME --renew-by-default --agree-tos --email $MY_EMAIL_ADDRESS
246 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 250
     fi
251 251
 
252 252
     # replace some legacy filenames
253 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 255
     fi
256 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 258
     fi
259 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 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 262
     # link the private key
263 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 269
     fi
270 270
     ln -s /etc/letsencrypt/live/${LETSENCRYPT_HOSTNAME}/privkey.pem /etc/ssl/private/${LETSENCRYPT_HOSTNAME}.key
271 271
 
272 272
     # link the public key
273 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 279
     fi
280 280
     ln -s /etc/letsencrypt/live/${LETSENCRYPT_HOSTNAME}/fullchain.pem /etc/ssl/certs/${LETSENCRYPT_HOSTNAME}.pem
281 281
 
@@ -285,42 +285,42 @@ function add_cert_letsencrypt {
285 285
 
286 286
     ${PROJECT_NAME}-pin-cert $LETSENCRYPT_HOSTNAME
287 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 290
     fi
291 291
 }
292 292
 
293 293
 function add_cert_selfsigned {
294 294
     if [[ $ORGANISATION == "Freedombone-CA" ]]; then
295
-	CERTFILE="ca-$HOSTNAME"
295
+    CERTFILE="ca-$HOSTNAME"
296 296
     fi
297 297
 
298 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 302
     chmod 400 /etc/ssl/private/${CERTFILE}.key
303 303
     chmod 640 /etc/ssl/certs/${CERTFILE}.crt
304 304
     cp /etc/ssl/certs/${CERTFILE}.crt /etc/ssl/mycerts
305 305
 
306 306
     ${PROJECT_NAME}-pin-cert $CERTFILE
307 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 310
     fi
311 311
 }
312 312
 
313 313
 function generate_dh_params {
314 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 318
     fi
319 319
 }
320 320
 
321 321
 function restart_web_server {
322 322
     if [ -f /etc/init.d/nginx ]; then
323
-	/etc/init.d/nginx reload
323
+    /etc/init.d/nginx reload
324 324
     fi
325 325
 }
326 326
 
@@ -332,9 +332,9 @@ function make_cert_bundle {
332 332
 
333 333
 function create_cert {
334 334
     if [ $LETSENCRYPT_HOSTNAME ]; then
335
-	add_cert_letsencrypt
335
+    add_cert_letsencrypt
336 336
     else
337
-	add_cert_selfsigned
337
+    add_cert_selfsigned
338 338
     fi
339 339
 }
340 340