2.5. Gestion des certificats

2.5.1. Cr�ation et signature de demandes de certificats

CA.pl -newreq
(openssl req -config /etc/openssl.cnf -new -keyout newreq.pem \
 -out newreq.pem -days 365)

La commande pr�c�dente cr�e une nouvelle clef priv�e et une demande de certificat qu'elle place dans newreq.pem. Pour s�curiser un site web, par exemple www.sopac.org, on utilise le nom d'usage (CN) www.sopac.org. Pour le courrier �lectronique de franck@sopac.org, on utiliserait franck@sopac.org.

CA.pl -sign
(openssl ca -config /etc/openssl.cnf -policy policy_anything \
 -out newcert.pem -infiles newreq.pem)

Cette commande signe la demande avec cacert.pem et sauve le certificat dans newcert.pem. Le mot de passe de cacert.pem (le certificat de CA) est n�cessaire. Un fichier newcerts/xx.pem est cr�� et les fichiers index.txt, serial sont mis � jour.

La clef priv�e se trouve donc dans la section -PRIVATE KEY- de newreq.pem et le certificat dans la section -CERTIFICATE- de newcert.pem.

Une copie de newcert.pem est �mise dans le r�pertoire newcerts/ et l'enregistrement correspondant ajout� � index.txt de telle sorte qu'un client puisse acc�der � l'information via un serveur web et v�rifier l'authenticit� du certificat.

On note que le fichier newreq.pem contient aussi bien la demande de certificat que la clef priv�e. La section -PRIVATE KEY- n'est pas n�cessaire � la signature et il faut absolument la retirer avant de transmettre la demande � quelqu'un d'autre pour qu'il la signe. De m�me, pour signer une demande de certificat, il suffit d'obtenir la section -CERTIFICATE REQUEST-. Il n'y a aucune raison de demander la clef priv�e.

2.5.2. R�vocation de certificat

La commande suivante r�voque un certificat�:

openssl -revoke newcert.pem

La base de donn�es index.txt est modifi�e en cons�quence et le certificat est annot� comme r�voqu�. Il reste � r�g�n�rer la liste de r�vocation des certificats�:

openssl ca -gencrl -config /etc/openssl.cnf -out crl/sopac-ca.crl

La liste de r�vocation (CRL/Certificate Revokation List) doit �tre rendue publique, par exemple sur un site web.

Les param�tres crldays, crlhours permettent de pr�ciser la prochaine date de mise � jour de la CRL. crlexts sp�cifie la section du fichier openssl.cnf � employer pour cr�er une CRL de version 2 en place d'une CRL de version 1.

openssl ca -gencrl -config /etc/openssl.cnf -crldays 7 \
 -crlexts crl_ext -out crl/sopac-ca.crl

2.5.3. Renouvellement d'un certificat

L'utilisateur transmet son ancienne demande de certificat ou en r�g�n�re une nouvelle bas�e sur sa clef priv�e.

Il faut alors r�voquer l'ancien certificat et signer la nouvelle demande de certificat.

L'ancien certificat se retrouve en cherchant dans le fichier index.txt le nom qualifi� (DN) qui correspond � la requ�te. La proc�dure de r�vocation s'effectue ensuite avec le num�ro de s�rie <xx> et le fichier de certificat cert/<xx>.pem.

La signature de la nouvelle requ�te peut �tre manuelle pour s'assurer que les dates de validit� du certificat seront correctes.

openssl ca -config /etc/openssl.cnf -policy policy_anything -out newcert.pem \
-infiles newreq.pem -startdate [now] -enddate [previous enddate+365days]

[now] et [previous enddate+365days] sont � remplacer par des valeurs ad�quates.

2.5.4. Affichage d'un certificat

L'affichage sous forme textuelle du contenu d'un certificat sous forme cod�e s'effectue avec la commande suivante�:

openssl x509 -in newcert.pem -noout -text

2.5.5. Le fichier index.txt

Le fichier index.txt contient les r�f�rences des certificats cr��s par OpenSSL. Les enregistrements sont annot�s avec un R pour indiquer que le certificat est r�voqu�, V qu'il est valide et E qu'il a expir�.

2.5.6. �laborer son service web d'autorit� de certification

�tre une autorit� de certification implique certaines t�ches�:

  1. publier le certificat de CA racine pour qu'il puisse �tre d�ploy� dans les applications�;

  2. publier la liste de r�vocation�;

  3. afficher le contenu d�taill� des certificats, notamment leur num�ro de s�rie�;

  4. fournir un formulaire de demande de certificats.

Un serveur web et quelques scripts permettent de r�aliser toutes ces fonctions.

COMPL�TEZ-MOI�: code de l'interface web.

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:21