Skip to content

Instantly share code, notes, and snippets.

/WYPOK UCZY Secret

Created December 11, 2015 19:28
Show Gist options
  • Save anonymous/0c773dc561349d078b0b to your computer and use it in GitHub Desktop.
Save anonymous/0c773dc561349d078b0b to your computer and use it in GitHub Desktop.
set -euo pipefail
export ACME_HOME="${HOME}/acme-tiny"
# prepare
if [ ! -d "$ACME_HOME" ]; then
mkdir -p "$ACME_HOME"
wget https://github.com/diafygi/acme-tiny/raw/master/acme_tiny.py -O "${ACME_HOME}/acme_tiny.py"
wget https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem -O "${ACME_HOME}/intermediate.pem"
openssl genrsa 4096 > "${ACME_HOME}/account.key"
fi
# sign_domain <domain> <ip>
function sign_domain(){
local workdir="$HOME/acme-tiny/$1"
local knowndir="$HOME/domains/$1/public_python/public/.well-known"
rm -rf "${knowndir}" "${workdir}"
python /usr/local/devil/devil/bin/devil.pyc ssl www del "${2}" "${1}"
mkdir -p "${workdir}" "${knowndir}/acme-challenge/"
openssl genrsa 4096 > "${workdir}/domain.key"
openssl req -new -sha256 -key "${workdir}/domain.key" -subj "/CN=$1" > "${workdir}/domain.csr"
python acme_tiny.py --account-key "${ACME_HOME}/account.key" \
--csr "${workdir}/domain.csr"
--acme-dir "$HOME/domains/${1}/public_python/public/.well-known/acme-challenge" > "${workdir}/signed.crt"
cat "${workdir}/signed.crt" "${ACME_HOME}/intermediate.pem" > "${workdir}/chained.pem"
python /usr/local/devil/devil/bin/devil.pyc ssl www add "$2" "${workdir}/chained.pem" "${workdir}/domain.key" "$1"
rm -rf "${knowndir}"
};
sign_domain "kosciol.pilnujemy.info" "91.185.185.211"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment