====== EJBCA - Création de certificats TLS pour l'authentification cliente ====== --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2024/03/27 08:51// Pour réaliser cette procédure, il est obligatoire d'avoir déjà paramétrer les autorités de certification ([[ejbca_createca|Lien]]) et les profils de certificats TLS ([[ejbca_tls|Lien]]). L'émission de certificat client pour une authentification TLS est utile pour la validation d'accès d'un client à un site (authentification logicielle) ou à un serveur (authentification mTLS (//**m**utual **T**ransport **L**ayer **S**ecurity//). La procédure suivante permet de configurer notre PKI pour la création de ces certificats. ===== Création du profil de certificat ===== * On commence par aller dans le menu ''CA Functions'' et ''Certificate Profiles''. Ensuite, on choisit le modèle de certificats TLS pour serveur qu'on a créé précédemment et on le clone : {{ :linux:ejbca:ejbca-068.png |}} * On nomme le modèle pour la certification TLS cliente et on clique sur ''Create from template'' : {{ :linux:ejbca:ejbca-069.png |}} * On édite le nouveau profil : {{ :linux:ejbca:ejbca-070.png |}} * On va dans la section ''Extended Key Usage'' et on supprime ''Server authentication'' pour sélectionner ''Client Authentication'' : {{ :linux:ejbca:ejbca-071.png |}} * En bas de page, on enregistre la modification via le bouton ''Save'' {{ :linux:ejbca:ejbca-072.png |}} ===== Création du profil utilisateur ===== * Maintenant, on va dans le menu ''RA Functions'', ''End Entity Profiles''. On ajoute un nom pour notre profil et on clique sur ''Add Profile'' : {{ :linux:ejbca:ejbca-073.png |}} * On choisit le nouveau profil et on l'édite : {{ :linux:ejbca:ejbca-074.png |}} * Dans la section principale, on définit les paramètres suivant : * **End Entity E-mail** : coché * //Required// : décoché * //Modifiable// : coché * **Profile Description** : Optionnel, cela permet de mieux identifier le profil. {{ :linux:ejbca:ejbca-075.png |}} * Dans la section ''Subject DN Attributes'', on définit : * **Subject DN Attributes** : on ajoute les champs ''O, Organization'' et ''C, Country (ISO 3166)'' * Pour **CN, Common Name** : * //Required// : coché * //Modifiable// : coché * Pour **O, Organization** : * //Required// : coché * //Modifiable// : décoché * Entrer le nom de votre organisation. * Pour **C, Country (ISO 3166)** : * //Required// : coché * //Modifiable// : décoché * Entrer le code du pays de votre organisation. {{ :linux:ejbca:ejbca-076.png |}} * Dans la section ''Main Certificate Data'', on définit : * Pour **Default Certificate Profile** et **Available Certificate Profiles** : on choisit le profil de certificat TLS client créé. * Pour **Default CAs** : on choisit l'autorité de certification intermédiaire. * Pour **Default Token** : on choisit ''User Generated''. * Dans ''Available Tokens'' : on choisit ''User Generated'', ''P12 file'' et ''PEM file''. {{ :linux:ejbca:ejbca-077.png |}} * En bas de page, on enregistre la modification via le bouton ''Save'' {{ :linux:ejbca:ejbca-078.png |}} ===== Création du certificat ===== * On va sur la page de gestion des certificats et on clique sur ''Make New Request'' : {{ :linux:ejbca:ejbca-079.png |}} * On définit : * **Certificate Type** : Le profil d'utilisateur créé précédemment. * **Key-pair generation** : ''By the CA'' {{ :linux:ejbca:ejbca-080.png |}} * Dans la section ''Provide request info'', on entre le nom du client dans ''CN, Common Name'' : {{ :linux:ejbca:ejbca-081.png |}} * Dans la section ''Provide User Credentials'' : * Dans **Username** : on entre le nom du client . * Dans **Enrollment code** : on entre le mot de passe pour l'enregistrement ou l'utilisation du certificat. * Dans **Confirm enrollment code** : on retape le mot de passe précédent. * Dans **Email** : on entre l'adresse mail du client. Cette adresse mail sera enregistrée dans la base de la PKI mais pas dans le certificat. Elle pourra être utilisée pour prévenir le client lors du renouvellement ou de la révocation du certificat. {{ :linux:ejbca:ejbca-082.png |}} * Dans la section ''Confirm request'', on peut voir le résumé de nos configurations et on peut télécharger le certificat utilisateur au format voulu : {{ :linux:ejbca:ejbca-083.png |}} ===== Conclusion ===== Voilà. Votre PKI est désormais capable de délivrer des certificats TLS pour l'authentification cliente. ~~DISCUSSION~~