Aller au contenu

[TUTO OBSOLÈTE] Certificat TLS/SSL - Let's Encrypt "Wildcard"


unPixel

Messages recommandés

Bonjour Jean 😄,

 

Une nouvelle version du script, qui répondra en partie à ton besoin (j’espère).

 

Plus besoin de renseigner le CERTIR.

On ne redémarre que les paquets concernés par ce certificat :

 

Le script :

 

#!/bin/sh
# *******************************************
# Renouvellement périodique du certificat
# *******************************************

# *******************************************
# ligne à personnaliser
NDD="domaine_a_renouveler.tld"
# *******************************************

CERTRENEWDIR="/usr/local/share/acme.sh/$NDD"
CERTROOTDIR="/usr/syno/etc/certificate"
PACKAGECERTROOTDIR="/usr/local/etc/certificate"
CRONTAB="/etc/crontab"
NEWCRONTAB="/etc/crontabnew"
OLDCRONTAB="/etc/crontab.old"
# *******************************************
# recherche du certificat par défaut
read CERTDIR < "$CERTROOTDIR/_archive/DEFAULT"
FULLCERTDIR="$CERTROOTDIR/_archive/$CERTDIR"

# *******************************************
# Renouvellement du certificat via acme.sh
#/usr/local/share/acme.sh/acme.sh --cron --home /usr/local/share/acme.sh/ --force

# *******************************************
# Replanification cron pour prochain renouvellement dans 89 jours

if [ -f $NEWCRONTAB ]; then
rm $NEWCRONTAB
fi

oldIFS=$IFS # sauvegarde du séparateur de champ
IFS=$'\n' # nouveau séparateur de champ, le caractère fin de ligne
flagMaj=1
while read -r ligne; do
if echo $ligne | grep $0 >/dev/null 2>&1; then
#si ligne concernant la mise à jour certificat la replanifier
>echo date -d "89 days" "+%M%t%H%t%d%t%m%t*%troot%tsh $0" >> "$NEWCRONTAB"
flagMaj=0
else
# sinon recopie de la ligne à l'identique
echo "$ligne" >> "$NEWCRONTAB"
fi
done < $CRONTAB
if [ "$flagMaj"=1 ]; then
# si ligne concernant la mise à jour certificat non trouvée on la crée
>echo date -d "89 days" "+%M%t%H%t%d%t%m%t*%troot%tsh $0" >> "$NEWCRONTAB"
fi
IFS=$oldIFS # restauration du séparateur de champ
if [ -f "$OLDCRONTAB" ]; then
rm "$OLDCRONTAB"
fi
mv "$CRONTAB" "$OLDCRONTAB"
mv "$NEWCRONTAB" "$CRONTAB"
chmod 644 "$CRONTAB"

# *******************************************
#reload
/usr/syno/sbin/synoservicectl --restart crond > /dev/null

# *******************************************
# Importation des nouveaux certificats
cp $CERTRENEWDIR/$NDD.cer $FULLCERTDIR/cert.pem
chmod 400 $FULLCERTDIR/cert.pem
cp $CERTRENEWDIR/ca.cer $FULLCERTDIR/chain.pem
chmod 400 $FULLCERTDIR/chain.pem
cp $CERTRENEWDIR/fullchain.cer $FULLCERTDIR/fullchain.pem
chmod 400 $FULLCERTDIR/fullchain.pem

# *******************************************
# *******************************************
# mise en place des fichiers de certificat
# *******************************************
datePK=echo stat -c %Y "$FULLCERTDIR/privkey.pem"

# *******************************************
# Recherche tous les sous-dossiers contenant cert.pem files
PEMFILES=$(find $CERTROOTDIR -name privkey.pem)
if [ ! -z "$PEMFILES" ]; then
for DIR in $PEMFILES; do
# remplace tous les certificats, sauf ceux dans le répertoire _archive
if [[ $DIR != *"/_archive/"* ]]; then
datePkDir=echo stat -c %Y "$DIR"
# remplace les certificats, si la date de clé privée est identique
if [ $datePkDir = $datePK ]; then
rsync -avh "$FULLCERTDIR/" "$(dirname $DIR)/"
fi
fi
done
fi

