zion - CA.pl
.rn '' }` ''' $RCSfile$$Revision$$Date$ ''' ''' $Log$ ''' .de Sh .if t .Sp .ne 5
$1
.. .de Sp .if t .5v .if n .. .de Ip .ie
(.$>=3 .ne $3 .el .ne 3
[/col][/row][/table]
.UC .if n .hy 0 .if n .na .ds C+ Cv'-.1v'h'-1p's-2+h'-1p'+s0v'.1v'h'-1p' .de CQ " put $1 in typewriter font .ft CW 'if n "c 'if t &$1c 'if n &$1c 'if n &" &$2 $3 $4 $5 $6 $7 '.ft R .. . " AM - accent mark definitions .bd B 3 . " fudge factors for nroff and troff .if n { . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ f1 . ds #] .if t { . ds #H ((1u-(\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ & . ds #] & . " simple accents for nroff and troff .if n { . ds ' & . ds ` & . ds ^ & . ds , & . ds ~ ~ . ds ? ? . ds ! ! . ds / . ds q .if t { . ds ' k:h'-(
(.wu*8/10-*(#H)''h"|
:u" . ds ` k:h'-(
(.wu*8/10-*(#H)'`h'|
:u' . ds ^ k:h'-(
(.wu*10/11-*(#H)'^h'|
:u' . ds , k:h'-(
(.wu*8/10)',h'|
:u' . ds ~ k:h'-(
(.wu-*(#H-.1m)'~h'|
:u' . ds ? s-2ch'-w'c'u*7/10'uh'*(#H'zids+2h'w'c'u*8/10' . ds ! s-2(ors+2h'-w'(or'u'v'-.8m'.v'.8m' . ds / k:h'-(
(.wu*8/10-*(#H)'z(slh'|
:u' . ds q oh'-w'o'u*8/10's-4v'.4m'z(*iv'-.4m's+4h'w'o'u*8/10' . " troff and (daisy-wheel) nroff accents .ds : k:h'-(
(.wu*8/10-*(#H+.1m+*(#F)'v'-*(#V'z.h'.2m+*(#F'.h'|
:u'v'*(#V' .ds 8 h'*(#H'(*bh'-*(#H' .ds v k:h'-(
(.wu*9/10-*(#H)'v'-*(#V'*(#[s-4vs0v'*(#V'h'|
:u'*(#] .ds _ k:h'-(
(.wu*9/10-*(#H+(*(#F*2/3))'v'-.4m'z(hyv'.4m'h'|
:u' .ds . k:h'-(
(.wu*8/10)'v'*(#V*4/10'z.v'-*(#V*4/10'h'|
:u' .ds 3 *(#[v'.2m's-2&3s0v'-.2m'*(#] .ds o k:h'-(
(.wu+w'(de'u-*(#H)/2u'v'-.3n'*(#[z(dev'.3n'h'|
:u'*(#] .ds d- h'*(#H'(pdh'-w'~'u'v'-.25m'f2(hyv'.25m'h'-*(#H' .ds D- Dk:h'-w'D'u'v'-.11m'z(hyv'.11m'h'|
:u' .ds th *(#[v'.3m's+1Is-1v'-.3m'h'-(w'I'u*2/3)'s-1os+1*(#] .ds Th *(#[s+2Is-2h'-w'I'u*3/5'v'-.3m'ov'.3m'*(#] .ds ae ah'-(w'a'u*4/10)'e .ds Ae Ah'-(w'A'u*4/10)'E .ds oe oh'-(w'o'u*4/10)'e .ds Oe Oh'-(w'O'u*4/10)'E . " corrections for vroff .if v .ds ~ k:h'-(
(.wu*9/10-*(#H)'s-2u~ds+2h'|
:u' .if v .ds ^ k:h'-(
(.wu*10/11-*(#H)'v'-.4m'^v'.4m'h'|
:u' . " for low resolution devices (crt and lpr) .if n(.H>23 .if n(.V>19 { . ds : e . ds 8 ss . ds v h'-1'o'(aa(ga' . ds _ h'-1'^ . ds . h'-1'. . ds 3 3 . ds o a . ds d- dh'-1'(ga . ds D- Dh'-1'(hy . ds th o'bp' . ds Th o'LP' . ds ae ae . ds Ae AE . ds oe oe . ds Oe OE .rm #[ #] #H #V #F C
Nom
CA.pl - interface amicale pour les programmes de certificats d'OpenSSL
Résumé
CA.pl [-?] [-h] [-help] [-newcert] [-newreq] [-newca] [-xsign] [-sign] [-signreq] [-signcert] [-verify] [fichiers]
Description
Le script CA.pl, écrit en perl, fournit les arguments à la commande openssl pour les opérations les plus courantes. Son but est de simplifier le processus de création et la gestion de certificats en employant des options simples.
Options
"?, -h, -help" 4
affiche un descriptif d'utilisation |
"-newcert" 4
crée un nouveau certificat autosigné. La clé privée et le certificat sont écrits dans le fichier *(L"newreq.pem*(R". |
"-newreq" 4
crée une nouvelle demande de certificat. La clé privée et le certificat sont écrits dans le fichier *(L"newreq.pem*(R". |
"-newca" 4
crée une nouvelle hiérarchie s-1CAs0 à utiliser avec le programme ca (ou les options -signcert et -xsign). L'utilisateur devra saisir le nom du fichier de certificat s-1CAs0 (qui est censé contenir également la clé privée) ou, en appuyant sur s-1ENTRÉEs0 les détails du s-1CAs0. Les fichiers et répertoires correspondants seront crées dans un dossier nommé *(L"demoCA*(R" dans le répertoire courant. |
"-pkcs12" 4
crée un fichier s-1PKCSs0#12 contenant le certificat utilisateur, la clé privée et le certificat s-1CAs0. Le programme s'attend à trouver le certificat utilisateur et la clé privée dans le fichier *(L"newcert.pem*(R" et le certificat s-1CAs0 dans le fichier demoCA/cacert.pem, puis crée un fichier *(L"newcert.p12*(R". Cette commande peut ainsi être appelée après l'option -sign. Le fichier s-1PKCSs0#12 peut être directement importée dans un browser (NdT :butineur tel que Mozilla). Un argument supplémentaire à la ligne de commande sera le *(L"nom amical*(R" du certificat (celui typiquement affiché dans la fenêtre des certificats du browser), autrement le nom par défaut sera *(L"My Certificate*(R". |
"-sign, -signreq, -xsign" 4
appelle le programme ca pour signer une demande de certificat. Il s'attend à trouver la demande dans le fichier *(L"newreq.pem*(R". Le nouveau certificat est écrit dans le fichier *(L"newcert.pem*(R" sauf dans le cas de l'option -xsign ou il est envoyé vers la sortie standard. |
"-signCA" 4
cette option est identique à -signreq utilisant la section v3_ca du fichier de configuration et transformant ainsi la demande signée en un certificat s-1CAs0 valide. Ceci est utile pour créer des s-1CAs0 intermédiaires à partir d'un s-1CAs0 racine. |
"-signcert" 4
identique à -sign à la différence près que le certificat autosigné est attendu dans le fichier *(L"newreq.pem*(R". |
"-verify" 4
vérifie le certificat contre le certificat s-1CAs0 pour *(L"demoCA*(R". Si aucun certificat n'est spécifié sur la ligne de commande, le fichier *(L"newcert.pem*(R" est vérifié. |
"fichiers" 4
un ou plusieurs noms de fichier de certificat à utiliser avec la commande -verify. |
Exemples
Création d'une hiérarchie CA :
.Vb 1 & CA.pl -newca .Ve Exemple de création de certificat complet : créer un CA, créer une demande, signer la demande et finalement créer un fichier PKCS#12 pour le contenir.
.Vb 4 & CA.pl -newca & CA.pl -newreq & CA.pl -signreq & CA.pl -pkcs12 "Mon certificat de test" .Ve
Certificats dsa
Même si le CA.pl crée des CA et demandes au format RSA, il est toujours possible de l'utiliser avec des certificats et demandes de type DSA en utilisant la commande req(1) directement. L'exemple suivant montre les manipulations types :
Créer les paramètres DSA:
.Vb 1 & openssl dsaparam -out dsap.pem 1024 .Ve Créer un certificat CA de type DSA avec sa clé privée :
.Vb 1 & openssl req -x509 -newkey dsa:dsap.pem -keyout cacert.pem -out cacert.pem .Ve Créer les fichiers et répertoires CA :
.Vb 1 & CA.pl -newca .Ve entrer cacert.pem lors de la demande pour le nom de fichier CA.
Créer une demande de certificat DSA et sa clé privée (un autre jeu de paramètres peut être généré auparavant) :
.Vb 1 & openssl req -out newreq.pem -newkey dsa:dsap.pem .Ve Signer la demande :
.Vb 1 & CA.pl -signreq .Ve
Notes
La plupart des noms de fichiers cités peuvent être modifiés en éditant le script CA.pl.
Si le répertoire demoCA existe, la commande -newca ne l'écrasera pas et n'effectuera aucune action. Ceci peut arriver lors d'un arrêt inopportun d'un appel précédent avec l'option -newca. Pour retrouver le comportement correct il faut supprimer le répertoire demoCA.
Sous certains environnements il peut s'avérer impossible d'exécuter le script CA.pl directement (par exemple Win32) et l'emplacement par défaut du fichier de configuration peut être erroné. Alors la commande
.Vb 1 & perl -S CA.pl .Ve peut être lancée (NdT : dans le répertoire où se trouve le script CA.pl) et la variable d'environnement OPENSSL_CONF permet de spécifier le chemin correct vers le fichier de configuration *(L"openssl.conf*(R".
Le script simplifie l'utilisation du programme openssl pour débutants. Son comportement n'est pas toujours celui voulu. Afin d'utiliser pleinement toutes les commandes concernant les certificats il faut appeler la commande openssl directement.
Variables denvironnement
La variable OPENSSL_CONF si définie permet de spécifier l'emplacement d'un fichier de configuration alternatif. Elle doit contenir le chemin complet avec le nom du fichier et non seulement le dossier.
Voir aussi
x509(1), ca(1), req(1), pkcs12(1), config(5) .rn }` '' .IX Title "CA.PL 1" .IX Name "CA.pl - interface amicale pour les programmes de certificats OpenSSL" .IX Header "NOM" .IX Header "SYNOPSIS" .IX Header "DESCRIPTION" .IX Header "OPTIONS DE LA COMMANDE" .IX Item "?, -h, -help" .IX Item "-newcert" .IX Item "-newreq" .IX Item "-newca" .IX Item "-pkcs12" .IX Item "-sign, -signreq, -xsign" .IX Item "-signCA" .IX Item "-signcert" .IX Item "-verify" .IX Item "fichiers" .IX Header "EXEMPLES" .IX Header "CERTIFICATS DSA" .IX Header "NOTES" .IX Header "VARIABLES D'ENVIRONNEMENT" .IX Header "VOIR AUSSI"
Poster un commentaire