freebsd and old openssl compatible

1 parent a3b771d5
Pipeline #1980 for 3567b93f skipped in 0 seconds
Showing 1 changed file with 30 additions and 12 deletions
...@@ -32,12 +32,6 @@ function readconfig { ...@@ -32,12 +32,6 @@ function readconfig {
fi fi
} }
OPENSSL=$(/usr/bin/env which openssl)
if [[ ! -x $OPENSSL ]] ; then
echo Cannot find openssl
exit 1
fi
# теперь считываем конфиг # теперь считываем конфиг
readconfig acme_dir readconfig acme_dir
ACMEDIR=$readconfig_return_value ACMEDIR=$readconfig_return_value
...@@ -53,8 +47,28 @@ then ...@@ -53,8 +47,28 @@ then
exit 0 exit 0
fi fi
# создаём путь
mkdir -p $ACMEDIR/challenges mkdir -p $ACMEDIR/challenges
# находим openssl
OPENSSL=$(/usr/bin/env which openssl)
if [[ ! -x $OPENSSL ]] ; then
echo Cannot find openssl
exit 1
fi
# вычисляем версию
OPENSSL_VERSION=$(${OPENSSL} version)
# для старых версий выбираем sha1
if [[ "OPENSSL_VERSION" < "OpenSSL 0.9.8" ]] ; then
OPT_DIGEST="-sha1"
else
OPT_DIGEST="-sha256"
fi
echo "Using ${OPT_DIGEST} digest."
# создаём необходимые сертификаты # создаём необходимые сертификаты
$OPENSSL genrsa 4096 > $ACMEDIR/account.key $OPENSSL genrsa 4096 > $ACMEDIR/account.key
$OPENSSL genrsa 4096 > $ACMEDIR/site.key $OPENSSL genrsa 4096 > $ACMEDIR/site.key
...@@ -72,21 +86,25 @@ if [[ -z "$ALT_DOMAINS" ]] ...@@ -72,21 +86,25 @@ if [[ -z "$ALT_DOMAINS" ]]
then then
$OPENSSL req \ $OPENSSL req \
-new \ -new \
-sha256 \ $OPT_DIGEST \
-key $ACMEDIR/site.key \ -key $ACMEDIR/site.key \
-subj "/CN=$PRIMARY_DOMAIN" -subj "/CN=$PRIMARY_DOMAIN"
else else
cat /etc/ssl/openssl.cnf > $ACMEDIR/openssl.cnf
echo "[SAN]" >> $ACMEDIR/openssl.cnf
echo $ALT_DOMAINS | sed \
-e 's/[[:space:], ]\{1,\}/,DNS:/g' \
-e 's/^/subjectAltName=DNS:/' \
>> $ACMEDIR/openssl.cnf
$OPENSSL req \ $OPENSSL req \
-new \ -new \
-sha256 \ $OPT_DIGEST \
-key $ACMEDIR/site.key \ -key $ACMEDIR/site.key \
-subj "/CN=$PRIMARY_DOMAIN" \ -subj "/CN=$PRIMARY_DOMAIN" \
-reqexts SAN \ -reqexts SAN \
-config \ -config $ACMEDIR/openssl.cnf
<(cat /etc/ssl/openssl.cnf \
<(sed -e 's/[[:space:],]\+/,DNS:/g' -e 's/^/[SAN]\nsubjectAltName=DNS:/' \
<(echo "$ALT_DOMAINS")))
fi \ fi \
> $ACMEDIR/site.csr > $ACMEDIR/site.csr
# пишем в лог
echo "`date` initialized" > $ACMEDIR/log.txt echo "`date` initialized" > $ACMEDIR/log.txt
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!