# *******************************************
# reload
/usr/syno/sbin/synoservicectl --reload nginx

# *******************************************
# Maj et redémarrage des paquets installés
PEMFILES=$(find $PACKAGECERTROOTDIR -name privkey.pem)
if [ ! -z "$PEMFILES" ]; then
for DIR in $PEMFILES; do
datePkDir=echo stat -c %Y "$DIR"
# remplace les certificats, si la date de clé privée est identique
if [ $datePkDir = $datePK ]; then
rsync -avh "$FULLCERTDIR/" "$(dirname $DIR)/"
# Redemarrage des paquets correspondants
/usr/syno/bin/synopkg restart $(echo $DIR | awk -F/ '{print $6}')
fi
done
fi
# *******************************************
 

Je n’ai pas ton expérience dans les explications à fournir, donc je ne suis pas suffisamment précis.

 

Comment l’utiliser ce script :

 

On le met dans un fichier dans un emplacement préservé lors des maj DSM. ( pas de copie dans une tâche!)

image.png.2489b3d9ccd22853740a36487840f4cc.png

On personnalise le NDD="domaine_a_renouveler »" par le nom de domaine à renouveler uniquement (pas de *.NDD.tld).

 

Dans panneau de configuration/Sécurité/certificat on définit ce certificat comme étant celui par défaut. ( Important car c’est là que le script va chercher le certificat à traiter)

image.png.5d119f07b8676d825fcb9295b0624581.png

On lance ce script

soit par SSH

Commande du style : sh /volume1/script/yann/yanncertif.sh >> /volume1/script/yann/yann00.log 2>&1

 

soit par le planificateur de tâche

image.png.6cbcc59b4eccb47d610a72187f5bba77.png

On clique droit sur cette nouvelle tâche et on fait exécuter,

image.png.1817f0e516ab790e319eacd03c8e0e05.png

On peut alors consulter le fichier de log pour vérifier que le renouvellement s’est fait correctement.

 

La tâche peut alors être supprimée (ou simplement désactivée afin de pouvoir relancer un nouveau renouvellement si besoin était)

 

En espérant ne rien avoir oublié et que cela fonctionne également chez toi.

 

 

 

PS ; un petit piège

Si l’on change le nom ou l’emplacement du script il faudra relancer la tâche dans planificateur ou par SSH,

ET

éditer /etc/crontab (par SSH ou winscp) et supprimer la ligne comportant l’ancien nom ou l’ancien emplacement du script. (sinon elle appellerait annuellement un script inexistant)

Donc de préférence bien choisir ce nom et cet emplacement dès le début.

 

Bonne soirée.

Lien vers le commentaire
Partager sur d’autres sites

Hello PPJP,

Désolé pour la réponse tardive. Merci de t'être "encore" penché sur le sujet.

Voici le retour du fichier log 😉

 

/volume1/Yann/certificat.sh: line 5: $'\r': command not found
/volume1/Yann/certificat.sh: line 10: $'\r': command not found
/volume1/Yann/certificat.sh: line 19: /usr/syno/etc/certificate
/_archive/DEFAULT
: No such file or directory
/volume1/Yann/certificat.sh: line 21: $'\r': command not found
/volume1/Yann/certificat.sh: line 25: $'\r': command not found
/volume1/Yann/certificat.sh: line 28: $'\r': command not found
/volume1/Yann/certificat.sh: line 45: syntax error near unexpected token `done'
/volume1/Yann/certificat.sh: line 45: `done < $CRONTAB

Je vais tenter autre chose dans le week-end et je viendrais donner le résultat si positif.

Lien vers le commentaire
Partager sur d’autres sites

