zion -  ca

.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 - application minimale de type ca

Résumé

openssl ca [-verbose] [-config nomfichier] [-name section] [-gencrl] [-revoke fichier] [-crldays jours] [-crlhours heures] [-crlexts section] [-startdate date] [-enddate date] [-days arg] [-md arg] [-policy arg] [-keyfile arg] [-key arg] [-passin arg] [-cert fichier] [-in fichier] [-out fichier] [-notext] [-outdir dossier] [-infiles] [-spkac fichier] [-ss_cert fichier] [-preserveDN] [-batch] [-msie_hack] [-extensions section]

Description

La commande ca est une application CA minimale. Elle peut être utilisée pour signer des demandes de certificats sous différentes formes et génère des CRLs. D'autre part, elle maintient une liste des certificats délivrés et de leurs statuts.

Les descriptions des options sont divisées par type d'action.

Options

"-config nomfichier" 4
    spécifie le nom du fichier de configuration.

"-name section" 4
    spécifie la section du fichier de configuration à utiliser (remplace default_ca dans la section ca).

"-in nomfichier" 4
    un nom de fichier en entrée contenant une seule demande de certificat à être signée par le s-1CAs0.

"-ss_cert nomfichier" 4
    un seul certificat auto-signé à être signé par le s-1CAs0.

"-spkac nomfichier" 4
    un fichier contenant une unique clé publique Netscape, signé et des données supplémentaires à être signées par le s-1CAs0. Référez-vous à la section s-1NOTESs0 pour des informations sur le formatage.

"-infiles" 4
    si présent, ceci doit être la dernière option, tous les arguments suivants étant interprétés comme fichiers contenant des demandes de certificats.

"-out nomfichier" 4
    le fichier de sortie où seront les certificats seront dirigés, par défaut la sortie standard. Les détails des certificats y seront également précisés.

