1、 I n t e r n a t i o n a l T e l e c o m m u n i c a t i o n U n i o n ITU-T X.680 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (08/2015) SERIES X: DATA NETWORKS, OPEN SYSTEM COMMUNICATIONS AND SECURITY OSI networking and system aspects Abstract Syntax Notation One (ASN.1) Information technology
2、Abstract Syntax Notation One (ASN.1): Specification of basic notation Recommendation ITU-T X.680 ITU-T X-SERIES RECOMMENDATIONS DATA NETWORKS, OPEN SYSTEM COMMUNICATIONS AND SECURITY PUBLIC DATA NETWORKS Services and facilities X.1X.19 Interfaces X.20X.49 Transmission, signalling and switching X.50X
3、.89 Network aspects X.90X.149 Maintenance X.150X.179 Administrative arrangements X.180X.199 OPEN SYSTEMS INTERCONNECTION Model and notation X.200X.209 Service definitions X.210X.219 Connection-mode protocol specifications X.220X.229 Connectionless-mode protocol specifications X.230X.239 PICS proform
4、as X.240X.259 Protocol Identification X.260X.269 Security Protocols X.270X.279 Layer Managed Objects X.280X.289 Conformance testing X.290X.299 INTERWORKING BETWEEN NETWORKS General X.300X.349 Satellite data transmission systems X.350X.369 IP-based networks X.370X.379 MESSAGE HANDLING SYSTEMS X.400X.
5、499 DIRECTORY X.500X.599 OSI NETWORKING AND SYSTEM ASPECTS Networking X.600X.629 Efficiency X.630X.639 Quality of service X.640X.649 Naming, Addressing and Registration X.650X.679 Abstract Syntax Notation One (ASN.1) X.680X.699 OSI MANAGEMENT Systems management framework and architecture X.700X.709
6、Management communication service and protocol X.710X.719 Structure of management information X.720X.729 Management functions and ODMA functions X.730X.799 SECURITY X.800X.849 OSI APPLICATIONS Commitment, concurrency and recovery X.850X.859 Transaction processing X.860X.879 Remote operations X.880X.8
7、89 Generic applications of ASN.1 X.890X.899 OPEN DISTRIBUTED PROCESSING X.900X.999 INFORMATION AND NETWORK SECURITY X.1000X.1099 SECURE APPLICATIONS AND SERVICES X.1100X.1199 CYBERSPACE SECURITY X.1200X.1299 SECURE APPLICATIONS AND SERVICES X.1300X.1399 CYBERSECURITY INFORMATION EXCHANGE X.1500X.159
8、9 CLOUD COMPUTING SECURITY X.1600X.1699 For further details, please refer to the list of ITU-T Recommendations. Rec. ITU-T X.680 (08/2015) i INTERNATIONAL STANDARD ISO/IEC 8824-1 RECOMMENDATION ITU-T X.680 Information technology Abstract Syntax Notation One (ASN.1): Specification of basic notation S
9、ummary Recommendation ITU-T X.680 | ISO/IEC 8824-1 provides a notation called Abstract Syntax Notation One (ASN.1) for defining the syntax of information data. It defines a number of simple data types and specifies a notation for referencing these types and for specifying values of these types. The
10、ASN.1 notations can be applied whenever it is necessary to define the abstract syntax of information without constraining in any way how the information is encoded for transmission. History Edition Recommendation Approval Study Group Unique ID* 1.0 ITU-T X.680 1994-07-01 7 11.1002/1000/3040 1.1 ITU-
11、T X.680 (1994) Amd. 1 1995-04-10 7 11.1002/1000/3041 1.2 ITU-T X.680 (1994) Technical Cor. 1 1995-11-21 7 11.1002/1000/3282 1.3 ITU-T X.680 (1994) Technical Cor. 2 1997-12-12 7 11.1002/1000/4180 1.4 ITU-T X.680 (1994) Amd. 1/Technical Cor.1 1997-12-12 7 11.1002/1000/4179 1.5 ITU-T X.680 (1994) Amd.
12、2 1997-12-12 7 11.1002/1000/4181 2.0 ITU-T X.680 1997-12-12 7 11.1002/1000/4449 2.1 ITU-T X.680 (1997) Technical Cor. 1 1999-06-18 7 11.1002/1000/4700 2.2 ITU-T X.680 (1997) Amd. 1 1999-06-18 7 11.1002/1000/4698 2.3 ITU-T X.680 (1997) Amd. 2 1999-06-18 7 11.1002/1000/4699 2.4 ITU-T X.680 (1997) Tech
13、nical Cor. 2 2000-03-31 7 11.1002/1000/5046 2.5 ITU-T X.680 (1997) Technical Cor. 3 2001-02-02 7 11.1002/1000/5331 2.6 ITU-T X.680 (1997) Technical Cor. 4 2001-03-15 7 11.1002/1000/5332 2.7 ITU-T X.680 (1997) Amd. 3 2001-10-29 7 11.1002/1000/5562 2.8 ITU-T X.680 (1997) Amd. 4 2001-10-29 7 11.1002/10
14、00/5563 3.0 ITU-T X.680 2002-07-14 17 11.1002/1000/6085 3.1 ITU-T X.680 (2002) Amd. 1 2003-10-29 17 11.1002/1000/7019 3.2 ITU-T X.680 (2002) Amd. 2 2004-08-29 17 11.1002/1000/7291 3.3 ITU-T X.680 (2002) Technical Cor. 1 2005-05-14 17 11.1002/1000/8512 3.4 ITU-T X.680 (2002) Amd. 3 2006-06-13 17 11.1
15、002/1000/8836 3.5 ITU-T X.680 (2002) Amd. 4 2007-05-29 17 11.1002/1000/9105 4.0 ITU-T X.680 2008-11-13 17 11.1002/1000/9604 4.1 ITU-T X.680 (2008) Cor. 1 2011-10-14 17 11.1002/1000/11376 4.2 ITU-T X.680 (2008) Cor. 2 2014-03-01 17 11.1002/1000/12144 5.0 ITU-T X.680 2015-08-13 17 11.1002/1000/12479 *
16、 To access the Recommendation, type the URL http:/handle.itu.int/ in the address field of your web browser, followed by the Recommendations unique ID. For example, http:/handle.itu.int/11.1002/1000/11830-en. ii Rec. ITU-T X.680 (08/2015) FOREWORD The International Telecommunication Union (ITU) is th
17、e United Nations specialized agency in the field of telecommunications, information and communication technologies (ICTs). The ITU Telecommunication Standardization Sector (ITU-T) is a permanent organ of ITU. ITU-T is responsible for studying technical, operating and tariff questions and issuing Rec
18、ommendations on them with a view to standardizing telecommunications on a worldwide basis. The World Telecommunication Standardization Assembly (WTSA), which meets every four years, establishes the topics for study by the ITU-T study groups which, in turn, produce Recommendations on these topics. Th
19、e approval of ITU-T Recommendations is covered by the procedure laid down in WTSA Resolution 1. In some areas of information technology which fall within ITU-Ts purview, the necessary standards are prepared on a collaborative basis with ISO and IEC. NOTE In this Recommendation, the expression “Admin
20、istration“ is used for conciseness to indicate both a telecommunication administration and a recognized operating agency. Compliance with this Recommendation is voluntary. However, the Recommendation may contain certain mandatory provisions (to ensure, e.g., interoperability or applicability) and co
21、mpliance with the Recommendation is achieved when all of these mandatory provisions are met. The words “shall“ or some other obligatory language such as “must“ and the negative equivalents are used to express requirements. The use of such words does not suggest that compliance with the Recommendatio
22、n is required of any party. INTELLECTUAL PROPERTY RIGHTSITU draws attention to the possibility that the practice or implementation of this Recommendation may involve the use of a claimed Intellectual Property Right. ITU takes no position concerning the evidence, validity or applicability of claimed
23、Intellectual Property Rights, whether asserted by ITU members or others outside of the Recommendation development process. As of the date of approval of this Recommendation, ITU had not received notice of intellectual property, protected by patents, which may be required to implement this Recommenda
24、tion. However, implementers are cautioned that this may not represent the latest information and are therefore strongly urged to consult the TSB patent database at http:/www.itu.int/ITU-T/ipr/. ITU 2015 All rights reserved. No part of this publication may be reproduced, by any means whatsoever, with
25、out the prior written permission of ITU. Rec. ITU-T X.680 (08/2015) iii 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
26、. 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
27、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 . 11 5.7 Recursion 11 5.8 References to permitted sequences of lexical items 11 5.9 References to a lexical item . 11 5.10
28、 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 14 11 The ASN.1 character set . 15 12 ASN.1 lexical items 16
29、 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.1
30、3 XML hexadecimal string item . 19 12.14 Character strings 19 12.15 XML character string item 20 iv Rec. ITU-T X.680 (08/2015) 12.16 The simple character string lexical item 22 12.17 Time value character strings 22 12.18 XML time value character string item . 22 12.19 The property and setting names
31、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 ite
32、m . 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.
33、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 .
34、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 45 25 Notation for sequence types 45 26 Notation for sequence-of types .
35、48 27 Notation for set types 51 28 Notation for set-of types . 52 29 Notation for choice types 52 30 Notation for selection types 54 31 Notation for prefixed types . 55 31.1 General 55 31.2 The tagged type . 55 31.3 The encoding prefixed type . 56 32 Notation for the object identifier type 57 33 Not
36、ation for the relative object identifier type 58 34 Notation for the OID internationalized resource identifier type . 60 35 Notation for the relative OID internationalized resource identifier type 60 36 Notation for the embedded-pdv type 61 Rec. ITU-T X.680 (08/2015) v 37 Notation for the external t
37、ype . 63 38 The time type 64 38.1 General 64 38.2 Time properties and settings of time abstract values . 64 38.3 Basic value notation and XML value notation for time abstract values with specified property settings 68 38.4 Useful time types . 72 39 The character string types . 74 40 Notation for cha
38、racter string types 74 41 Definition of restricted character string types . 75 42 Naming characters, collections and property category sets 79 43 Canonical order of characters . 82 44 Definition of unrestricted character string types . 83 45 Notation for types defined in clauses 46 to 48 84 46 Gener
39、alized time . 84 47 Universal time 86 48 The object descriptor type 87 49 Constrained types . 87 50 Element set specification 88 51 Subtype elements 90 51.1 General 90 51.2 Single value . 92 51.3 Contained subtype . 92 51.4 Value range . 92 51.5 Size constraint . 92 51.6 Type constraint 93 51.7 Perm
40、itted alphabet . 93 51.8 Inner subtyping 93 51.9 Pattern constraint . 95 51.10 Property settings 95 51.11 Duration range . 96 51.12 Time point range . 96 51.13 Recurrence range . 97 52 The extension marker . 97 53 The exception identifier 99 54 Encoding control sections . 99 Annex A ASN.1 regular ex
41、pressions 101 A.1 Definition 101 A.2 Metacharacters 101 Annex B The defined time types . 105 B.1 General 105 B.2 The ASN.1 defined time types module 105 Annex C Rules for type and value Compatibility 110 C.1 The need for the value mapping concept (tutorial introduction) . 110 C.2 Value mappings . 11
42、2 C.3 Identical type definitions . 113 C.4 Specification of value mappings 115 C.5 Additional value mappings defined for the character string types . 115 C.6 Specific type and value compatibility requirements 116 C.7 Examples . 117 vi Rec. ITU-T X.680 (08/2015) Annex D Assigned object identifier and
43、 OID internationalized resource identifier values . 119 D.1 Values assigned in this Recommendation | International Standard . 119 D.2 Object identifiers in the ASN.1 and encoding rules standards 119 Annex E Encoding references . 121 Annex F Assignment and use of arcs in the International Object Iden
44、tifier tree . 122 F.1 General 122 F.2 Use of the International Object Identifier tree by the object identifier (OBJECT IDENTIFIER) type 122 F.3 Use of the International Object Identifier tree by the OID internationalized resource identifier OID-IRI) type . 122 Annex G Examples and hints 123 G.1 Exam
45、ple of a personnel record 123 G.1.1 Informal description of Personnel Record . 123 G.1.2 ASN.1 description of the record structure . 123 G.1.3 ASN.1 description of a record value . 124 G.2 Guidelines for use of the notation . 124 G.2.1 Boolean . 125 G.2.2 Integer . 125 G.2.3 Enumerated . 125 G.2.4 R
46、eal . 126 G.2.5 Bit string 127 G.2.6 Octet string 128 G.2.7 UniversalString, BMPString and UTF8String . 129 G.2.8 CHARACTER STRING . 129 G.2.9 Null 130 G.2.10 Sequence and sequence-of . 130 G.2.11 Set and set-of . 132 G.2.12 Tagged . 134 G.2.13 Choice . 135 G.2.14 Selection type 137 G.2.16 Embedded-
47、pdv 138 G.2.17 External . 138 G.2.18 Instance-of . 138 G.2.19 Object identifier 139 G.2.20 OID internationalized resource identifier 139 G.2.21 Relative object identifier . 139 G.3 Value notation and property settings (TIME type and useful time types) 140 G.3.1 Date . 140 G.3.2 Time of day . 140 G.3
48、.3 Date and time of day . 141 G.3.4 Time interval . 141 G.3.5 Recurring interval 142 G.4 Identifying abstract syntaxes . 142 G.5 Subtypes 143 Annex H Tutorial annex on ASN.1 character strings 147 H.1 Character string support in ASN.1 147 H.2 The UniversalString, UTF8String and BMPString types 147 H.
49、3 On ISO/IEC 10646 conformance requirements . 148 H.4 Recommendations for ASN.1 users on ISO/IEC 10646 conformance 148 H.5 Adopted subsets as parameters of the abstract syntax . 149 H.6 The CHARACTER STRING type 149 Annex I Tutorial annex on the ASN.1 model of type extension . 150 I.1 Overview . 150 I.2 Meaning of version numbers . 151 I.3 Requirements on encoding rules 152 I.4 Combination of (possibly extensible) constraints 152 Rec. ITU-T X.680 (08/2015)