Merci Fenrir pour ton retour. Je l'avais fait mais je n'ai pas donné suite car après, le script a fonctionné mais m'a planté ma config NAS.

Bref, je suis revenu sur une sauvegarde de config d'une heure avant pour tout remettre d’aplomb.

 

Le soucis aujourd'hui, c'est que la création du certificat se fait sans soucis avec acme. C'est plutôt l'endroit de création qui n'est pas prit en compte dans mes lignes de codes et en plus, le certificat final chez Synology n'a pas les même extensions que les fichiers originaux. Bref, encore un peu de boulot mais le plus gros est fait.

 

Modifié par InfoYANN
Lien vers le commentaire
Partager sur d’autres sites

Bonsoir Yann,

J’ai bien noté que tu ne souhaites pas donner suite

Je n’insiste donc pas.

Cependant j’aurais apprécié d’avoir quelques infos sur " m'a planté ma config NAS"

 

Car j’aurais aimé essayer de comprendre pourquoi un script qui tourne sans pb chez moi, a de tels effets chez toi.

 

Je l’ai lancé à de multiples reprises avant de te le transmettre.

Pour test, je l’ai mis en œuvre chez moi ( provisoirement à la place de mon script python) et tout se passe normalement. (script corrigé pour renouvellement tous les 3 jours).

Pourquoi en est il autrement chez toi ?

 

Je le modifie régulièrement afin de le rendre plus présentable (et supprimer le paramétrage du domaine).

Cela m’auras donc permis de me mettre un petit peu au shell.

 

Bonne soirée

Lien vers le commentaire
Partager sur d’autres sites

Hello PPJP,

Je ne peux pas te dire ce qui a planté car ça planté toute la partie configuration réseau et impossible de la remettre manuellement.

Certains services comme mon serveur mail n'avait plus la connexion alors que d'autres oui. Mon reverse proxy fonctionnait mais pas mon domaine principal. Etc...

Quant au log, et bien il n'a rien dit malheureusement.

 

Par contre, je ne suis pas certain que ça vienne de toi, ça peut aussi provenir de moi car j'ai modifié deux ou trois lignes manuellement avant de le lancer pour l'adapter à ma config.

Bref, tu sais quoi, je vais retenter une nouvelle fois de le lancer et je te tiens au courant de ce qui se passe 😉

Lien vers le commentaire
Partager sur d’autres sites

Merci de cette réponse.

Je ne demande pas de poursuivre ces essais.

Cependant si tu veux retenter, je te joins une nouvelle version.

Plus propre et rien à paramétrer.

Il faut juste ton certificat déclaré en certificat par défaut.

majcertif.sh

Modifié par PPJP
Lien vers le commentaire
Partager sur d’autres sites

Erreur de ma part:

Le fichier transmis est le script qui tourne pour test chez moi.

Il exécute un renouvellement tous les jours (je ne suis pas patient)

Il faudra corriger la ligne 19:

