10
votes

J'ai besoin d'un exemple pour comprendre le marquage implicite dans ASN.1


0 commentaires

3 Réponses :


2
votes

Je trouve Ce fil pour être assez clair, il Contient également (de petits) exemples, même difficiles, ils sont des exemples assez «extrêmes» à cela. Des exemples plus «réalistes» utilisant des balises implicites peuvent être trouvés dans Cette page .


1 commentaires

J'ai été perdu dans les exemples



49
votes

dans l'ASN.1 Marquage, en fait, dessert deux objectifs: en tapant et en nommage. Taper signifie qu'il indique un fichier / décodeur quel type de type de données (est-il une chaîne, un entier, un booléen, un ensemble, etc.), le nommage signifie que s'il ya plusieurs champs du même type et certains ( ou tous) sont facultatifs, il indique à l'entrée / décodeur pour lequel le domaine de la valeur est.

Si vous comparez ASN.1 à, disons, JSON et vous regardez les données JSON suivantes: P >

[1](xxx), UTF8String(yyy)


3 commentaires

Référence: Osqa-ask.wireshark.org/Questions/8277/... . Ici, a) A :: = Entier avec valeur 5 est codé comme hex 02 01 05, B) B :: = [2] Integer implicite avec la valeur 5 est codé comme hex 82 01 05 et C) C :: = [2 ] Entier explicite avec la valeur 5 est codé comme hexagonal A2 03 02 01 05. Quelqu'un pourrait-il s'il vous plaît expliquer l'affaire B et Case C!


@AVA Si vous avez une question, pourquoi ne posez-vous pas une question? Pourquoi mettez-vous votre question dans un commentaire? Il s'agit donc de poser des questions, alors allez-y et posez une question.


@Mecki La comparaison JSON est incroyablement utile - merci pour cela



1
votes

Utilisation de la réponse acceptée comme exemple de codage: xxx

Un exemple de codage serait:

 Entrez la description de l'image ici

La séquence interne s'effondre dans:

< img src = "https://i.stack.imgur.com/zsolo.png" alt = "Entrez la description de l'image ici">

Explicite en option

si Vous avez alors Valeurs explicite en option : xxx

La séquence codée peut être la suivante:

  • Séquence 30 15 A1 02 02 02 EE 0C 0E 41 20 66 75 6E 6E 79 20 6B 69 74 74 65 6E (21 octets) < / em>

    et la séquence interne tombe dans:

    • contexte [1] INTEGER : A1 02 02 02 ee 750 (2 octets)
    • utf8string : 0c 0e 41 20 66 75 6e 6e 79 20 6B 69 74 74 65 6E "un chaton drôle" (14 octets)


0 commentaires