Freebox Server (Ultra V9/ Pop V8/ Delta V7 / Revolution V6 / Mini 4K)

  • État Nouveau
  • Pourcentage achevé
    0%
  • Type Évolution
  • Catégorie Freebox OS
  • Assignée à Personne
  • Système d'exploitation Tous
  • Sévérité Basse
  • Priorité Très Basse
  • Basée sur la version A PRECISER
  • Due pour la version Non décidée
  • Échéance Non décidée
  • Votes 2
  • Privée

FS#36531 - une nouvelle gestion des certificats et noms de domaine Let's Encrypt

j'émets le souhait d'une nouvelle gestion de l'interface "Je veux ajouter un nom de domaine que j'ai déjà configuré"

Je vous mets un exemple de ce l'on retrouve sur Asustor pour configurer un domaine Let's Encrypt

voici la liste des Tickets déjà ouvert sur let's encrypt et qui vont dans le même sens.

FS#19569 - Permettre de demander un certificat Let's ecnrypt avec un DNS perso :
- https://dev.freebox.fr/bugs/task/19569

FS#19842 - API pour la gestion des certificats et des noms de domaine :
- https://dev.freebox.fr/bugs/task/19842

FS#22265 - Let's encrypt certificate renew :
- https://dev.freebox.fr/bugs/task/22265

FS#29209 - Mettre à jour les certificats TLS de nom de domaine perso :
- https://dev.freebox.fr/bugs/task/29209

nbanba a commenté le 07.01.2025 09:19

Bonjour

Vous pouvez le faire en automatique avec une VM (avec certbot) dans la freebox puis avec l'API (undocumented but working fine)

1) source bash library

$ source fbx-delta-nba_bash_api.sh

2) ajout domaine

 
$ domain_add

ERROR: <param> must be :
id			# id must be a domain name (use 'check_if_domain' to test)

NOTE: you can get a list of all configured domain and status (showing all 'id'), just run: 
domain_list

EXAMPLE:
domain_add id=my.domain.com 

3) ajout certificat

 
$ domain_addcert 

ERROR: <param> must be :
id			# id must be a domain name
key_type		# key_type is 'ed' or 'rsa'
cert_pem		# path to file containing your certificat in PEM format
key_pem			# path to file containing your certificat PRIVATE KEY in PEM format
intermediates		# path to file containing your root or intermediate CA certificat in PEM format

NOTE: you can get a list of all configured domain and status (showing all 'id'), just run: 
domain_list

NOTE: your certificate files (+ intermediate) files must contains: 
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
AND for key PEM files:
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----

EXAMPLE (PEM files are stored in current directory):
domain_addcert id="my.domain.com" key_type="ec" cert_pem="mycert.pem" key_pem="mykey.pem" intermediates="myintermediateCA.pem"  

EXAMPLE (PEM files are stored in CERT/ directory):
domain_addcert id="my.domain.com" key_type="ec" cert_pem="CERT/mycert.pem" key_pem="CERT/mykey.pem" intermediates="CERT/myintermediateCA.pem"  

4) définir nom de domaine par défaut

 
$ domain_setdefault 

ERROR: <param> must be :
id			# id must be a domain name (use 'check_if_domain' to test)

NOTE: you can get a list of all configured domain and status (showing all 'id'), just run: 
domain_list

EXAMPLE:
domain_setdefault id=my.domain.com 

4) supprimer un nom de domaine:

 
$ domain_del 

ERROR: <param> must be :
id			# id must be a domain name (use 'check_if_domain' to test)

NOTE: you can get a list of all configured domain and status (showing all 'id'), just run: 
domain_list

WARNING: Delete a domain name aslo delete it's associates TLS certficate ! 

EXAMPLE:
domain_del id=my.domain.com 

5) lister les noms de domaines

 
$ domain_list
			DOMAIN ID, TYPE, OWNER, CERTIFICAT DAYS LEFT 
--------------------------------------------------------------------------------------------------------------
DOMAIN-0:	owner: user	type: custom	rsa: none 	ecdsa: 1040	domain id : fbx.fbx.lan 
DOMAIN-1:	owner: user	type: custom	rsa: none 	ecdsa: 25	id default: fbx.xxxxxxxx.net 
DOMAIN-2:	owner: user	type: custom	rsa: none 	ecdsa: 25	domain id : 14rv-fbx.fbx.lan 
DOMAIN-3:	owner: freebox	type: auto	rsa: 39 	ecdsa: 39	domain id : fxxxxxxxx.fbxos.fr 

La mise en place d'un script automatique permettant de récupérer le certificat depuis certbot dans /etc/letsencrypt/live/yourdomain.tld puis d'injecter dans la freebox est plutôt très simple à mettre en place, surtout en utilisant les 'renewal-hook' de certbot : le renewal-hook de certbot est puissant et permet d'executer 1 script qui modifie le certificat sur la freebox (et même sur les firewalls)

Franchement je trouve ça plus propre qu'une interface web dans laquelle il faut aller récupérer à la main cert+key pour pouvoir utiliser le certificat ailleurs (particulièrement quand on à automatisé le challenge DNS de LetsEncrypt afin d'obtenir des wildcard)…
Cordialement
nbanba


Chargement...

Activer les raccourcis clavier

Liste des tâches

Détails de la tâche

Édition de la tâche