Information technology — Abstract Syntax Notation One (ASN.1) — Part 1: Specification of basic notation

This document provides a standard notation called Abstract Syntax Notation One (ASN.1) that is used for the definition of data types, values, and constraints on data types. This document: – defines a number of simple types, with their tags, and specifies a notation for referencing these types and for specifying values of these types; – defines mechanisms for constructing new types from more basic types, and specifies a notation for defining such types and assigning them tags, and for specifying values of these types; – defines character sets (by reference to other Recommendations and/or International Standards) for use within ASN.1. The ASN.1 notation can be applied whenever it is necessary to define the abstract syntax of information. The ASN.1 notation is referenced by other standards which define encoding rules for the ASN.1 types.

Technologies de l'information — Notation de syntaxe abstraite numéro un (ASN.1) — Partie 1: Spécification de la notation de base

General Information

Status
Published
Publication Date
29-Jun-2021
Current Stage
6060 - International Standard published
Start Date
30-Jun-2021
Completion Date
30-Jun-2021
Ref Project

RELATIONS

Buy Standard

Standard
ISO/IEC 8824-1:2021 - Information technology -- Abstract Syntax Notation One (ASN.1)
English language
181 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (sample)

INTERNATIONAL ISO/IEC
STANDARD 8824-1
Sixth edition
2021-06
Information technology — Abstract
Syntax Notation One (ASN.1) —
Part 1:
Specification of basic notation
Technologies de l'information — Notation de syntaxe abstraite
numéro un (ASN.1) —
Partie 1: Spécification de la notation de base
Reference number
ISO/IEC 8824-1:2021(E)
ISO/IEC 2021
---------------------- Page: 1 ----------------------
ISO/IEC 8824-1:2021(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2021

All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may

be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting

on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address

below or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO/IEC 2021 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 8824-1:2021(E)
Foreword

ISO (the International Organization for Standardization) and IEC (the International Electrotechnical

Commission) form the specialized system for worldwide standardization. National bodies that are

members of ISO or IEC participate in the development of International Standards through technical

committees established by the respective organization to deal with particular fields of technical activity.

ISO and IEC technical committees collaborate in fields of mutual interest. Other international

organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the

work.

The procedures used to develop this document and those intended for its further maintenance are

described in the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed for

the different types of document should be noted. This document was drafted in accordance with the

editorial rules of the ISO/IEC Directives, Part 2 (see www.iso.org/directives or
www.iec.ch/members_experts/refdocs)

Attention is drawn to the possibility that some of the elements of this document may be the subject of

patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights. Details

of any patent rights identified during the development of the document will be in the Introduction and/or

on the ISO list of patent declarations received (see www.iso.org/patents) or the IEC list of patent

declarations received (see patents.iec.ch).

Any trade name used in this document is information given for the convenience of users and does not

constitute an endorsement.

For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and

expressions related to conformity assessment, as well as information about ISO's adherence to the

World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT)

see www.iso.org/iso/foreword.html. In the IEC, see www.iec.ch/understanding-standards.

This document was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,

Subcommittee SC 6, Telecommunications and information exchange between systems, in collaboration

with ITU-T. The identical text is published as ITU-T X.680 (02/2021).

This sixth edition cancels and replaces the fifth edition (ISO/IEC 8824-1:2015), which has been

technically revised. It also incorporates ISO/IEC 8824-1:2015/Amd 1:2019, ISO/IEC 8824-1:2015/

Cor 1:2017, ISO/IEC 8824-1:2015/Cor 2:2018, ISO/IEC 8824-1:2015/Cor 3:2018.

A list of all parts in the ISO/IEC 8824 series can be found on the ISO and IEC websites.

Any feedback or questions on this document should be directed to the user’s national standards body. A

complete listing of these bodies can be found at www.iso.org/members.html and www.iec.ch/national-

committees.
© ISO/IEC 2021 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 8824-1:2021(E)
CONTENTS
Page

Introduction ............................................................................................................................................................... viii

1 Scope .............................................................................................................................................................. 1

2 Normative references ..................................................................................................................................... 1

2.1 Identical Recommendations | International Standards ........................................................................ 1

2.2 Additional references .......................................................................................................................... 2

3 Definitions ...................................................................................................................................................... 2

3.1 International Object Identifier tree specification ................................................................................. 2

3.2 Information object specification .......................................................................................................... 2

3.3 Constraint specification ....................................................................................................................... 3

3.4 Parameterization of ASN.1 specification ............................................................................................ 3

3.5 Structure for identification of organizations ........................................................................................ 3

3.6 Universal Multiple-Octet Coded Character Set (UCS) ....................................................................... 3

3.7 Representation of dates and times ....................................................................................................... 3

3.8 Additional definitions .......................................................................................................................... 4

