OPENSSL-ASN1PARSE(1ssl) | OpenSSL | OPENSSL-ASN1PARSE(1ssl) |
NOM
openssl-asn1parse – Commande d'analyse ASN.1
SYNOPSIS
openssl asn1parse [-help] [-inform DER|PEM|B64] [-in fichier] [-out fichier] [-noout] [-offset nombre] [-length nombre] [-i] [-oid fichier] [-dump] [-dlimit nombre] [-strparse décalage] [-genstr chaîne] [-genconf fichier] [-strictpem] [-item nom]
DESCRIPTION
Cette commande est un utilitaire de diagnostic capable d'analyser les structures ASN.1. Elle peut aussi être utilisée pour extraire des données à partir de données au format ASN.1.
OPTIONS
- -help
- Afficher un message d'utilisation.
- -inform DER|PEM|B64
- Le format d'entrée ; PEM par défaut. Voir openssl-format-options(1) pour des détails.
- -in fichier
- Le fichier d'entrée ; c'est par défaut l'entrée standard.
- -out filename
- Le fichier de sortie dans lequel placer les données encodées en DER. Si cette option n'est pas présente, aucune donnée ne sera produite. Cette option est particulièrement utile combinée avec l'option -strparse.
- -noout
- Don't output the parsed version of the input file.
- -offset nombre
- Décalage de départ pour commencer l'analyse ; par défaut c'est le début du fichier.
- -length nombre
- Nombre d'octets à analyser ; par défaut c'est jusqu'à la fin du fichier.
- -i
- Indenter la sortie en fonction de la « profondeur » des structures.
- -oid fichier
- Un fichier contenant des IDENTIFIANTS D'OBJET (OID) supplémentaires. Le format de ce fichier est décrit dans la section NOTES ci-dessous.
- -dump
- Décharger les données inconnues au format hexadécimal.
- -dlimit nombre
- Comme -dump, mais seuls les premiers nombre octets sont copiés.
- -strparse décalage
- Analyser les octets du contenu de l'objet ASN.1 à partir du décalage (« offset »). Cette option peut être utilisée plusieurs fois pour explorer en profondeur une structure imbriquée.
- -genstr chaîne, -genconf fichier
- Générer des données codées basées sur chaîne, fichier ou les deux en utilisant le format ASN1_generate_nconf(3). Si seul fichier est présent, la chaîne est obtenue à partir de la section par défaut utilisant le nom asn1. Les données encodées sont traitées par l'analyseur ASN1 et affichées comme si elles provenaient d'un fichier. Le contenu peut ainsi être examiné et écrit dans un fichier à l'aide de l'option -out.
- -strictpem
- Si cette option est utilisée, -inform est ignorée. Sans cette option toutes les données du fichier d'entrée au format PEM seront traitées comme si elles étaient encodées en base64 et traitées que les marqueurs PEM normaux BEGIN et END soient présents ou non. Cette option ignorera les données précédant le marqueur BEGIN ou suivant le marqueur END dans un fichier PEM.
- -item nom
- Tenter de décoder et d'afficher les données comme un nom ASN1_ITEM. L'option peut être utilisée pour afficher les champs de toute structure ASN.1 prise en charge si le type est connu.
Sortie
La sortie contiendra typiquement des lignes comme celles-ci :
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 fait partie d'un certificat auto-signé. Chaque ligne débute par le décalage en décimal. « d=XX » indique la profondeur actuelle. La profondeur est augmentée dans la portée d’un SET ou d'une SEQUENCE. « hl=XX » donne la longueur de l'en-tête (octets d'étiquette et de longueur) du type actuel. « l=XX » donne la longueur des octets du contenu.
L'option -i peut être utilisée pour rendre la sortie plus lisible.
Certaines connaissances sur la structure ASN.1 sont nécessaires pour interpréter la sortie.
Dans cet exemple, la chaîne de bits (BIT STRING) au décalage 229 correspond à la clé publique du certificat. Les octets de ce contenu contiendront les informations de la clé publique. Cela peut être examiné à l'aide de 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
If an OID is not part of OpenSSL's internal table it will be represented in numerical form (for example 1.2.3.4). The file passed to the -oid option allows additional OIDs to be included. Each line consists of three columns, the first column is the OID in numerical format and should be followed by white space. The second column is the "short name" which is a single word followed by whitespace. The final column is the rest of the line and is the "long name". Example:
« 1.2.3.4 Nomcourt Un nom long »
Pour tout OID associé à un nom court et un nom long, cette commande affichera le nom long.
EXEMPLES
Analyser un fichier :
openssl asn1parse -in fichier.pem
Analyser un fichier DER :
openssl asn1parse -inform DER -in fichier.der
Générer une chaîne UTF-8 (UTF8String) simple :
openssl asn1parse -genstr 'UTF8:Bonjour le monde'
Generate and write out a UTF8String, don't print parsed output:
openssl asn1parse -genstr 'UTF8:Bonjour le monde' -noout -out utf8.der
Générer à l'aide d'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
Des options devraient exister pour modifier le format des lignes de sortie. La sortie de certains types ASN.1 n'est pas bien gérée (voire pas du tout).
VOIR AUSSI
COPYRIGHT
Copyright 2000-2023 Les auteurs du projet OpenSSL. Tous droits réservés.
Sous licence Apache 2.0 (la « Licence »). Vous ne pouvez utiliser ce fichier que conformément à la Licence. Vous trouverez une copie dans le fichier LICENSE de la distribution du source ou à l'adresse https://www.openssl.org/source/license.html.
TRADUCTION
La traduction française de cette page de manuel a été créée par Nicolas François <nicolas.francois@centraliens.net>, David Prévot <david@tilapin.org>, Oliver Hamm <oliver.c.hamm@gmail.com> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.
5 août 2025 | 3.5.2 |