한국   대만   중국   일본 
ASN.1 ? Wikipedia Aller au contenu

ASN.1

Un article de Wikipedia, l'encyclopedie libre.

ASN.1 ( Abstract Syntax Notation One ) est un standard international specifiant une notation destinee a decrire des structures de donnees dans le secteur des telecommunications et des reseaux informatiques . La description en ASN.1 d'une structure de donnees a pour but d'obtenir une specification de la structure qui est independante d'un encodage lie a un materiel particulier et sans ambiguite.

L'ASN.1 est un standard defini conjointement par l' organisation internationale de normalisation , la commission electrotechnique internationale et l' union internationale des telecommunications . La notation est decrite dans la serie X.680 [ 1 ] et les encodages dans la serie X.690 [ 2 ] .

Support des langages [ modifier | modifier le code ]

ASN.1 est une notation pour declarer des types de donnees . Cette notation ne decrit pas comment manipuler une variable basee sur un type ASN.1. Certains langages supportent nativement ASN.1 comme le langage de modelisation executable SDL (Specification and Description Language) ou comme la notation de test de conformite TTCN-3 (Testing and Test Control Notation). Dans ces deux langages il suffit d'importer un module ASN.1 et on peut alors declarer une variable basee sur un des types declares dans le module ASN.1. Si le langage que l'on souhaite utiliser ne supporte pas nativement l'ASN.1, on peut utiliser des outils qui transforment la declaration ASN.1 dans une declaration d'un langage de programmation comme un header C.

Encodages [ modifier | modifier le code ]

Il existe plusieurs regles d'encodage standards pour les donnees decrites par l'ASN.1. Le standard propose les regles suivantes :

L'Encoding Control Notation permet a l'utilisateur de definir son propre encodage de maniere standard.

Exemple [ modifier | modifier le code ]

Client ::= SEQUENCE {
  nom            PrintableString (SIZE (1..40)),
  rue            PrintableString (SIZE (1..50)) OPTIONAL,
  codepostal     NumericString   (SIZE (10)   ),
  ville          PrintableString (SIZE (1..30)),
  pays           PrintableString (SIZE (1..20)) DEFAULT pays-pardefaut 
  }
pays-pardefaut PrintableString ::= "France"

Domaines d'application [ modifier | modifier le code ]

Ce standard est mis en œuvre dans un grand nombre d'applications (gestion de reseaux, messagerie, securite, telephonie, Internet , etc.).

L'ASN.1 est par ailleurs l'un des formats utilises par le NCBI .

Implementations [ modifier | modifier le code ]

GNU Libtasn1 [ modifier | modifier le code ]

GNU Libtasn1 [ 14 ] est une bibliotheque C permettant la manipulation d'objets ASN.1, y compris pour les encodages BER / DER . C'est un logiciel libre ecrit a l'origine par Fabio Fiorina et aujourd'hui maintenu pour le projet GNU par Simon Josefsson et Nikos Mavrogiannopoulos. Cette brique logicielle est utilisee par GnuTLS pour traiter la structure de certificats X.509 et par GNU Shishi pour le traitement de structures Kerberos version 5.

Historique [ modifier | modifier le code ]

A l'origine, ce standard est specifie en 1984 dans une partie de la recommandation X.409 du CCITT . Toutefois, en 1988, faisant suite a son large usage, la specification de l'ASN.1 devient l'objet du document CCITT X.208. Finalement, ce document sera retire en 2002 et le standard ASN.1 est maintenant decrit par les documents X.680 a X.683 mis a jour en 2009 (les documents ISO/CEI ont pour references 8824-1 a 8824-4). Plusieurs encodages de l'ASN.1 font l'objet des recommandations X.690 a X.695 ; notamment, les encodages BER, CER et DER sont specifies par le X.690.

Notes et references [ modifier | modifier le code ]

Voir aussi [ modifier | modifier le code ]

Article connexe [ modifier | modifier le code ]

Liens externes [ modifier | modifier le code ]

Liste des editeurs de solutions ASN.1 [ modifier | modifier le code ]