Remplacer $(date -d "1 days" ... par $(date -d "90 days" ...

Désolé

 

Lien vers le commentaire
Partager sur d’autres sites

Je te remercie, je fais donc suite en ayant testé ton script. Je suis joueur... 😁

Il y a donc une erreur qui ne renouvelle pas le certificat.

Demarrage du  script
[Tue Jul 17 00:13:48 CEST 2018] ===Starting cron===
[Tue Jul 17 00:13:48 CEST 2018] Renew: 'ndd.tld'
[Tue Jul 17 00:13:50 CEST 2018] Multi domain='DNS:ndd.tld,DNS:*.ndd.tld'
[Tue Jul 17 00:13:50 CEST 2018] Getting domain auth token for each domain
[Tue Jul 17 00:13:53 CEST 2018] Getting webroot for domain='ndd.tld'
[Tue Jul 17 00:13:53 CEST 2018] Getting webroot for domain='*.ndd.tld'
[Tue Jul 17 00:13:53 CEST 2018] ndd.tld is already verified, skip dns-01.
[Tue Jul 17 00:13:53 CEST 2018] *.ndd.tld is already verified, skip dns-01.
[Tue Jul 17 00:13:53 CEST 2018] Verify finished, start to sign.
[Tue Jul 17 00:13:54 CEST 2018] Sign failed, code is not 200.
[Tue Jul 17 00:13:54 CEST 2018] {"type":"urn:ietf:params:acme:error:rateLimited","detail":"Error finalizing order :: too many certificates already issued for exact set of domains: *.ndd.tld,ndd.tld: see https://letsencrypt.org/docs/rate-limits/","status": 429}
[Tue Jul 17 00:13:54 CEST 2018] Please check log file for more details: /usr/local/share/acme.sh/acme.sh.log
[Tue Jul 17 00:13:54 CEST 2018] Error renew ndd.tld.
[Tue Jul 17 00:13:54 CEST 2018] ===End cron===
Echec du renouvellement
sending incremental file list
./
cert.pem
chain.pem
fullchain.pem

sent 8.54K bytes  received 72 bytes  17.21K bytes/sec
total size is 11.54K  speedup is 1.34
sending incremental file list
./
cert.pem
chain.pem
fullchain.pem

sent 8.54K bytes  received 75 bytes  17.23K bytes/sec
total size is 11.54K  speedup is 1.34
package CardDAVServer restart successfully
Durée d'éxécution (en secondes) : 40
Fin du script

 

Lien vers le commentaire
Partager sur d’autres sites

Tu es joueur, j'espère que tu prends les précautions nécessaires!

 

Erreur de renouvellement car dépassement du nombre de renouvellement autorisé.

Je pense que c’est 20 par semaine.

 

Également une erreur dans mon script (d’essai),

La ligne 34 est désactivée : supprimer le # devant exit 1.

 

Cela doit avoir eu comme conséquence de paramétrer un prochain lancement du script dans la crontab (ligne à supprimer).

 

Le script est dans cet état car je ne sais pas quand paramétrer le lancement suivant en cas d’échec du renouvellement.

Si pas de nouveau paramétrage : lancement un an après !

Si paramétrage le lendemain : les 90 jours seront dépassés

Quelques heures ou minutes plus tard : risque de dépassement du nombre de renouvellement autorisé.

 

Le exit1 désactivé il laisse le lancement à 90 jours : pas satisfaisant

Quand j'aurai trouvé une solution satisfaisante la replanification prendra place avant ce exit 1

 

Ps: je suis surpris du peu de reverse proxy et de paquets concernés (modif pour test?)

Bonne soirée

Lien vers le commentaire
Partager sur d’autres sites

Je t’embête une dernière fois.

Ton dernier essai a t-il planté ta configuration ?

 

Pourquoi cette question ? Car il faut savoir profiter de ses erreurs.

 

La ligne exit1 ayant été désactivée la mise à jour des certificats (à l’identique) s’est faite (dont reverse proxy et paquets)

Si plantage, l’anomalie est donc dans la copie de ces fichiers

Sinon c’est qu’il y a d’autres fichiers à mettre à jour et/ou services à redémarrer.

 

J’ai commencé à chercher pour cette dernière voie, mais je crains que ce ne soit pas de mon niveau !

 

Bonne soirée (ou nuit?)

Lien vers le commentaire
Partager sur d’autres sites

J'essaye de suivre avec grand interêt vos evolutions, mais 1) je ne suis pas expert, 2) j'ai toujours des problèmes avec mes renouvellements manuels, 3) je ne peux pas me permettre de planter...

mais j'ai quand même des questions :

1) pourquoi le faire dans le crontab, et pas simplement planifié par le planificateur des taches.

2) quand on renouvelle le certif, ne faut-il pas également mettre à jour les champs txt chez ovh ?

3) le certif doit-il obligatoirement être celui par défaut ?

Merci à tous les deux pour votre super travail, ce sera utile au moins pour trois personnes...

Lien vers le commentaire
Partager sur d’autres sites