4 Abbreviations ................................................................................................................................................. 9

5 Notation .......................................................................................................................................................... 9

5.1 General ................................................................................................................................................ 9

5.2 Productions .......................................................................................................................................... 10

5.3 The alternative collections .................................................................................................................. 10

5.4 Non-spacing indicator ......................................................................................................................... 10

5.5 Example of a production ..................................................................................................................... 10

5.6 Layout ................................................................................................................................................. 10

5.7 Recursion ............................................................................................................................................ 11

5.8 References to permitted sequences of lexical items ............................................................................ 11

5.9 References to a lexical item ................................................................................................................ 11

5.10 Short-hand notations ........................................................................................................................... 11

5.11 Value references and the typing of values ........................................................................................... 12

6 The ASN.1 model of type extension .............................................................................................................. 12

7 Extensibility requirements on encoding rules ................................................................................................. 12

8 Tags ................................................................................................................................................................ 13

9 Encoding instructions ..................................................................................................................................... 14

10 Use of the ASN.1 notation .............................................................................................................................. 15

11 The ASN.1 character set ................................................................................................................................. 15

12 ASN.1 lexical items ........................................................................................................................................ 16

12.1 General rules ....................................................................................................................................... 16

12.2 Type references ................................................................................................................................... 17

12.3 Identifiers ............................................................................................................................................ 17

12.4 Value references .................................................................................................................................. 17

12.5 Module references ............................................................................................................................... 17

12.6 Comments ........................................................................................................................................... 17

12.7 Empty lexical item .............................................................................................................................. 18

12.8 Numbers .............................................................................................................................................. 18

12.9 Real numbers ....................................................................................................................................... 18

12.10 Binary strings ...................................................................................................................................... 18

12.11 XML binary string item ...................................................................................................................... 18

12.12 Hexadecimal strings ............................................................................................................................ 18

12.13 XML hexadecimal string item ............................................................................................................. 19

12.14 Character strings.................................................................................................................................. 19

12.15 XML character string item .................................................................................................................. 20

12.16 The simple character string lexical item .............................................................................................. 22

Rec. ITU-T X.680 (02/2021) iii
© ISO/IEC 2021 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 8824-1:2021(E)

12.17 Time value character strings ............................................................................................................... 22

12.18 XML time value character string item ................................................................................................ 22

12.19 The property and setting names lexical item ....................................................................................... 22

12.20 Assignment lexical item ...................................................................................................................... 22

12.21 Range separator ................................................................................................................................... 22

12.22 Ellipsis ................................................................................................................................................. 22

12.23 Left version brackets ........................................................................................................................... 23

12.24 Right version brackets ......................................................................................................................... 23

12.25 Encoding references ............................................................................................................................ 23

12.26 Integer-valued Unicode labels ............................................................................................................. 23

12.27 Non-integer Unicode labels ................................................................................................................. 23

12.28 XML end tag start item ....................................................................................................................... 23

12.29 XML single tag end item ..................................................................................................................... 23

12.30 XML boolean true item ....................................................................................................................... 23

12.31 XML boolean extended-true item ....................................................................................................... 24

12.32 XML boolean false item ...................................................................................................................... 24

12.33 XML boolean extended-false item ...................................................................................................... 24

12.34 XML real not-a-number item .............................................................................................................. 24

12.35 XML real infinity item ........................................................................................................................ 24

12.36 XML tag names for ASN.1 types ........................................................................................................ 25

12.37 Single character lexical items .............................................................................................................. 26

12.38 Reserved words ................................................................................................................................... 26

13 Module definition ........................................................................................................................................... 27

14 Referencing type and value definitions .......................................................................................................... 31

15 Notation to support references to ASN.1 components ................................................................................... 32

16 Assigning types and values ............................................................................................................................ 33

17 Definition of types and values ........................................................................................................................ 35

18 Notation for the boolean type ......................................................................................................................... 38

19 Notation for the integer type ........................................................................................................................... 38

20 Notation for the enumerated type ................................................................................................................... 39

21 Notation for the real type ................................................................................................................................ 41

22 Notation for the bitstring type ........................................................................................................................ 42

23 Notation for the octetstring type ..................................................................................................................... 44

24 Notation for the null type ............................................................................................................................... 44

25 Notation for sequence types ........................................................................................................................... 45

26 Notation for sequence-of types ....................................................................................................................... 48

27 Notation for set types ..................................................................................................................................... 50

28 Notation for set-of types ................................................................................................................................. 51

29 Notation for choice types ................................................................................................................................ 52

30 Notation for selection types ............................................................................................................................ 54

31 Notation for prefixed types ............................................................................................................................. 54

31.1 General ................................................................................................................................................ 54

31.2 The tagged type ................................................................................................................................... 55

