]> git.street.me.uk Git - andy/dehydrated.git/commitdiff
moved some code around to allow initial registration
authorLukas Schauer <lukas@schauer.so>
Sat, 5 Dec 2015 01:43:21 +0000 (02:43 +0100)
committerLukas Schauer <lukas@schauer.so>
Sat, 5 Dec 2015 01:43:21 +0000 (02:43 +0100)
letsencrypt.sh

index 641be7fabfc3b95d0f72e5cb4b1e9da727c43844..4f4d6645b197347b709cbcab08da13b4cff1a640 100755 (executable)
@@ -11,11 +11,6 @@ urlbase64() {
   base64 -w 0 | sed -r 's/=*$//g' | tr '+/' '-_'
 }
 
-pubExponent64="$(printf "%06x" "$(openssl rsa -in private_key.pem -noout -text | grep publicExponent | head -1 | cut -d' ' -f2)" | perl -pe 's/([0-9a-f]{2})/chr hex $1/gie' | urlbase64)"
-pubMod64="$(echo -n "$(openssl rsa -in private_key.pem -noout -modulus | cut -d'=' -f2 | perl -pe 's/([0-9a-f]{2})/chr hex $1/gie')" | urlbase64)"
-
-thumbprint="$(echo -n "$(echo -n '{"e":"'"${pubExponent64}"'","kty":"RSA","n":"'"${pubMod64}"'"}' | sha256sum | awk '{print $1}' | perl -pe 's/([0-9a-f]{2})/chr hex $1/gie')" | urlbase64)"
-
 signed_request() {
   payload64="$(echo -n "${2}" | urlbase64)"
 
@@ -33,10 +28,6 @@ signed_request() {
   curl -s -d "${data}" "${1}"
 }
 
-register() {
-  signed_request "${CA}/acme/new-reg" '{"resource": "new-reg", "agreement": "https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf"}'
-}
-
 sign_domain() {
   domain="${1}"
   altnames="${@}"
@@ -91,11 +82,21 @@ sign_domain() {
   echo "  + Done!"
 }
 
+register="0"
 if [ ! -e "private_key.pem" ]; then
   echo "+ Generating account key..."
   openssl genrsa -out "private_key.pem" 4096 2> /dev/null > /dev/null
+  register="1"
+fi
+
+pubExponent64="$(printf "%06x" "$(openssl rsa -in private_key.pem -noout -text | grep publicExponent | head -1 | cut -d' ' -f2)" | perl -pe 's/([0-9a-f]{2})/chr hex $1/gie' | urlbase64)"
+pubMod64="$(echo -n "$(openssl rsa -in private_key.pem -noout -modulus | cut -d'=' -f2 | perl -pe 's/([0-9a-f]{2})/chr hex $1/gie')" | urlbase64)"
+
+thumbprint="$(echo -n "$(echo -n '{"e":"'"${pubExponent64}"'","kty":"RSA","n":"'"${pubMod64}"'"}' | sha256sum | awk '{print $1}' | perl -pe 's/([0-9a-f]{2})/chr hex $1/gie')" | urlbase64)"
+
+if [ "${register}" = "1" ]; then
   echo "+ Registering account key with letsencrypt..."
-  register
+  signed_request "${CA}/acme/new-reg" '{"resource": "new-reg", "agreement": "https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf"}'
 fi
 
 cat domains.txt | sed 's/^\s*//g;s/\s*$//g' | grep -v '^#' | grep -v '^$' | while read line; do