Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:let_s_encrypt_-_wildcard_zertifikat

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:let_s_encrypt_-_wildcard_zertifikat [2018/08/30 08:57] – [/opt/dehydrated-master/hook/hook.sh] klaustachtler:let_s_encrypt_-_wildcard_zertifikat [2018/08/30 12:52] (aktuell) – [Generierung] klaus
Zeile 6: Zeile 6:
 [[https://letsencrypt.org/|Let's Encrypt]] offiziell ein sichereres und die Privatsphäre respektierendes Internet fördern möchte. [[https://letsencrypt.org/|Let's Encrypt]] offiziell ein sichereres und die Privatsphäre respektierendes Internet fördern möchte.
  
-:!: **WICHTIG** - **Das Ausstellen von Wildcard-Zertifikaten durch [[https://letsencrypt.org/|Let's Encrypt]] ist __nur möglich__, wenn Sie __zeitnah DNS-Einträge auf dem für Ihre Domain zuständigen DNS-Server__ durchführen können !!!**+:!: **WICHTIG** - **Das Ausstellen von Wildcard-Zertifikaten durch [[https://letsencrypt.org/|Let's Encrypt]] ist __nur möglich__, wenn** 
 +  * **__zeitnah__ DNS-Einträge** 
 +  * **__auf__ dem für die __Domäne zuständigen DNS-Server__** 
 +**durchgeführt werden können !!!** 
 ===== Vorbereitung ===== ===== Vorbereitung =====
  
Zeile 378: Zeile 382:
 :!: **HINWEIS** - **Dies ist das Zeitfenster, in dem die DNS-Einträge auf dem DNS-Server erstellt werden müssen!** :!: **HINWEIS** - **Dies ist das Zeitfenster, in dem die DNS-Einträge auf dem DNS-Server erstellt werden müssen!**
  
-  * <code>bash # Tachtler+  * <code bash># Tachtler
     echo ""     echo ""
     echo "Now you can remove the following from the zone definition of ${DOMAIN}:"     echo "Now you can remove the following from the zone definition of ${DOMAIN}:"
Zeile 390: Zeile 394:
  
 :!: **HINWEIS** - **Dies ist das Zeitfenster, in dem die DNS-Einträge von dem DNS-Server wieder gelöscht werden sollten!** :!: **HINWEIS** - **Dies ist das Zeitfenster, in dem die DNS-Einträge von dem DNS-Server wieder gelöscht werden sollten!**
 +
 +==== /opt/dehydrated-master/etc/config ====
 +
 +Nachfolgende Konfigurationsdatei muss durch kopieren einer der in der Installation mitgelieferten Beispiel Konfigurationsdatei erstellt werden, was mit nachfolgendem Befehl durchgeführt werden kann:
 +<code>
 +# cp -a /opt/dehydrated-master/docs/examples/config /opt/dehydrated-master/etc/config
 +</code>
 +
 +Anschließend muss die Konfigurationsdatei wie folgt angepasst werden, damit diese, hier beschriebene Installation und Konfiguration, funktionsfähig ist:
 +
 +**(Komplette Konfigurationsdatei)**
 +
 +<code bash>
 +########################################################
 +# This is the main config file for dehydrated          #
 +#                                                      #
 +# This file is looked for in the following locations:  #
 +# $SCRIPTDIR/config (next to this script)              #
 +# /usr/local/etc/dehydrated/config                     #
 +# /etc/dehydrated/config                               #
 +# ${PWD}/config (in current working-directory)         #
 +#                                                      #
 +# Default values of this config are in comments        #
 +########################################################
 +
 +# Which user should dehydrated run as? This will be implictly enforced when running as root
 +#DEHYDRATED_USER=
 +
 +# Which group should dehydrated run as? This will be implictly enforced when running as root
 +#DEHYDRATED_GROUP=
 +
 +# Resolve names to addresses of IP version only. (curl)
 +# supported values: 4, 6
 +# default: <unset>
 +# Tachtler
 +# default: #IP_VERSION=
 +IP_VERSION=4
 +
 +# Path to certificate authority (default: https://acme-v02.api.letsencrypt.org/directory)
 +# Tachtler
 +# default: #CA="https://acme-v02.api.letsencrypt.org/directory"
 +#CA="https://acme-v02.api.letsencrypt.org/directory"
 +# Tachtler - TESTING without LIMITATION - IMPORTANT !!!
 +CA="https://acme-staging-v02.api.letsencrypt.org/directory"
 +
 +# Path to old certificate authority
 +# Set this value to your old CA value when upgrading from ACMEv1 to ACMEv2 under a different endpoint.
 +# If dehydrated detects an account-key for the old CA it will automatically reuse that key
 +# instead of registering a new one.
 +# default: https://acme-v01.api.letsencrypt.org/directory
 +#OLDCA="https://acme-v01.api.letsencrypt.org/directory"
 +
 +# Which challenge should be used? Currently http-01, dns-01 and tls-alpn-01 are supported
 +# Tachtler
 +# default: #CHALLENGETYPE="http-01"
 +CHALLENGETYPE="dns-01"
 +
 +# Path to a directory containing additional config files, allowing to override
 +# the defaults found in the main configuration file. Additional config files
 +# in this directory needs to be named with a '.sh' ending.
 +# default: <unset>
 +#CONFIG_D=
 +
 +# Base directory for account key, generated certificates and list of domains (default: $SCRIPTDIR -- uses config directory if undefined)
 +# Tachtler
 +# default: #BASEDIR=$SCRIPTDIR
 +BASEDIR="${SCRIPTDIR}/work"
 +
 +# File containing the list of domains to request certificates for (default: $BASEDIR/domains.txt)
 +# Tachtler
 +# default: #DOMAINS_TXT="${BASEDIR}/domains.txt"
 +DOMAINS_TXT="${SCRIPTDIR}/etc/domains.txt"
 +
 +# Output directory for generated certificates
 +# Tachtler
 +# default: #CERTDIR="${BASEDIR}/certs"
 +CERTDIR="${SCRIPTDIR}/certs"
 +
 +# Output directory for alpn verification certificates
 +# Tachtler
 +# default: #ALPNCERTDIR="${BASEDIR}/alpn-certs"
 +ALPNCERTDIR="${SCRIPTDIR}/alpn-certs"
 +
 +# Directory for account keys and registration information
 +# Tachtler
 +# default: #ACCOUNTDIR="${BASEDIR}/accounts"
 +ACCOUNTDIR="${SCRIPTDIR}/accounts"
 +
 +# Output directory for challenge-tokens to be served by webserver or deployed in HOOK (default: /var/www/dehydrated)
 +# Tachtler
 +# default: #WELLKNOWN="/var/www/dehydrated"
 +WELLKNOWN="${SCRIPTDIR}/www"
 +
 +# Default keysize for private keys (default: 4096)
 +#KEYSIZE="4096"
 +
 +# Path to openssl config file (default: <unset> - tries to figure out system default)
 +#OPENSSL_CNF=
 +
 +# Path to OpenSSL binary (default: "openssl")
 +#OPENSSL="openssl"
 +
 +# Extra options passed to the curl binary (default: <unset>)
 +#CURL_OPTS=
 +
 +# Program or function called in certain situations
 +#
 +# After generating the challenge-response, or after failed challenge (in this case altname is empty)
 +# Given arguments: clean_challenge|deploy_challenge altname token-filename token-content
 +#
 +# After successfully signing certificate
 +# Given arguments: deploy_cert domain path/to/privkey.pem path/to/cert.pem path/to/fullchain.pem
 +#
 +# BASEDIR and WELLKNOWN variables are exported and can be used in an external program
 +# default: <unset>
 +# Tachtler
 +# default: #HOOK=
 +HOOK="${SCRIPTDIR}/hook/hook.sh"
 +
 +# Chain clean_challenge|deploy_challenge arguments together into one hook call per certificate (default: no)
 +#HOOK_CHAIN="no"
 +
 +# Minimum days before expiration to automatically renew certificate (default: 30)
 +# Tachtler
 +# default: #RENEW_DAYS="30"
 +RENEW_DAYS="90"
 +
 +# Regenerate private keys instead of just signing new certificates on renewal (default: yes)
 +# Tachtler
 +# See: https://legacy.thomas-leister.de/lets-encrypt-mit-hpkp-und-dane/
 +# default: #PRIVATE_KEY_RENEW="yes"
 +PRIVATE_KEY_RENEW="no"
 +
 +# Create an extra private key for rollover (default: no)
 +#PRIVATE_KEY_ROLLOVER="no"
 +
 +# Which public key algorithm should be used? Supported: rsa, prime256v1 and secp384r1
 +#KEY_ALGO=rsa
 +
 +# E-mail to use during the registration (default: <unset>)
 +# Tachtler
 +# default: #CONTACT_EMAIL=
 +CONTACT_EMAIL=hostmaster@tachtler.net
 +
 +# Lockfile location, to prevent concurrent access (default: $BASEDIR/lock)
 +#LOCKFILE="${BASEDIR}/lock"
 +
 +# Option to add CSR-flag indicating OCSP stapling to be mandatory (default: no)
 +#OCSP_MUST_STAPLE="no"
 +
 +# Fetch OCSP responses (default: no)
 +#OCSP_FETCH="no"
 +
 +# OCSP refresh interval (default: 5 days)
 +#OCSP_DAYS=5
 +
 +# Issuer chain cache directory (default: $BASEDIR/chains)
 +# Tachtler
 +# default: #CHAINCACHE="${BASEDIR}/chains"
 +CHAINCACHE="${SCRIPTDIR}/chains"
 +
 +# Automatic cleanup (default: no)
 +#AUTO_CLEANUP="no"
 +
 +# ACME API version (default: auto)
 +#API=auto
 +</code>
 +
 +**__Erklärungen__**:
 +
 +  * <code bash>IP_VERSION=4</code>
 +
 +Die Kommunikation mit den [[https://letsencrypt.org/|Let's Encrypt]]-Servern soll hier via IP Version 4 erfolgen.
 +
 +  * <code bash># Tachtler
 +# default: #CA="https://acme-v02.api.letsencrypt.org/directory"
 +#CA="https://acme-v02.api.letsencrypt.org/directory"
 +# Tachtler - TESTING without LIMITATION - IMPORTANT !!!
 +CA="https://acme-staging-v02.api.letsencrypt.org/directory"</code>
 +
 +Während der Einrichtung und **Test**-Phase, sollte **__nicht__ gegen die Produktiven Systeme** von [[https://letsencrypt.org/|Let's Encrypt]] getestet werden, da hier relativ rasch ein **Resourcen-Limit** von Anfragen in einer bestimmten Zeit greift. Erst wenn das Skript voll funktionsfähig und getestet ist und alle Konfigurationen entsprechend abgeschlossen sind, sollte hier dann das Produktive System von [[https://letsencrypt.org/|Let's Encrypt]] konfiguriert werden!
 +
 +  * <code bash>CHALLENGETYPE="dns-01"</code>
 +
 +Ändern des **Anforderungstyps** auf ''dns-01'', da nur damit **Wildcard**-Zertifikate angefordert werden können.
 +
 +  * <code bash>
 +# Base directory for account key, generated certificates and list of domains (default: $SCRIPTDIR -- uses config directory if undefined)
 +# Tachtler
 +# default: #BASEDIR=$SCRIPTDIR
 +BASEDIR="${SCRIPTDIR}/work"
 +
 +# File containing the list of domains to request certificates for (default: $BASEDIR/domains.txt)
 +# Tachtler
 +# default: #DOMAINS_TXT="${BASEDIR}/domains.txt"
 +DOMAINS_TXT="${SCRIPTDIR}/etc/domains.txt"
 +
 +# Output directory for generated certificates
 +# Tachtler
 +# default: #CERTDIR="${BASEDIR}/certs"
 +CERTDIR="${SCRIPTDIR}/certs"
 +
 +# Output directory for alpn verification certificates
 +# Tachtler
 +# default: #ALPNCERTDIR="${BASEDIR}/alpn-certs"
 +ALPNCERTDIR="${SCRIPTDIR}/alpn-certs"
 +
 +# Directory for account keys and registration information
 +# Tachtler
 +# default: #ACCOUNTDIR="${BASEDIR}/accounts"
 +ACCOUNTDIR="${SCRIPTDIR}/accounts"
 +
 +# Output directory for challenge-tokens to be served by webserver or deployed in HOOK (default: /var/www/dehydrated)
 +# Tachtler
 +# default: #WELLKNOWN="/var/www/dehydrated"
 +WELLKNOWN="${SCRIPTDIR}/www"
 +</code>
 +
 +Anpassung der einzelnen Pfade bzw. Verzeichnisse, in denen die verschiedenen Dateien dann permanent, oder temporär abgelegt werden sollen.
 +
 +:!: **HINWEIS** - Diese Konfiguration entspricht der zuvor angelegten Verzeichnisstruktur!
 +
 +  * <code bash>HOOK="${SCRIPTDIR}/hook/hook.sh"</code>
 +
 +Ausführung des Skriptes, welche die Änderungen für den **DNS**-Server ausgibt!
 +
 +:!: **HINWEIS** - Diese Konfiguration entspricht der zuvor angelegten Verzeichnisstruktur!
 +
 +  * <code bash>RENEW_DAYS="90"</code>
 +
 +Leufzeit bzw. Gültigkeit durch [[https://letsencrypt.org/|Let's Encrypt]] ausgestellten Zertifikate. 
 +
 +:!: **HINWEIS** - Hier können **maximal 90 Tage** eingestellt werden!
 +
 +  * <code bash>PRIVATE_KEY_RENEW="no"</code>
 +
 +**Deaktiviert** die Erstellung eines **__neuen__ privaten Schlüssels**, bei **__jeder__** Zertifikatserneuerung.
 +
 +:!: **HINWEIS** - Der private Schlüssel sollte trotzdem von Zeit zu Zeit z.B. **1 x Jahr** erneuert werden!
 +
 +  * <code bash>CONTACT_EMAIL=hostmaster@tachtler.net</code>
 +
 +E-Mail-Adresse welche als Kontakt dienen soll.
 +
 +  * <code bash>
 +# Issuer chain cache directory (default: $BASEDIR/chains)
 +# Tachtler
 +# default: #CHAINCACHE="${BASEDIR}/chains"
 +CHAINCACHE="${SCRIPTDIR}/chains"</code>
 +
 +Anpassung der einzelnen Pfade bzw. Verzeichnisse, in denen die verschiedenen Dateien dann permanent, oder temporär abgelegt werden sollen.
 +
 +==== /opt/dehydrated-master/etc/domains.txt ====
 +
 +Nachfolgende Konfigurationsdatei muss mit nachfolgendem Befehl, **neu** angelegt werden und enthält die bis zu **100 Subject Alternative Name (SAN)**, als **Liste** durch **Leerzeichen getrennt**:
 +<code>
 +# touch /opt/dehydrated-master/etc/domains.txt
 +</code>
 +
 +Nachfolgendes Beispiel, zeigt einen möglichen Inhalt der Konfigurationsdatei
 +  * ''/opt/dehydrated-master/etc/domains.txt''
 +<code>
 +tachtler.net *.tachtler.net www.dokuwiki.tachtler.net
 +</code>
 +
 +===== Konfiguration: Web-Server =====
 +
 +==== /etc/httpd/conf.d/ssl.conf ====
 +
 +Um das erstellte **Zertifikate** und den dazugehörigen **Schlüssel** auch in der Web-Server-Konfiguration einzubinden, sind nachfolgende Ergänzungen bzw. Änderungen and er Konfigurationsdatei erforderlich:
 +
 +**(Nur relevanter Ausschnitt)**:
 +
 +<code apache>
 +...
 +#   Server Certificate:
 +#   Point SSLCertificateFile at a PEM encoded certificate.  If
 +#   the certificate is encrypted, then you will be prompted for a
 +#   pass phrase.  Note that a kill -HUP will prompt again.  A new
 +#   certificate can be generated using the genkey(1) command.
 +# Tachtler
 +#default: # SSLCertificateFile /etc/pki/tls/certs/localhost.crt
 +SSLCertificateFile /opt/dehydrated-master/certs/tachtler.net/cert.pem
 +
 +#   Server Private Key:
 +#   If the key is not combined with the certificate, use this
 +#   directive to point at the key file.  Keep in mind that if
 +#   you've both a RSA and a DSA private key you can configure
 +#   both in parallel (to also allow the use of DSA ciphers, etc.)
 +# Tachtler
 +#default: # SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
 +SSLCertificateKeyFile /opt/dehydrated-master/certs/tachtler.net/privkey.pem
 +
 +#   Server Certificate Chain:
 +#   Point SSLCertificateChainFile at a file containing the
 +#   concatenation of PEM encoded CA certificates which form the
 +#   certificate chain for the server certificate. Alternatively
 +#   the referenced file can be the same as SSLCertificateFile
 +#   when the CA certificates are directly appended to the server
 +#   certificate for convinience.
 +# Tachtler
 +#default: #SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
 +SSLCertificateChainFile /opt/dehydrated-master/certs/tachtler.net/chain.pem
 +
 +#   Certificate Authority (CA):
 +#   Set the CA certificate verification path where to find CA
 +#   certificates for client authentication or alternatively one
 +#   huge file containing all of them (file must be PEM encoded)
 +# Tachtler
 +#default: #SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
 +SSLCACertificateFile /opt/dehydrated-master/certs/tachtler.net/fullchain.pem
 +...
 +</code>
 +
 +Abschließend ist ein Neustart des Web-Servers, hier [[http://www.apache.org|Apache HTTPD Server]] mit nachfolgendem Befehl erfordelrich:
 +<code>
 +# systemctl restart httpd.service
 +</code>
 +
 +===== Generierung: Test =====
 +
 +Durch nachfolgenden Befehl, wird die Erstellung eines
 +  * **privaten Schlüssels** 
 +  * **Zertifikast-Requests**
 +  * **Zertifikats**
 +und einer
 +  * **einfachen Zertifikatskette**
 +  * **vollständigen Zertifikatskette**
 +für die Verwendung mit einem Web-Server durchgeführt werden.
 +
 +:!: **WICHTIG** - Während der Einrichtung und **Test**-Phase, sollte **__nicht__ gegen die Produktiven Systeme** von [[https://letsencrypt.org/|Let's Encrypt]] getestet werden, da hier relativ rasch ein **Resourcen-Limit** von Anfragen in einer bestimmten Zeit greift. Erst wenn das Skript voll funktionsfähig und getestet ist und alle Konfigurationen entsprechend abgeschlossen sind, sollte hier dann das Produktive System von [[https://letsencrypt.org/|Let's Encrypt]] konfiguriert werden!
 +
 +Deshalb sollte in der Konfigurationsdatei
 +  * ''/opt/dehydrated-master/etc/config''
 +nachfolgende Einstellung **erst geändert werden, wenn die Test-Phase erfolgreich abgeschlossen ist!**
 +  * <code bash># Tachtler
 +# default: #CA="https://acme-v02.api.letsencrypt.org/directory"
 +#CA="https://acme-v02.api.letsencrypt.org/directory"
 +# Tachtler - TESTING without LIMITATION - IMPORTANT !!!
 +CA="https://acme-staging-v02.api.letsencrypt.org/directory"</code>
 +
 +<code>
 +# /opt/dehydrated-master/dehydrated -c --config /opt/dehydrated-master/etc/config
 +</code>
 +
 +Hier die Ausgaben, welche durch den Skript lauf erzeugt werden:
 +<code>
 +# /opt/dehydrated-master/dehydrated -c --config /opt/dehydrated-master/etc/config
 +# INFO: Using main config file /opt/dehydrated-master/etc/config
 +Processing tachtler.net with alternative names: *.tachtler.net www.dokuwiki.tachtler.net
 + + Checking domain name(s) of existing cert... changed!
 + + Domain name(s) are not matching!
 + + Names in old certificate: tachtler.net www.tachtler.net dokuwiki.tachtler.net
 + + Configured names: *.tachtler.net tachtler.net www.dokuwiki.tachtler.net
 + + Forcing renew.
 + + Checking expire date of existing cert...
 + + Valid till Oct  2 12:21:13 2018 GMT (Less than 90 days). Renewing!
 + + Signing domains...
 + + Generating signing request...
 + + Requesting new certificate order from CA...
 + + Received 3 authorizations URLs from the CA
 + + Handling authorization for tachtler.net
 + + Handling authorization for tachtler.net
 + + Handling authorization for www.dokuwiki.tachtler.net
 + + 3 pending challenge(s)
 + + Deploying challenge tokens...
 +
 +Add the following to the zone definition of tachtler.net:
 +_acme-challenge.tachtler.net. 60 IN TXT "qlJ_4P5MjybB21jpBpOgL3-VJdCCX4N53iKw43P-DTZ"
 +
 +Press enter to continue...
 +
 +
 +Add the following to the zone definition of tachtler.net:
 +_acme-challenge.tachtler.net. 60 IN TXT "g5L1vwzebrHBehTadd_2M_Y3Kg5eB43wc7dxb53q8CwI"
 +
 +Press enter to continue...
 +
 +
 +Add the following to the zone definition of www.dokuwiki.tachtler.net:
 +_acme-challenge.www.dokuwiki.tachtler.net. 60 IN TXT "zkE-SIfzeWpkQD9G_Uv9bnf6HwtGjo_jrTRuoNgs-tk2"
 +
 +Press enter to continue...
 +
 + + Responding to challenge for tachtler.net authorization...
 + + Challenge is valid!
 + + Responding to challenge for tachtler.net authorization...
 + + Challenge is valid!
 + + Responding to challenge for www.dokuwiki.tachtler.net authorization...
 + + Challenge is valid!
 + + Cleaning challenge tokens...
 +
 +Now you can remove the following from the zone definition of tachtler.net:
 +_acme-challenge.tachtler.net. 60 IN TXT "qlJ_4P5MjybB21jpBpOgL3-VJdCCX4N53iKw43P-DTZ"
 +
 +Press enter to continue...
 +
 +
 +Now you can remove the following from the zone definition of tachtler.net:
 +_acme-challenge.tachtler.net. 60 IN TXT "g5L1vwzebrHBehTadd_2M_Y3Kg5eB43wc7dxb53q8CwI"
 +
 +Press enter to continue...
 +
 +
 +Now you can remove the following from the zone definition of www.dokuwiki.tachtler.net:
 +_acme-challenge.www.dokuwiki.tachtler.net. 60 IN TXT "zkE-SIfzeWpkQD9G_Uv9bnf6HwtGjo_jrTRuoNgs-tk2"
 +
 +Press enter to continue...
 +
 + + Requesting certificate...
 + + Checking certificate...
 + + Done!
 + + Creating fullchain.pem...
 + + Done!
 +</code>
 +
 +^   :!: **WICHTIG** :!:   ^
 +| **__Immer__** wenn während der **Ausführung des Skripts** nachfolgender Text erscheint:\\ \\ <code>Add the following to the zone definition of ...</code>ist **__zeitnah__** der darunter **aufgelistete DNS-Eintrag** auf dem entsprechenden **DNS-Server**, in der **jeweiligen DNS-Zone(ndatei)** zu setzen !!! |
 +
 +Anschließend kann mit nachfolgendem Befehl überprüft werden, ob alle benötigten Komponenten, wie:
 +  * **privaten Schlüssels** 
 +  * **Zertifikast-Requests**
 +  * **Zertifikat**
 +  * **einfachen Zertifikatskette**
 +  * **vollständigen Zertifikatskette**
 +erzeugt worden sind:
 +<code>
 +# ls -l /opt/dehydrated-master/certs/*
 +/opt/dehydrated-master/certs/tachtler.net:
 +total 24
 +-rw------- 1 root root 1704 Aug 30 09:12 cert-1535613155.csr
 +-rw------- 1 root root 2508 Aug 30 09:12 cert-1535613155.pem
 +lrwxrwxrwx 1 root root   19 Aug 30 09:12 cert.csr -> cert-1535613155.csr
 +lrwxrwxrwx 1 root root   19 Aug 30 09:12 cert.pem -> cert-1535613155.pem
 +-rw------- 1 root root 1680 Aug 30 09:12 chain-1535613155.pem
 +lrwxrwxrwx 1 root root   20 Aug 30 09:12 chain.pem -> chain-1535613155.pem
 +-rw------- 1 root root 4188 Aug 30 09:12 fullchain-1535613155.pem
 +lrwxrwxrwx 1 root root   24 Aug 30 09:12 fullchain.pem -> fullchain-1535613155.pem
 +-rw------- 1 root root 3243 Aug 30 09:12 privkey-1535613155.pem
 +lrwxrwxrwx 1 root root   22 Aug 30 09:12 privkey.pem -> privkey-1535613155.pem
 +</code>
 +
 +:!: **HINWEIS** - Hier ist ebenfalls schön zu sehen, da jeweils **symbolische Links** erstellt wurden, was bei einer erneuten Generierung **__keine__** Konfiguration in den Web-Server Konfigurationsdateien nach sich zieht, da nur die symblischen Links angepasst werden!
 +
 +===== Generierung =====
 +
 +Wie auch bei der Generierung des Zertifikas gegen die [[https://letsencrypt.org/|Let's Encrypt]]-Server, ist Vorgehensweise exakt die gleiche.
 +
 +:!: **WICHTIG** - Während der Einrichtung und **Test**-Phase, sollte **__nicht__ gegen die Produktiven Systeme** von [[https://letsencrypt.org/|Let's Encrypt]] getestet werden, da hier relativ rasch ein **Resourcen-Limit** von Anfragen in einer bestimmten Zeit greift. Erst wenn das Skript voll funktionsfähig und getestet ist und alle Konfigurationen entsprechend abgeschlossen sind, sollte hier dann das Produktive System von [[https://letsencrypt.org/|Let's Encrypt]] konfiguriert werden!
 +
 +Deshalb sollte in der Konfigurationsdatei
 +  * ''/opt/dehydrated-master/etc/config''
 +nachfolgende Einstellung **jetzt geändert werden, wenn die Test-Phase erfolgreich abgeschlossen ist!**
 +  * <code bash># Tachtler
 +# default: #CA="https://acme-v02.api.letsencrypt.org/directory"
 +CA="https://acme-v02.api.letsencrypt.org/directory"
 +# Tachtler - TESTING without LIMITATION - IMPORTANT !!!
 +#CA="https://acme-staging-v02.api.letsencrypt.org/directory"</code>
 +
 +<code>
 +# /opt/dehydrated-master/dehydrated -c --config /opt/dehydrated-master/etc/config
 +</code>
 +
 +Nach dem ersten Versuch die Erstellung des Zertifikats durchzuführen, kommt nachfolgende **Meldung**:
 +<code>
 +# /opt/dehydrated-master/dehydrated -c --config /opt/dehydrated-master/etc/config
 +# INFO: Using main config file /opt/dehydrated-master/etc/config
 +
 +To use dehydrated with this certificate authority you have to agree to their terms of service which you can find here: https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf
 +
 +To accept these terms of service run `/opt/dehydrated-master/dehydrated --register --accept-terms`.
 +</code>
 +
 +Hier ist, wie angegeben die **Registrierung** und das Akzeptieren der **Bedingungen** von [[https://letsencrypt.org/|Let's Encrypt]] noch ausstehend, was beides mich nachfolgendem Befehl durchgeführt werden kann:
 +<code>
 +# /opt/dehydrated-master/dehydrated --register --accept-terms
 +</code>  
  
tachtler/let_s_encrypt_-_wildcard_zertifikat.1535612261.txt.gz · Zuletzt geändert: 2018/08/30 08:57 von klaus