zion - asn1parse
.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
asn1parse outil d'interprétation- ASN.1
Résumé
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 s-1DERs0|s-1PEMs0" 4
le format d'entrée. s-1DERs0 est le format binaire et s-1PEMs0 (par défaut) est chiffré base64 |
"-in nomfichier" 4
le fichier d'entrée, par défaut l'entrée standard (stdin) |
"-out nomfichier" 4
le fichier de sortie où les données chiffrées s-1DERs0 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" 4
ne pas afficher la version interprétée du fichier d'entrée. |
"-offset nombre" 4
décalage initial avant le début de l'interprétation, par défaut on commence au début du fichier. |
"-length nombre" 4
nombre d'octets à interpréter, par défaut jusqu'à la fin de fichier. |
"-i" 4
indentation du fichier de sortie en fonction de la profondeur *(L"depth*(R" de la structure |
"-oid nomfichier" 4
fichier contenant des identifiants d'objets (OIDs) supplémentaires. Le format utilisé pour ce fichier est décrit dans la section s-1NOTESs0 ci-dessous. |
"-strparse décalage" 4
interprète le contenu de l'objet s-1ASNs0.1 à partir du décalage-ième octet. On peut faire appel à cette option plusieurs fois afin de descendre dans une structure imbriquée. |
s-1rÉsultats0
Le résultat se présente typiquement de la façon suivante :
.Vb 1 & 0:d=0 hl=4 l= 681 cons: SEQUENCE .Ve &.....
.Vb 10 & 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 .Ve &.....
Ceci est une partie d'un certificat autosigné. Chaque ligne débute avec le décalage en décimal. d=s-1XXs0 désigne le niveau de profondeur actuel. Cette profondeur est incrémentée pour chaque s-1SETs0 ou s-1SEQUENCEs0. hl=s-1XXs0 donne la longueur de l'en-tête (octets de la balise et de l'en-tête) du type en cours. l=s-1XXs0 precise la longueur du contenu.
Avec l'option -i l'affichage est plus lisible.
Quelques connaissances de la structure s-1ASNs0.1 sont nécessaires pour interpréter la sortie.
Dans cet exemple, la clé publique du certificat est le s-1BITs0 s-1STRINGs0 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 :
.Vb 3 & 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 .Ve
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 *(L"short name*(R" (libellé court), un seul mot suivi d'espaces. La dernière colonne est le reste de la ligne contenant le libellé long (*(L"long name*(R"), affiché par asn1parse. Exemple :
f(CW1.2.3.4 libelléCourt Un libellé long
Bugs
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. .rn }` '' .IX Title "ASN1PARSE 1" .IX Name "asn1parse - outil d'interprétation ASN.1" .IX Header "NOM" .IX Header "SYNOPSIS" .IX Header "DESCRIPTION" .IX Header "OPTIONS" .IX Item "-inform s-1DERs0|s-1PEMs0" .IX Item "-in nomfichier" .IX Item "-out nomfichier" .IX Item "-noout" .IX Item "-offset nombre" .IX Item "-length nombre" .IX Item "-i" .IX Item "-oid nomfichier" .IX Item "-strparse décalage" .IX Subsection "s-1RÉSULTATs0" .IX Header "NOTES" .IX Header "BOGUES"
Poster un commentaire