NOM
asn1parse - outil d’interprétation ASN.1
SYNOPSIS
openssl asn1parse [-inform PEM|DER] [-in nom_fichier] [-out
nom_fichier] [-noout] [-offset nombre] [-length nombre] [-i] [-oid
nom_fichier] [-strparse déplacement] [-genstr chaîne] [-genconf
fichier]
La commande asn1parse est un utilitaire de diagnostic permettant
d’interpréter des structures ASN.1. Il peut aussi être utilisé pour
extraire des informations de données au format ASN.1.
OPTIONS
-inform DER|PEM
le format d’entrée. DER est le format binaire et PEM (par défaut)
est encodé en base64.
-in nom_fichier
le fichier d’entrée, par défaut l’entrée standard.
-out nom_fichier
le fichier de sortie où les données encodée au format DER sont
stockées. Sans cette option, aucune donnée ne sera générée. Ceci
est en particulier utile en combinaison avec l’option -strparse.
-noout
ne pas afficher la version interprétée du fichier d’entrée.
-offset nombre
décalage initial avant le début de l’interprétation, par défaut on
commence au début du fichier.
-length nombre
nombre d’octets à interpréter, par défaut jusqu’à la fin de
fichier.
-i indentation du fichier de sortie en fonction de la profondeur de la
structure.
-oid nom_fichier
fichier contenant des identifiants d’objets («OBJECT IDENTIFIER»,
OID) supplémentaires. Le format utilisé pour ce fichier est décrit
dans la section NOTES ci-dessous.
-strparse déplacement
interprète le contenu de l’objet ASN.1 à partir de l’octet spécifié
par déplacement. On peut faire appel à cette option plusieurs fois
afin de descendre dans une structure imbriquée.
-genstr chaîne, -genconf fichier
génère des données encodées à partir de chaîne, de fichier ou des
deux, en utilisant le format de ASN1_generate_nconf(). Si seul
fichier est présent, alors la chaîne est obtenue dans la section
par défaut en utilisant le nom asn1. Les données encodées sont
passées à un analyseur ASN1 et affichées même si elles proviennent
d’un fichier. Le contenu peut ainsi être examinées et écrite dans
un fichier en utilisant l’option -out.
SORTIE
Le résultat se présente typiquement de la façon suivante:
0:d=0 hl=4 l= 681 cons: SEQUENCE
.....
229:d=3 hl=3 l= 141 prim: BIT STRING
373:d=2 hl=3 l= 162 cons: cont [ 3 ]
376:d=3 hl=3 l= 159 cons: SEQUENCE
379:d=4 hl=2 l= 29 cons: SEQUENCE
381:d=5 hl=2 l= 3 prim: OBJECT :X509v3 Subject Key Identifier
386:d=5 hl=2 l= 22 prim: OCTET STRING
410:d=4 hl=2 l= 112 cons: SEQUENCE
412:d=5 hl=2 l= 3 prim: OBJECT :X509v3 Authority Key Identifier
417:d=5 hl=2 l= 105 prim: OCTET STRING
524:d=4 hl=2 l= 12 cons: SEQUENCE
.....
Cet exemple est une partie d’un certificat autosigné. Chaque ligne
débute avec le déplacement en décimal. d=XX désigne le niveau de
profondeur actuel. Cette profondeur est incrémentée pour chaque SET ou
SEQUENCE. hl=XX donne la longueur de l’en-tête (octets de la balise et
de l’en-tête) du type en cours. l=XX precise la longueur du contenu.
Avec l’option -i l’affichage est plus lisible.
Quelques connaissances de la structure ASN.1 sont nécessaires pour
interpréter la sortie.
Dans cet exemple, la clé publique du certificat est le BIT STRING avec
un déplacement de 229. Les octets du contenu contiennent l’information
de la clé publique. Ceci peut être examiné en utilisant l’option
-strparse 229 pour obtenir:
0:d=0 hl=3 l= 137 cons: SEQUENCE
3:d=1 hl=3 l= 129 prim: INTEGER :E5D21E1F5C8D208EA7A2166C7FAF9F6BDF2059669C60876DDB70840F1A5AAFA59699FE471F379F1DD6A487E7D5409AB6A88D4A9746E24B91D8CF55DB3521015460C8EDE44EE8A4189F7A7BE77D6CD3A9AF2696F486855CF58BF0EDF2B4068058C7A947F52548DDF7E15E96B385F86422BEA9064A3EE9E1158A56E4A6F47E5897
135:d=1 hl=2 l= 3 prim: INTEGER :010001
NOTES
Si un identifiant d’objet (OID) ne figure pas dans la table interne
d’OpenSSL, il sera représenté sous forme numérique (par exemple
1.2.3.4). Le fichier fourni avec l’option -oid permet d’inclure des
OIDs supplémentaires. Chaque ligne contient trois colonnes, la première
étant l’OID sous forme numérique et doit être suivi d’espaces. La
deuxième colonne est le «short name» (libellé court), un seul mot suivi
d’espaces. La dernière colonne est le reste de la ligne contenant le
libellé long («long name»), affiché par asn1parse. Exemple :
"1.2.3.4 shortName A long name"
EXEMPLES
Interpréter un fichier:
openssl asn1parse -in file.pem
Interpréter un fichier DER:
openssl asn1parse -inform DER -in file.der
Générer une UTF8String simple:
openssl asn1parse -genstr 'UTF8:Hello World'
Générer et écrire une UTF8String, sans afficher la sortie analysée:
openssl asn1parse -genstr 'UTF8:Hello World' -noout -out utf8.der
Générer en utilisant un fichier de configuration:
openssl asn1parse -genconf asn1.cnf -noout -out asn1.der
Exemple de fichier de configuration:
asn1=SEQUENCE:seq_sect
[seq_sect]
field1=BOOL:TRUE
field2=EXP:0, UTF8:some random string
BOGUES
Il devrait y avoir des options pour modifier le format des lignes de
l’entrée. La sortie de certains types ASN.1 n’est pas proprement gérée
voire pas du tout.
TRADUCTION
Cette page de manuel a été traduite par stolck en 2002 et est maintenue
par la liste <debian-l10n-french AT lists DOT debian DOT org>.
Veuillez signaler toute erreur de traduction par un rapport de bogue
sur le paquet manpages-fr-extra.