@PPJP :

Citation

Tu es joueur, j'espère que tu prends les précautions nécessaires!

Oui, j'ai des sauvegardes de la configuration du système toutes les heures en faisant un backup (trois en réalité) de mon serveur mail.

Citation

Erreur de renouvellement car dépassement du nombre de renouvellement autorisé.

Je pense que c’est 20 par semaine.

Bizarre car je me souviens pas en avoir créer 20...

Citation

Également une erreur dans mon script (d’essai),

La ligne 34 est désactivée : supprimer le # devant exit 1.

Changé également, merci.

Citation

Cela doit avoir eu comme conséquence de paramétrer un prochain lancement du script dans la crontab (ligne à supprimer).

J'ai regardé dans le CRON et en effet, après avoir testé deux fois ton script, ça m'avait créé deux lignes que j'ai supprimé.

 

Citation

Ps: je suis surpris du peu de reverse proxy et de paquets concernés (modif pour test?)

En effet, il y a un soucis sur ce point car ça ne redémarre pas TOUS les services. Mais pour le moment, c'est pas plus mal car ça me permet de faire les tests sans attendre dix plombes que tout se relance surtout quand au final, le certificat n'a pas été renouvelé 😉

Citation

Ton dernier essai a t-il planté ta configuration ?

Absolument pas. Aucun changement visible et comme tu l'as vu, le certificat ne s'est pas renouvelé.

@Jojo (BE) :

Pour le moment, ne joue pas à ce qu'on fait, tiens toi en à SSLF FOR FREE ou ce que j'ai trouvé avant en allant récupérer manuellement le certificat via WinSCP et en le réimportant manuellement dans la config du Syno. De toute façon, tu es tranquille pendant trois mois...

Lien vers le commentaire
Partager sur d’autres sites

Pour vos tests, acme.sh accepte l'option --staging ...

Pour le script, je l'ai regardé vite fait, je vous recommande plutôt de tout enregistrer (acme.sh, script et certificats) dans un partage (/volumeX/scripts par exemple), ça évitera les surprises en cas de mise à jour de DSM. De même plutôt que de faire des cp, faites des redirections d'output ("cat truc > chose" par exemple), ça permet de conserver les droits des fichiers (donc plus besoin de chmod) et enfin, il faudrait y ajouter des contrôles d'erreur (if [ "$?" != 0 ]; then ...).

Vous pouvez aussi vous inspirer de ça : https://github.com/fenrir-github/acme-haproxy/blob/master/Dockerfile (en passant, ce docker fonctionne sur un syno, c'est fait pour)

 

Lien vers le commentaire
Partager sur d’autres sites

https://letsencrypt.org/docs/staging-environment/

 

https://github.com/Neilpang/acme.sh/blob/master/acme.sh

Commands:

--help, -h Show this help message.
--version, -v Show version info.
--install Install $PROJECT_NAME to your system.
--uninstall Uninstall $PROJECT_NAME, and uninstall the cron job.
--upgrade Upgrade $PROJECT_NAME to the latest code from $PROJECT.
--issue Issue a cert.
--signcsr Issue a cert from an existing csr.
--deploy Deploy the cert to your server.
--install-cert Install the issued cert to apache/nginx or any other server.
--renew, -r Renew a cert.
--renew-all Renew all the certs.
--revoke Revoke a cert.
--remove Remove the cert from list of certs known to $PROJECT_NAME.
--list List all the certs.
--showcsr Show the content of a csr.
--install-cronjob Install the cron job to renew certs, you don't need to call this. The 'install' command can automatically install the cron job.
--uninstall-cronjob Uninstall the cron job. The 'uninstall' command can do this automatically.
--cron Run cron job to renew all the certs.
--toPkcs Export the certificate and key to a pfx file.
--toPkcs8 Convert to pkcs8 format.
--update-account Update account info.
--register-account Register account key.
--deactivate-account Deactivate the account.
--create-account-key Create an account private key, professional use.
--create-domain-key Create an domain private key, professional use.
--createCSR, -ccsr Create CSR , professional use.
--deactivate Deactivate the domain authz, professional use.
 