31.3 The encoding prefixed type ................................................................................................................. 55

32 Notation for the object identifier type ............................................................................................................ 56

33 Notation for the relative object identifier type ............................................................................................... 58

34 Notation for the OID internationalized resource identifier type ..................................................................... 59

35 Notation for the relative OID internationalized resource identifier type ........................................................ 60

36 Notation for the embedded-pdv type .............................................................................................................. 60

37 Notation for the external type ......................................................................................................................... 62

iv Rec. ITU-T X.680 (02/2021)
© ISO/IEC 2021 – All rights reserved
---------------------- Page: 5 ----------------------
ISO/IEC 8824-1:2021(E)

38 The time type .................................................................................................................................................. 63

38.1 General ................................................................................................................................................ 63

38.2 Time properties and settings of time abstract values ........................................................................... 63

38.3 Basic value notation and XML value notation for time abstract values with specified property

settings ................................................................................................................................................ 67

38.4 Useful time types ................................................................................................................................. 71

39 The character string types ............................................................................................................................... 72

40 Notation for character string types ................................................................................................................. 73

41 Definition of restricted character string types ................................................................................................ 73

42 Naming characters, collections and property category sets ............................................................................ 77

43 Canonical order of characters ......................................................................................................................... 81

44 Definition of unrestricted character string types ............................................................................................ 82

45 Notation for types defined in clauses 46 to 48 ............................................................................................... 83

46 Generalized time ............................................................................................................................................. 83

47 Universal time ................................................................................................................................................ 84

48 The object descriptor type .............................................................................................................................. 85

49 Constrained types ........................................................................................................................................... 86

50 Element set specification ................................................................................................................................ 87

51 Subtype elements ............................................................................................................................................ 89

51.1 General ................................................................................................................................................ 89

51.2 Single value ......................................................................................................................................... 90

51.3 Contained subtype ............................................................................................................................... 90

51.4 Value range ......................................................................................................................................... 90

51.5 Size constraint ..................................................................................................................................... 91

51.6 Type constraint .................................................................................................................................... 91

51.7 Permitted alphabet ............................................................................................................................... 91

51.8 Inner subtyping.................................................................................................................................... 92

51.9 Pattern constraint ................................................................................................................................. 93

51.10 Property settings .................................................................................................................................. 93

51.11 Duration range ..................................................................................................................................... 94

51.12 Time point range ................................................................................................................................. 95

51.13 Recurrence range ................................................................................................................................. 95

52 The extension marker ..................................................................................................................................... 95

53 The exception identifier .................................................................................................................................. 97

54 Encoding control sections ............................................................................................................................... 98

A.1 Definition ............................................................................................................................................ 99

A.2 Metacharacters .................................................................................................................................... 99

B.1 General ................................................................................................................................................ 103

B.2 The ASN.1 defined time types module ............................................................................................... 103

C.1 The need for the value mapping concept (tutorial introduction) ......................................................... 108

C.2 Value mappings ................................................................................................................................... 110

C.3 Identical type definitions ..................................................................................................................... 111

C.4 Specification of value mappings ......................................................................................................... 113

C.5 Additional value mappings defined for the character string types ...................................................... 113

C.6 Specific type and value compatibility requirements ............................................................................ 114

C.7 Examples ............................................................................................................................................. 115

C.7.2 Example 1 ......................................................................................................................... 115

C.7.3 Example 2 ......................................................................................................................... 115

C.7.4 Example 3 ......................................................................................................................... 115

C.7.5 Example 4 ......................................................................................................................... 115

C.7.6 Example 5 ......................................................................................................................... 115

C.7.7 Example 6 ......................................................................................................................... 116

Rec. ITU-T X.680 (02/2021) v
© ISO/IEC 2021 – All rights reserved
---------------------- Page: 6 ----------------------
ISO/IEC 8824-1:2021(E)

D.1 Values assigned in this Recommendation | International Standard ..................................................... 117

D.2 Object identifiers in the ASN.1 and encoding rules standards ............................................................ 117

F.1 General ................................................................................................................................................ 120

F.2 Use of the International Object Identifier tree by the object identifier (OBJECT IDENTIFIER)

type ...................................................................................................................................................... 120

F.3 Use of the International Object Identifier tree by the OID internationalized resource identifier

(OID-IRI) type .................................................................................................................................. 120

G.1 Example of a personnel record ............................................................................................................ 121

G.1.1 Informal description of Personnel Record ......................................................................... 121

G.1.2 ASN.1 description of the record structure ......................................................................... 121

G.1.3 ASN.1 description of a record value ................................................................................. 122

G.2 Guidelines for use of the notation ....................................................................................................... 122

G.2.1 Boolean ............................................................................................................................. 123

...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.