ASN1PARSE(1) | OpenSSL | ASN1PARSE(1) |
NOM¶
asn1parse - Outil d'interprétation ASN.1
SYNOPSIS¶
openssl asn1parse [-inform PEM⎪DER] [-in nomfichier] [-out nomfichier] [-noout] [-offset nombre] [-length nombre] [-i] [-oid nomfichier] [-strparse décalage]
DESCRIPTION¶
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 chiffré base64
- -in nomfichier
- le fichier d'entrée, par défaut l'entrée standard
(stdin)
- -out nomfichier
- le fichier de sortie où les données chiffrées 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
"depth" de la structure
- -oid nomfichier
- fichier contenant des identifiants d'objets (OIDs) supplémentaires.
Le format utilisé pour ce fichier est décrit dans la section
NOTES ci-dessous.
- -strparse décalage
- interprète le contenu de l'objet ASN.1 à partir du
décalage-ième octet. On peut faire appel à
cette option plusieurs fois afin de descendre dans une structure
imbriquée.
RÉSULTAT
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.....
Ceci est une partie d'un certificat autosigné. Chaque ligne débute avec le décalage 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écalage 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 libelléCourt Un libellé long
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.
0.9.6a | 3rd Berkeley Distribution |