Parameters:
--domain, -d domain.tld Specifies a domain, used to issue, renew or revoke etc.
--challenge-alias domain.tld The challenge domain alias for DNS alias mode: $_DNS_ALIAS_WIKI
--domain-alias domain.tld The domain alias for DNS alias mode: $_DNS_ALIAS_WIKI
--force, -f Used to force to install or force to renew a cert immediately.
--staging, --test Use staging server, just for test.
--debug Output debug info.
--output-insecure Output all the sensitive messages. By default all the credentials/sensitive messages are hidden from the output/debug/log for secure.
--webroot, -w /path/to/webroot Specifies the web root folder for web root mode.
--standalone Use standalone mode.
--stateless Use stateless mode, see: $_STATELESS_WIKI
--apache Use apache mode.
--dns [dns_cf|dns_dp|dns_cx|/path/to/api/file] Use dns mode or dns api.
--dnssleep [$DEFAULT_DNS_SLEEP] The time in seconds to wait for all the txt records to take effect in dns api mode. Default $DEFAULT_DNS_SLEEP seconds.
 
--keylength, -k [2048] Specifies the domain key length: 2048, 3072, 4096, 8192 or ec-256, ec-384.
--accountkeylength, -ak [2048] Specifies the account key length.
--log [/path/to/logfile] Specifies the log file. The default is: \"$DEFAULT_LOG_FILE\" if you don't give a file path here.
--log-level 1|2 Specifies the log level, default is 1.
--syslog [0|3|6|7] Syslog level, 0: disable syslog, 3: error, 6: info, 7: debug.
 
These parameters are to install the cert to nginx/apache or anyother server after issue/renew a cert:
 
--cert-file After issue/renew, the cert will be copied to this path.
--key-file After issue/renew, the key will be copied to this path.
--ca-file After issue/renew, the intermediate cert will be copied to this path.
--fullchain-file After issue/renew, the fullchain cert will be copied to this path.
 
--reloadcmd \"service nginx reload\" After issue/renew, it's used to reload the server.
 
