From: Lukas Schauer Date: Sat, 5 Dec 2015 01:43:21 +0000 (+0100) Subject: moved some code around to allow initial registration X-Git-Tag: v0.1.0~225 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8221727a9f128996b519c48a93079da4491d24a6;p=thirdparty%2Fdehydrated.git moved some code around to allow initial registration --- diff --git a/letsencrypt.sh b/letsencrypt.sh index 641be7f..4f4d664 100755 --- a/letsencrypt.sh +++ b/letsencrypt.sh @@ -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