2.1 KiB
Généré des certificats via la PKI interne de mini_risotto
Génération des certificates sur le serveur
Création la variable contenant la chain :
<variables>
<variable name='service_ca_chain' description="CA certificate" hidden='True'/>
</variable>
Création d'une autorité avec le nom "AuthorityName" (le nom est un terme en CamelCase) :
<fill name="get_chain">
<param name="cn" type="information">server_name</param>
<param name="authority_cn" type="information">server_name</param>
<param name="authority_name">AuthorityName</param>
<target>service_chain</target>
</fill>
La création du fichier de CA est simple, il suffit d'utiliser la variable "service_ca_chain".
Puis il faut créer le certificat avec un template qui contient :
%%get_certificate(%%domain_name_eth0, authority_name="AuthorityName")
Si l'autorité n'est pas gérer par le serveur courant, il faut précicer le nom du serveur responsable de l'autorité :
%%get_certificate(%%domain_name_eth0, authority_cn=%%server, authority_name="AuthorityName")
Enfin, le certificat peut avoir plusieurs nom de domaine, dans ce cas on peut le gérer par exemple en faisant :
%set %%extra_domainnames = []
%for %%idx in %%range(1, %%number_of_interfaces)
%%extra_domainnames.append(%%getVar('domain_name_eth' + %%str(%%idx)))
%end for
%%get_certificate(%%domain_name_eth0, 'LDAP', extra_domainnames=%%extra_domainnames)
Enfin on peut récupérer la clef privée (attention APRÉS avoir récupérer le certificat) :
%get_private_key(%%domain_name_eth0, %%server)
Comme le certificat, l'autorité peut ne pas être de la responsabilité du serveur courant :
%get_private_key(%%domain_name_eth0, authority_cn=%%server, authority_name="ReverseProxy")
PKI sous Fedora
Création des fichiers pour l'autorité "AuthorityName" pour le service "service" :
<file>/etc/pki/ca-trust/source/anchors/ca_AuthorityName.crt</file>
<file>/etc/pki/tls/certs/service.crt</file>
<file owner="root" group="root" mode="400">/etc/pki/tls/private/service.key</file>