--server SERVER ACME Directory Resource URI. (default: https://acme-v01.api.letsencrypt.org/directory)
--accountconf Specifies a customized account config file.
--home Specifies the home dir for $PROJECT_NAME .
--cert-home Specifies the home dir to save all the certs, only valid for '--install' command.
--config-home Specifies the home dir to save all the configurations.
--useragent Specifies the user agent string. it will be saved for future use too.
--accountemail Specifies the account email, only valid for the '--install' and '--update-account' command.
--accountkey Specifies the account key path, only valid for the '--install' command.
--days Specifies the days to renew the cert when using '--issue' command. The max value is $MAX_RENEW days.
--httpport Specifies the standalone listening port. Only valid if the server is behind a reverse proxy or load balancer.
--local-address Specifies the standalone/tls server listening address, in case you have multiple ip addresses.
--listraw Only used for '--list' command, list the certs in raw format.
--stopRenewOnError, -se Only valid for '--renew-all' command. Stop if one cert has error in renewal.
--insecure Do not check the server certificate, in some devices, the api server's certificate may not be trusted.
--ca-bundle Specifies the path to the CA certificate bundle to verify api server's certificate.
--ca-path Specifies directory containing CA certificates in PEM format, used by wget or curl.
--nocron Only valid for '--install' command, which means: do not install the default cron job. In this case, the certs will not be renewed automatically.
--no-color Do not output color text.
--force-color Force output of color text. Useful for non-interactive use with the aha tool for HTML E-Mails.
--ecc Specifies to use the ECC cert. Valid for '--install-cert', '--renew', '--revoke', '--toPkcs' and '--createCSR'
--csr Specifies the input csr.
--pre-hook Command to be run before obtaining any certificates.
--post-hook Command to be run after attempting to obtain/renew certificates. No matter the obtain/renew is success or failed.
--renew-hook Command to be run once for each successfully renewed certificate.
--deploy-hook The hook file to deploy cert
--ocsp-must-staple, --ocsp Generate ocsp must Staple extension.
--always-force-new-domain-key Generate new domain key when renewal. Otherwise, the domain key is not changed by default.
--auto-upgrade [0|1] Valid for '--upgrade' command, indicating whether to upgrade automatically in future.
--listen-v4 Force standalone/tls server to listen at ipv4.
--listen-v6 Force standalone/tls server to listen at ipv6.
--openssl-bin Specifies a custom openssl bin location.
--use-wget Force to use wget, if you have both curl and wget installed.
--yes-I-know-dns-manual-mode-enough-go-ahead-please Force to use dns manual mode: $_DNS_MANUAL_WIKI

--branch, -b Only valid for '--upgrade' command, specifies the branch name to upgrade to.

Modifié par Fenrir
Lien vers le commentaire
Partager sur d’autres sites

@PPJP :

J'ai testé à nouveau ton dernier script et il parait fonctionnel. Bizarrement, Firefox ne veut pas me le prendre en compte sur deux ordinateurs avec deux OS différents et même en ayant supprimé l'historique complet des navigateurs (visites, cache, etc...).

Sur Opera, pas de soucis, sur divers sites qui vérifient l'existence et la fiabilité des certificats SSL, pas de soucis non plus.

Je me demande par contre si il redémarre correctement tous les paquets car j'ai constaté que le renouvellement du certificat c'était fait en moins de 30 secondes y compris le soit disant redémarrage 🙄

Je te montre le log :

Demarrage du  script
[Fri Jul 20 22:39:13 CEST 2018] ===Starting cron===
[Fri Jul 20 22:39:13 CEST 2018] Renew: 'ndd.tld'
[Fri Jul 20 22:39:14 CEST 2018] Multi domain='DNS:ndd.tld,DNS:*.ndd.tld'
[Fri Jul 20 22:39:14 CEST 2018] Getting domain auth token for each domain
[Fri Jul 20 22:39:16 CEST 2018] Getting webroot for domain='ndd.tld'
[Fri Jul 20 22:39:16 CEST 2018] Getting webroot for domain='*.ndd.tld'
[Fri Jul 20 22:39:17 CEST 2018] ndd.tld is already verified, skip dns-01.
[Fri Jul 20 22:39:17 CEST 2018] *.ndd.tld is already verified, skip dns-01.
[Fri Jul 20 22:39:17 CEST 2018] Verify finished, start to sign.
[Fri Jul 20 22:39:19 CEST 2018] Cert success.
-----BEGIN CERTIFICATE-----
MIIHCDCCBfCgAwIBAgISA11kPluPaH/paz4Y/97GCRf8MA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODA3MjAxOTM5MThaFw0x
ODEwMTgxOTM5MThaMBQxEjAQBgNVBAMTCW5ldHlzbC5mcjCCAiIwDQYJKoZIhvcN
AQEBBQADggIPADCCAgoCggIBANQlXPKnt4dGUgzezdGv2RGY8UJBqrTsj206aOZ8
ltWg+Eg8YhFKzmwnSVilOcGacKPIFmXzKpGWR2ePqEsy/8gSeLTSDq6mPlzasVvj
JMmKAQAYqKKoshbaYwkNRjhIFpZDaPOM2DMwzNzUhJ5+fJFPOPiZF5hfYIvgRRp/
F6x03j5c4DntD6TCA0MUiMXV87mUafJlSgehVFWKkcozAWTmqgBPYX3IBzf83vL5
OY9EjhH+WOhR5c2wuZnKCCW5ldHlzbC5m
cjCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB5gYLKwYBBAGC3xMBAQEwgdYwJgYI
KwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2VuY3J5cHQub3JnMIGrBggrBgEFBQcC
AjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5IG9ubHkgYmUgcmVsaWVkIHVwb24g
YnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5IGluIGFjY29yZGFuY2Ugd2l0aCB0
aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5kIGF0IGh0dHBzOi8vbGV0c2VuY3J5
cHQub3JnL3JlcG9zaXRvcnkvMIIBAgYKKwYBBAHWeQIEAgSB8wSB8ADuAHUAVYHU
whaQNgFK6gubVzxT8MDkOHhwJQgXL6OqHQcT0wwAAAFkuWsOZAAABAMARjBEAiBZ
s20oQC7CypmE6WaWZn8lzrOn1PbiFz5S+zeKVlKTWAIgU0sltBQVFjL+/hgyw02n
SxPCxa2F0L+1PKjBAD+Q2x8AdQApPFGWVMg5ZbqqUPxYB9S3b79Yeily3KTDDPTl
RUf0eAAAAWS5axBEAAAEAwBGMEQCIB0ROruZGGuVguf+bwUzKYGNFKMFQ1PCrHww
fZjb6YyMAiBvlsekbZDoJgFIqQiggHedTqpbimiCt7zV8xiNrrwPMDANBgkqhkiG
9w0BAQsFAAOCAQEAQwa1yRGtkbcDXKVgYS/owLDAHk7o01kUV2OxqAj1xGGnCCfu
eev3G00jzgjhsZBVxs5GCO5lSpGvH1Mskw2UmRSERv6QV3tQ7dYuN+ZeLtRzA/CJ
kiuzbVnTQbIdzR/gZWgo54nMAcxJZ8UHgQj8RSqhEIOZiooKT0biqN6JqaORTG3F
elcLt8LTzIV15vHqCH/8ehtHwdC7ztBXzEEH0V+gUpsJG81IVAPJng6yNYz1nZfF
cGwIGQi4322BYSFjo/mMaDTM/snkj1eOD8RfdHGJbt+WwXlOxXgCExQ+/3xoSjuz
LV24d0wcbUjZ5zG0ZGg/n7wwIia/gmqDTONZqw==
-----END CERTIFICATE-----
[Fri Jul 20 22:39:19 CEST 2018] Your cert is in  /usr/local/share/acme.sh//ndd.tld/ndd.tld.cer 
[Fri Jul 20 22:39:19 CEST 2018] Your cert key is in  /usr/local/share/acme.sh//ndd.tld/ndd.tld.key 
[Fri Jul 20 22:39:19 CEST 2018] The intermediate CA cert is in  /usr/local/share/acme.sh//ndd.tld/ca.cer 
[Fri Jul 20 22:39:19 CEST 2018] And the full chain certs is there:  /usr/local/share/acme.sh//ndd.tld/fullchain.cer 
[Fri Jul 20 22:39:20 CEST 2018] Installing cert to:/usr/syno/etc/certificate/system/default/cert.pem
[Fri Jul 20 22:39:20 CEST 2018] Installing key to:/usr/syno/etc/certificate/system/default/privkey.pem
[Fri Jul 20 22:39:20 CEST 2018] Installing full chain to:/usr/syno/etc/certificate/system/default/fullchain.pem
[Fri Jul 20 22:39:20 CEST 2018] Run reload cmd: /usr/syno/sbin/synoservicectl --reload nginx
nginx reloaded.
[Fri Jul 20 22:39:20 CEST 2018] Reload success
[Fri Jul 20 22:39:20 CEST 2018] ===End cron===
sending incremental file list
./
cert.pem
chain.pem
fullchain.pem

sent 8.53K bytes  received 72 bytes  17.21K bytes/sec
total size is 11.54K  speedup is 1.34
sending incremental file list
./
cert.pem
chain.pem
fullchain.pem

sent 8.53K bytes  received 75 bytes  17.22K bytes/sec
total size is 11.54K  speedup is 1.34
package CardDAVServer restart successfully
Durée d'éxécution (en secondes) : 58
Fin du script

 

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.