"-outdir dossier" 4
    le répertoire qui contiendra les certificats. Les certificats seront écrits vers des fichiers nommés par le numéro de série en hexadécimal portant le suffixe *(L".pem*(R".

"-cert" 4
    le fichier de certificat s-1CAs0.

"-keyfile nomfichier" 4
    la clé privée utilisée pour signer les certificats.

"-key motdepasse" 4
    le mot de passe utilisé pour chiffrer la clé privée. Sur certains systèmes les arguments de la ligne de commande sont visible (p.e. Unix avec l'utilitaire *(L'ps*(R') une certaine prudence est requise pour l'emploi de cette option.

"-passin arg" 4
    la source du mot de passe de la clé. Pour plus d'informations sur le format de l'arg, référez-vous à la section s-1ARGUMENTSs0 s-1DEs0 s-1PHRASEs0 s-1DEs0 s-1PASSEs0 d'openssl(1).

-verbose 4
    .Sp ceci affiche des détails supplémentaires sur les opérations effectuées.

"-notext" 4
    ne pas inclure la version texte d'un certificat dans le fichier de sortie.

"-startdate date" 4
    ceci permet de définir la date de début de validité explicitement Le format de date utilisé est s-1AAMMJJHHMMSSZs0 (Le même qu'une structure UTCTime s-1ASN1s0).

"-enddate date" 4
    ceci permet de définir la date de fin de validité explicitement Le format de date utilisé est s-1AAMMJJHHMMSSZs0 (Le même qu'une structure UTCTime s-1ASN1s0).

"-days arg" 4
    le nombre de jours que le certificat sera certifié

"-md alg" 4
    la signature de message à utiliser. Les valeurs possibles incluent md5, sha1 et mdc2. Cette option s'applique également aux CRL.

"-policy arg" 4
    cette option définit la *(L"policy*(R" (NdT:police) s-1CAs0 à utiliser. Il s'agit d'une section du fichier de configuration spécifiant les champs qui sont obligatoires ou qui doivent correspondre au certificat s-1CAs0. Référez-vous à la section s-1FORMATs0 s-1DEs0 s-1LAs0 s-1POLICYs0 pour plus d'informations.

"-msie_hack" 4
    c'est une option permettant à ca de fonctionner avec d'anciennes versions du contrôleur d'intégration de certificats d's-1IEs0, *(L"certenr3*(R". De l'utilisation quasi-systématique d'UniversalStrings (chaînes de caractères universelles, NdT) s'ensuivent divers trous de sécurité et l'utilisation de cette option est ainsi fortement déconseillé. Le contrôleur plus récent,*(L"Xenroll*(R", n'a pas besoin de cette option.

"-preserveDN" 4
    Normalement, l'ordre s-1DNs0 d'un certificat est celui des champs dans la section de la policy correspondante. Avec cette option activé, l'ordre de référence est celui de la demande de certificat. Il s'agit principalement d'assurer la compatibilité avec l'ancien contrôleur d'IE qui n'accepterait que les certificats dont les DNs correspondent à l'ordre de la demande. Avec Xenroll, pas de problème.

"-batch" 4
    ceci active le mode batch (NdT script ou automatique dans ce contexte). Aucune question ne sera posée et tous les certificats seront signés automatiquement.

"-extensions section" 4
    la section du fichier de configuration contenant des extensions de certificat à ajouter lors de la génération d'un certificat. Si aucune section d'extension n'est présente, un certificat v1 sera créé, sinon, même avec un contenu vide, un certificat v3 sera créé.


Options

"-gencrl" 4
    cette options génère une s-1CRLs0 basée sur l'information trouvée dans le fichier d'index.

"-crldays num" 4
    le nombre de jours avant passage à la s-1CRLs0 suivante. C'est-à-dire les jours à partir de maintenant à placer dans le champs nextUpdate de la s-1CRLs0.

"-crlhours num" 4
    le nombre de jours avant passage à la s-1CRLs0 suivante.

"-revoke nomfichier" 4
    le nom de fichier contenant un certificat à retirer.

"-crlexts section" 4
    la section du fichier de configuration contenant des extensions s-1CRLs0 à inclure. Si aucune section d'extension s-1CRLs0 n'est présente, une s-1CRLs0 V1 est créée, sinon, une s-1CRLs0 V2, même si la section en question est vide. Les extensions s-1CRLs0 spécifiées sont des extensions s-1CRLs0 et s-1nons0 des extensions d'entrée s-1CRLs0. Remarquons que certains logiciels (p.e. Netscape) ne gèrent pas les CRLs VZ.


Options

La section du fichier de configuration contenant des options pour ca est trouvée de la façon suivante : si l'option de ligne de commande -name est utilisée, les noms précisés sont utilisés. Autrement, la section qui sera emmené à être utilisée doit être nommé dans l'option default_ca de la section ca du fichier de configuration (ou dans la section par défaut du fichier de configuration). À part default_ca, les options suivantes sont lues directement de la section ca: RANDFILE preserve msie_hack À l'exception de RANDFILE, ceci est probablement un bogue et risque d'être modifié dans les versions futures.

De nombreuses options du fichier de configuration sont identiques à celles de la ligne de commande. Si une option est présente à la fois dans le fichier de configuration et sur la ligne de commande, la valeur de la ligne de commande est prise en compte. Une option décrit comme obligatoire doit être présent soit dans le fichier de configuration soit sur la ligne de commande.
"oid_file" 4
    Ceci spécifie le fichier contenant des s-1OBJECTs0 s-1IDENTIFIERSs0 (s-1IDENTIFIANTs0 s-1D'OBJETs0) supplémentaires. Chaque ligne consiste en la forme numérique de l'identifiant d'objet suivi par des espaces puis le libellé court (short name en anglais) suivi à son tour par des espaces et finalement le libellé long.

"oid_section" 4
    Ceci spécifie une section du fichier de configuration contenant d'autres identifiants d'objet. Chaque ligne consiste en la forme numérique de l'identifiant d'objet suivi par des espaces puis le libellé court (short name en anglais) suivi à son tour par des espaces et finalement le libellé long.

"new_certs_dir" 4
    identique à l'option de ligne de commande -outdir. On spécifie le répertoire où les nouveaux certificats seront placés. Obligatoire.

"certificate" 4
    identique à -cert. On spécifie le fichier contenant le certificat s-1CAs0. Obligatoire.

"private_key" 4
    identique à l'option -keyfile. Le fichier contenant la clé privée s-1CAs0. Obligatoire.

"s-1RANDFILEs0" 4
    un fichier utilisé pour lire et écrire l'information sur la racine des nombres pseudoaléatoires, ou un socket s-1EGDs0 (cf RAND_egd(3)).

"default_days" 4
    identique à l'option -days. Le nombre de jours qu'un certificat sera certifié.

"default_startdate" 4
    identique à l'option -startdate. La date de début de validité du certificat. Si cette entrée est absente, la date actuelle sera utilisée.

"default_enddate" 4
    identique à l'option -enddate. Soit cette option-ci soit default_days (où les équivalents en mode ligne de commande) doivent être présent.

"default_crl_hours default_crl_days" 4
    identiques aux options -crlhours et -crldays. Uniquement utilisées si aucune options n'est présente sur la ligne de commande. Au moins une de ces options doit être spécifiée pour générer une s-1CRLs0.

"default_md" 4
    identique à l'option -md. La signature de message à utiliser. Obligatoire.

"database" 4
    le fichier texte - base de données - à utiliser. Obligatoire. Ce fichier doit être présent même si initialement vide.

"serialfile" 4
    un fichier texte contenant le numéro de série suivant à utiliser en hexadécimal. Obligatoire. Ce fichier doit être présent et contenir un numéro de série valide.

"x509_extensions" 4
    identique à -extensions.

"crl_extensions" 4
    identique à -crlexts.

"preserve" 4
    identique à -preserveDN

"msie_hack" 4
    identique à -msie_hack

"policy" 4
    identique à -policy. Obligatoire. Référez-vous à la section s-1FORMATs0 s-1DEs0 s-1LAs0 s-1POLICYs0 pour plus d'information.


Format de la policy

La section policy consiste en un jeu de variables correspondants aux champs DN du certificat. Si la valeur est *(L"match*(R", la valeur du champ doit être identique au champ du même nom du certificat CA. Si la valeur est *(L"supplied*(R", il doit être présent. Si la valeur est *(L"optional*(R", sa présence n'est pas obligatoire. Tout champ ne figurant pas dans la section policy est supprimé à moins que l'option -preserveDN ne soit activée. Ce comportement est susceptible de subir des modifications.

Format spkac

L'entrée à l'option de ligne de commande -spkac est une clé publique signée Netscape. Ceci provient habituellement d'une balise KEYGEN dans un formulaire HTML pour créer une nouvelle clé privée. Il est toutefois possible de créer des SPKACs en utilisant l'utilitaire spkac.

Le fichier devrait contenir la variable SPKAC à laquelle on assigne sa valeur ainsi que les éléments DN requis sous forme de paires nom-valeurs. Si besoin est d'inclure le même élément plusieurs fois, il est possible de le faire précéder par un nombre et un *(L'.*(R'.

Exemples

Note : ces exemples supposent que l'arborescence ca est déjà en place et que les fichiers liés existent. Ceci nécessite généralement la création d'un certificat et d'une clé privée CA avec req, un fichier de numéro de série et un fichier d'index vide. Tous ces fichiers doivent être placés dans les répertoires correspondants.

Afin d'utiliser le fichier de configuration type ci-dessous, il faut créer les répertoires demoCA, demoCA/private et demoCA/newcerts. Le certificat CA sera copié vers demoCA/cacert.pem et sa clé privée vers demoCA/private/cakey.pem. Un fichier demoCA/serial sera créer contenant par exemple *(L"01*(R" et un fichier d'index vide demoCA/index.txt.

Signer une demande de certificat :

.Vb 1 & openssl ca -in req.pem -out newcert.pem .Ve Signer une demande de certificat utilisant des extensions CA :

.Vb 1 & openssl ca -in req.pem -extensions v3_ca -out newcert.pem .Ve Générer une CRL

.Vb 1 & openssl ca -gencrl -out crl.pem .Ve Signer des demandes diverses :

.Vb 1 & openssl ca -infiles req1.pem req2.pem req3.pem .Ve Certifier un SPKAC (Netscape) :

.Vb 1 & openssl ca -spkac spkac.txt .Ve Un fichier SPKAC type (lignes tronquées pour lisibilité)

.Vb 5 & SPKAC=MIG0MGAwXDANBgkqhkiG9w0BAQEFAANLADBIAkEAn7PDhCeV/xIxUg8V70YRxK2A5 & CN=Steve Test & emailAddress=steve@openssl.org & 0.OU=OpenSSL Group & 1.OU=Another Group .Ve Un fichier de configuration type avec les sections pour ca :

.Vb 4 & [ ca ] & default_ca = CA_default # la section CA par défaut & & [ CA_default ] .Ve .Vb 12 & dir = ./demoCA # dossier principal & database = $dir/index.txt # fichier index. & new_certs_dir = $dir/newcerts # dossier pour nouveaux certs & & certificate = $dir/cacert.pem # Le certificat CA & serial = $dir/serial # fichier des numéros de série & private_key = $dir/private/cakey.pem# clé privée CA & RANDFILE = $dir/private/.rand # fichier avec nombres aléatoires & & default_days = 365 # durée du certificat & default_crl_days= 30 # délai avant CRL suivante & default_md = md5 # md à utiliser .Ve .Vb 1 & policy = policy_any # policy par défaut .Ve .Vb 7 & [ policy_any ] & countryName = supplied & stateOrProvinceName = optional & organizationName = optional & organizationalUnitName = optional & commonName = supplied & emailAddress = optional .Ve

Avertissements

La commande ca est capricieuse et parfois pas très confortable d'utilisation.

L'utilitaire ca a eu pour objectif initial d'être un exemple montrant comment se servir de CA. Il n'a pas été créé pour servir d'application CA complète, or quelques gens s'en servent dans ce but.

La commande ca est effectivement une commande monoutilisateur, aucun verrouillage n'est fait sur les divers fichiers, et des tentatives d'accès simultanés à un même fichier d'index produisent des résultats imprévisibles.

Fichiers

Note : l'emplacement de tous les fichier peut changer en fonction des options de compilation, des entrées dans le fichier de configuration, des variables d'environnement où encore les options de la ligne de commande. Les valeurs ci-dessous sont les valeurs par défaut.

.Vb 10 & /usr/local/ssl/lib/openssl.cnf - fichier de configuration principal & ./demoCA - répertoire CA principal & ./demoCA/cacert.pem - certificat CA & ./demoCA/private/cakey.pem - clé privée CA & ./demoCA/serial - fichier de numéros de série CA & ./demoCA/serial.old - fichier de sauvegarde des numéros de série CA & ./demoCA/index.txt - fichier d'index CA & ./demoCA/index.txt.old - fichier de sauvegarde d'index CA & ./demoCA/certs - fichier de sortie du certificat & ./demoCA/.rnd - information concernant la racine aléatoire CA .Ve

Variables denvironnement

OPENSSL_CONF contient l'emplacement du fichier de configuration principal qui peut être modifié avec l'option de ligne de commande -config

Restrictions

Le fichier d'index est une partie cruciale du processus et toute corruption peut s'avérer difficile à rattraper. Bien que la reconstruction de l'index à partir des certificats délivrés et d'une CRL récente soit possible, aucune option ne permet de faire cela.

Les extensions d'entrée CRL ne peuvent être créées actuellement : seules les extensions CRL sont prises en charge.

Les nouvelles fonctionnalités de la CRL V2 telles que le support des delta CRL et des nombres CRL ne sont pas implémentées actuellement.

Même s'il est possible d'entrer et de traiter plusieurs demandes en même temps, il est impossible d'inclure plus d'un SPKAC ou certificat auto-signé.

Bugs

L'utilisation d'une base de données texte en mémoire peut s'avérer problématique, en particulier avec un nombre important de certificats à gérer, justement du fait que cette base se trouve en mémoire.

Les extensions aux demandes de certificats sont ignorées : une sorte de *(L"policy*(R" devrait être incluse afin d'utiliser des extensions statiques et certaines extensions de la demande.

Il n'est pas possible de signer deux certificats ayant la même DN : ceci résulte de la structure du fichier d'index et ne peut être facilement contourné. Quelques clients S/MIME savent utiliser deux certificats avec la même DN pour des clés de signature et de chiffrement différent.

La commande ca a réellement besoin d'être revue voire réécrite soit au niveau commande soit au niveau interface (scripts perl ou GUI) pour traiter les choses proprement. Les scripts CA.sh et CA.pl aident un petit peu en ce sens.

Tout champ ne figurant pas dans la section policy est supprimé à moins que l'option -preserveDN ne soit activée. Les champs supplémentaires ne sont pas affichées lorsque l'utilisateur est demandé de certifier une demande. Ce comportement pourrait être davantage convivial et paramétrable.

L'annulation de certaines commandes en refusant de certifier un certificat peut résulter en un fichier vide.

Voir aussi

req(1), spkac(1), x509(1), CA.pl(1), config(5) .rn }` '' .IX Title "CA 1" .IX Name "ca - application type minimale ca" .IX Header "NOM" .IX Header "SYNOPSIS" .IX Header "DESCRIPTION" .IX Header "OPTIONS CA" .IX Item "-config nomfichier" .IX Item "-name section" .IX Item "-in nomfichier" .IX Item "-ss_cert nomfichier" .IX Item "-spkac nomfichier" .IX Item "-infiles" .IX Item "-out nomfichier" .IX Item "-outdir dossier" .IX Item "-cert" .IX Item "-keyfile nomfichier" .IX Item "-key motdepasse" .IX Item "-passin arg" .IX Item "-notext" .IX Item "-startdate date" .IX Item "-enddate date" .IX Item "-days arg" .IX Item "-md alg" .IX Item "-policy arg" .IX Item "-msie_hack" .IX Item "-preserveDN" .IX Item "-batch" .IX Item "-extensions section" .IX Header "OPTIONS CRL" .IX Item "-gencrl" .IX Item "-crldays num" .IX Item "-crlhours num" .IX Item "-revoke nomfichier" .IX Item "-crlexts section" .IX Header "OPTIONS DU FICHIER DE CONFIGURATION" .IX Item "oid_file" .IX Item "oid_section" .IX Item "new_certs_dir" .IX Item "certificate" .IX Item "private_key" .IX Item "s-1RANDFILEs0" .IX Item "default_days" .IX Item "default_startdate" .IX Item "default_enddate" .IX Item "default_crl_hours default_crl_days" .IX Item "default_md" .IX Item "database" .IX Item "serialfile" .IX Item "x509_extensions" .IX Item "crl_extensions" .IX Item "preserve" .IX Item "msie_hack" .IX Item "policy" .IX Header "POLICY FORMAT" .IX Header "SPKAC FORMAT" .IX Header "EXEMPLES" .IX Header "AVERTISSEMENTS" .IX Header "FICHIERS" .IX Header "VARIABLES D'ENVIRONNEMENT" .IX Header "RESTRICTIONS" .IX Header "BOGUES" .IX Header "VOIR AUSSI"

Poster un commentaire
Utilisateur
Mot de passe
 
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?