ISO/IEC 8825-7:2015
(Main)Information technology — ASN.1 encoding rules — Part 7: Specification of Octet Encoding Rules (OER)
Information technology — ASN.1 encoding rules — Part 7: Specification of Octet Encoding Rules (OER)
ISO/IEC 8825-7:2015 specifies a set of Basic Octet Encoding Rules (BASIC-OER) that may be used to derive a transfer syntax for values of the types defined in Rec. ITU-T X.680 | ISO/IEC 8824-1, Rec. ITU‑T X.681 | ISO/IEC 8824-2, Rec. ITU-T X.682 | ISO/IEC 8824-3, Rec. ITU-T X.683 | ISO/IEC 8824-4. This Recommendation | International Standard also specifies a set of Canonical Octet Encoding Rules (CANONICAL-OER) which provides constraints on the Basic Octet Encoding Rules and produces a unique encoding for any given ASN.1 value. It is implicit in the specification of these encoding rules that they are also to be used for decoding. The encoding rules specified in this Recommendation | International Standard: - are used at the time of communication; - are intended for use in circumstances where encoding/decoding speed is the major concern in the choice of encoding rules; - allow the extension of an abstract syntax by addition of extra values for all forms of extensibility described in Rec. ITU-T X.680 | ISO/IEC 8824‑1.
Technologies de l'information — Règles de codage ASN.1 — Partie 7: Spécification des règles de codage des octets (OER)
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 8825-7
Second edition
2015-11-15
Information technology —
ASN.1 encoding rules: Specification of
Octet Encoding Rules (OER)
Technologies de l'information -- Règles de codage ASN.1: Spécification
des règles de codage des octets (OER)
Reference number
ISO/IEC 8825-7:2015(E)
©
ISO/IEC 2015
---------------------- Page: 1 ----------------------
ISO/IEC 8825-7:2015(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2015
All rights reserved. Unless otherwise specified, 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
Case postale 56 CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2015 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 8825-7:2015(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. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
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.
This second edition cancels and replaces the first edition of ISO/IEC 8825-7:2014 which has been technically
revised.
ISO/IEC 8825-7 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.696 (08/2015).
© ISO/IEC 2015 – All rights reserved iii
---------------------- Page: 3 ----------------------
International Telecommunication Union
ITU-T X.696
(08/2015)
TELECOMMUNICATION
STANDARDIZATION SECTOR
OF ITU
SERIES X: DATA NETWORKS, OPEN SYSTEM
COMMUNICATIONS AND SECURITY
OSI networking and system aspects – Abstract Syntax
Notation One (ASN.1)
Information technology – ASN.1 encoding rules:
Specification of Octet Encoding Rules (OER)
Recommendation ITU-T X.696
---------------------- Page: 4 ----------------------
ITU-T X-SERIES RECOMMENDATIONS
DATA NETWORKS, OPEN SYSTEM COMMUNICATIONS AND SECURITY
PUBLIC DATA NETWORKS
Services and facilities X.1–X.19
Interfaces X.20–X.49
Transmission, signalling and switching X.50–X.89
Network aspects X.90–X.149
Maintenance X.150–X.179
Administrative arrangements X.180–X.199
OPEN SYSTEMS INTERCONNECTION
Model and notation X.200–X.209
Service definitions X.210–X.219
Connection-mode protocol specifications X.220–X.229
Connectionless-mode protocol specifications X.230–X.239
PICS proformas X.240–X.259
Protocol Identification X.260–X.269
Security Protocols X.270–X.279
Layer Managed Objects X.280–X.289
Conformance testing X.290–X.299
INTERWORKING BETWEEN NETWORKS
General X.300–X.349
Satellite data transmission systems X.350–X.369
IP-based networks X.370–X.379
MESSAGE HANDLING SYSTEMS X.400–X.499
DIRECTORY X.500–X.599
OSI NETWORKING AND SYSTEM ASPECTS
Networking X.600–X.629
Efficiency X.630–X.639
Quality of service X.640–X.649
Naming, Addressing and Registration X.650–X.679
Abstract Syntax Notation One (ASN.1) X.680–X.699
OSI MANAGEMENT
Systems management framework and architecture X.700–X.709
Management communication service and protocol X.710–X.719
Structure of management information X.720–X.729
Management functions and ODMA functions X.730–X.799
SECURITY X.800–X.849
OSI APPLICATIONS
Commitment, concurrency and recovery X.850–X.859
Transaction processing X.860–X.879
Remote operations X.880–X.889
Generic applications of ASN.1 X.890–X.899
OPEN DISTRIBUTED PROCESSING X.900–X.999
INFORMATION AND NETWORK SECURITY X.1000–X.1099
SECURE APPLICATIONS AND SERVICES X.1100–X.1199
CYBERSPACE SECURITY X.1200–X.1299
SECURE APPLICATIONS AND SERVICES X.1300–X.1399
CYBERSECURITY INFORMATION EXCHANGE X.1500–X.1599
CLOUD COMPUTING SECURITY X.1600–X.1699
For further details, please refer to the list of ITU-T Recommendations.
---------------------- Page: 5 ----------------------
INTERNATIONAL STANDARD ISO/IEC 8825-7
RECOMMENDATION ITU-T X.696
Information technology – ASN.1 encoding rules: Specification of
Octet Encoding Rules (OER)
Summary
Recommendation ITU-T X.696 | ISO/IEC 8825-7 specifies two sets of binary encoding rules that can be applied to values
of all ASN.1 types using less processing resources than the Basic Encoding Rules and its derivatives (described in
Rec. ITU-T X.690 | ISO/IEC 8825-1) and the Packed Encoding Rules (described in Rec. ITU-T X.691 | ISO/IEC 8825-2).
History
*
Edition Recommendation Approval Study Group Unique ID
1.0 ITU-T X.696 2014-08-29 17 11.1002/1000/12151
2.0 ITU-T X.696 2015-08-13 17 11.1002/1000/12487
____________________
*
To access the Recommendation, type the URL http://handle.itu.int/ in the address field of your web browser, followed by the
Recommendation's unique ID. For example, http://handle.itu.int/11.1002/1000/11830-en.
Rec. ITU-T X.696 (08/2015) i
---------------------- Page: 6 ----------------------
FOREWORD
The International Telecommunication Union (ITU) is the 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 Recommendations 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.
The 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-T's purview, the necessary standards are
prepared on a collaborative basis with ISO and IEC.
NOTE
In this Recommendation, the expression "Administration" 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 compliance 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 Recommendation is required of any party.
INTELLECTUAL PROPERTY RIGHTS
ITU 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 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 Recommendation. 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, without the prior
written permission of ITU.
ii Rec. ITU-T X.696 (08/2015)
---------------------- Page: 7 ----------------------
CONTENTS
Page
1 Scope . 1
2 Normative references . 1
2.1 Identical Recommendations | International Standards . 1
2.2 Additional references . 1
3 Definitions . 2
3.1 Specification of basic notation . 2
3.2 Information object specification . 2
3.3 Constraint specification . 2
3.4 Parameterization of ASN.1 specification . 2
3.5 Basic Encoding Rules (BER) . 2
3.6 Packed Encoding Rules (PER) . 2
3.7 Additional definitions . 2
4 Abbreviations . 4
5 Convention . 4
6 Encodings specified by this Recommendation | International Standard . 4
7 Conformance . 5
8 General provisions . 5
8.1 Use of the type notation . 5
8.2 Constraints . 5
8.3 Type and value model used for encoding . 7
8.4 Types to be encoded . 7
8.5 Production of a complete OER encoding . 7
8.6 Length determinant . 7
8.7 Encoding of tags . 8
9 Encoding of Boolean values . 8
10 Encoding of integer values . 8
11 Encoding of enumerated values . 9
12 Encoding of real values . 10
13 Encoding of bitstring values . 11
13.1 General . 11
13.2 Encoding of bitstring types with a fixed size . 11
13.3 Encoding of bitstring types with a variable size . 11
14 Encoding of octetstring values . 11
15 Encoding of the null value . 11
16 Encoding of sequence values . 11
17 Encoding of sequence-of values . 13
18 Encoding of set values . 13
19 Encoding of set-of values . 13
20 Encoding of choice values . 13
21 Encoding of object identifier values . 13
22 Encoding of relative object identifier values . 14
23 Encoding of values of the internationalized resource reference type . 14
24 Encoding of values of the relative internationalized resource reference type . 14
25 Encoding of values of the embedded-pdv type . 14
26 Encoding of values of the external type . 14
27 Encoding of values of the restricted character string types . 14
28 Encoding of values of the unrestricted character string type . 15
Rec. ITU-T X.696 (08/2015) iii
---------------------- Page: 8 ----------------------
Page
29 Encoding of values of the time types . 16
29.1 General . 16
29.2 Optimized encoding of time subtypes with the Basic=Date property setting . 17
29.3 Optimized encoding of time subtypes with the Basic=Time property setting . 18
29.4 Optimized encoding of time subtypes with the Basic=Interval property setting . 19
30 Encoding of open type values . 20
31 Canonical Octet Encoding Rules . 20
32 Object identifier values referencing the encoding rules . 21
Annex A – Example of OER encodings . 22
A.1 ASN.1 description of the record structure . 22
A.2 ASN.1 description of a record value . 22
A.3 BASIC-OER and CANONICAL-OER representation of this record value . 22
A.3.1 Hexadecimal view . 23
A.3.2 Descriptive view . 23
Annex B – Interoperability with NTCIP 1102:2004 . 25
Bibliography . 26
iv Rec. ITU-T X.696 (08/2015)
---------------------- Page: 9 ----------------------
Introduction
The publications Rec. ITU-T X.680 | ISO/IEC 8824-1, Rec. ITU-T X.681 | ISO/IEC 8824-2, Rec. ITU-T X.682 |
ISO/IEC 8824-3, Rec. ITU-T X.683 | ISO/IEC 8824-4 together describe Abstract Syntax Notation One (ASN.1), a
notation for the definition of messages to be exchanged between peer applications.
This Recommendation | International Standard defines encoding rules that may be applied to values of ASN.1 types which
have been defined using the notation specified in the above-mentioned publications. Application of these encoding rules
produces a transfer syntax for such values. It is implicit in the specification of these encoding rules that they are also to
be used for decoding.
There are more than one set of encoding rules that can be applied to values of ASN.1 types. This Recommendation |
International Standard defines two sets of Octet Encoding Rules, so-called because the encoding of every type takes a
whole number of octets. Encoding and decoding data with the Octet Encoding Rules is usually faster than encoding and
decoding the same data with the Basic Encoding Rules (described in Rec. ITU-T X.690 | ISO/IEC 8825-1) or the Packed
Encoding Rules (described in Rec. ITU-T X.691 | ISO/IEC 8825-2).
NOTE – The encoding rules specified in this Recommendation | International Standard derive from the Octet Encoding Rules
(OER) published by American Association of State Highway and Transportation Officials (AASHTO), Institute of Transportation
Engineers (ITE) and National Electrical Manufacturers Association (NEMA) as NTCIP 1102:2004. In most practical cases, an
implementation of this Recommendation | International Standard can interoperate with an implementation of NTCIP 1102.
Clauses 8 to 30 specify the BASIC-OER encoding of ASN.1 types.
Clause 31 specifies the CANONICAL-OER encoding of ASN.1 types.
Annex A is informative and contains examples of BASIC-OER and CANONICAL-OER encodings.
Rec. ITU-T X.696 (08/2015) v
---------------------- Page: 10 ----------------------
ISO/IEC 8825-7:2015 (E)
INTERNATIONAL STANDARD
ITU-T RECOMMENDATION
Information technology – ASN.1 encoding rules: Specification of
Octet Encoding Rules (OER)
1 Scope
This Recommendation | International Standard specifies a set of Basic Octet Encoding Rules (BASIC-OER) that may be
used to derive a transfer syntax for values of the types defined in Rec. ITU-T X.680 | ISO/IEC 8824-1, Rec. ITU-T X.681
| ISO/IEC 8824-2, Rec. ITU-T X.682 | ISO/IEC 8824-3, Rec. ITU-T X.683 | ISO/IEC 8824-4. This Recommendation |
International Standard also specifies a set of Canonical Octet Encoding Rules (CANONICAL-OER) which provides
constraints on the Basic Octet Encoding Rules and produces a unique encoding for any given ASN.1 value. It is implicit
in the specification of these encoding rules that they are also to be used for decoding.
The encoding rules specified in this Recommendation | International Standard:
– are used at the time of communication;
– are intended for use in circumstances where encoding/decoding speed is the major concern in the choice
of encoding rules;
– allow the extension of an abstract syntax by addition of extra values for all forms of extensibility described
in Rec. ITU-T X.680 | ISO/IEC 8824-1.
2 Normative references
The following Recommendations and International Standards contain provisions which, through reference in this text,
constitute provisions of this Recommendation | International Standard. At the time of publication, the editions indicated
were valid. All Recommendations and Standards are subject to revision, and parties to agreements based on this
Recommendation | International Standard are encouraged to investigate the possibility of applying the most recent edition
of the Recommendations and Standards listed below. Members of IEC and ISO maintain registers of currently valid
International Standards. The Telecommunication Standardization Bureau of the ITU maintains a list of currently valid
ITU-T Recommendations.
NOTE – This Recommendation | International Standard is based on ISO/IEC 10646:2003 and the Unicode standard version
3.2.0:2002. It cannot be applied using later versions of these two standards.
2.1 Identical Recommendations | International Standards
– Recommendation ITU-T X.680 (2015) | ISO/IEC 8824-1:2015, Information technology – Abstract Syntax
Notation One (ASN.1): Specification of basic notation.
– Recommendation ITU-T X.681 (2015) | ISO/IEC 8824-2:2015, Information technology – Abstract Syntax
Notation One (ASN.1): Information object specification.
– Recommendation ITU-T X.682 (2015) | ISO/IEC 8824-3:2015, Information technology – Abstract Syntax
Notation One (ASN.1): Constraint specification.
– Recommendation ITU-T X.683 (2015) | ISO/IEC 8824-4:2015, Information technology – Abstract Syntax
Notation One (ASN.1): Parameterization of ASN.1 specifications.
– Recommendation ITU-T X.690 (2015) | ISO/IEC 8825-1:2015, Information technology – ASN.1 encoding
rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished
Encoding Rules (DER).
– Recommendation ITU-T X.691 (2015) | ISO/IEC 8825-2:2015, Information technology – ASN.1 encoding
rules: Specification of Packed Encoding Rules (PER).
2.2 Additional references
– ISO/IEC 2375:2003, Information technology – Procedure for registration of escape sequences and coded
character sets.
– ISO International Register of Coded Character Sets to be Used with Escape Sequences.
– ISO/IEC 10646:2003, Information technology – Universal Multiple-Octet Coded Character Set (UCS).
Rec. ITU-T X.696 (08/2015) 1
---------------------- Page: 11 ----------------------
ISO/IEC 8825-7:2015 (E)
3 Definitions
For the purposes of this Recommendation | International Standard, the following definitions apply.
3.1 Specification of basic notation
For the purposes of this Recommendation | International Standard, all the definitions in Rec. ITU-T X.680 |
ISO/IEC 8824-1 apply.
3.2 Information object specification
For the purposes of this Recommendation | International Standard, all the definitions in Rec. ITU-T X.681 |
ISO/IEC 8824-2 apply.
3.3 Constraint specification
This Recommendation | International Standard makes use of the following terms defined in Rec. ITU-T X.682 |
ISO/IEC 8824-3:
a) component relation constraint;
b) table constraint.
3.4 Parameterization of ASN.1 specification
This Recommendation | International Standard makes use of the following term defined in Rec. ITU-T X.683 |
ISO/IEC 8824-4:
– variable constraint.
3.5 Basic Encoding Rules (BER)
This Recommendation | International Standard makes use of the following terms defined in Rec. ITU-T X.690 |
ISO/IEC 8825-1:
a) data value;
b) dynamic conformance;
c) encoding (of a data value);
d) receiver;
e) sender;
f) static conformance.
3.6 Packed Encoding Rules (PER)
This Recommendation | International Standard makes use of the following terms defined in Rec. ITU-T X.691 |
ISO/IEC 8825-2:
a) canonical encoding;
b) composite type;
c) composite value;
d) known-multiplier character string type;
e) outermost type;
f) relay-safe encoding;
g) simple type;
h) textually dependent.
3.7 Additional definitions
For the purposes of this Recommendation | International Standard, the following definitions apply.
2 Rec. ITU-T X.696 (08/2015)
---------------------- Page: 12 ----------------------
ISO/IEC 8825-7:2015 (E)
3.7.1 abstract syntax value: A value of an abstract syntax (defined as a set of values of a single ASN.1 type) which
is to be encoded by BASIC-OER or CANONICAL-OER, or which is generated by BASIC-OER or CANONICAL-OER
decoding.
3.7.2 effective value constraint (of an integer type): The smallest integer range that includes all the values of the
integer type that are permitted by the OER-visible constraints (see 8.2.7).
3.7.3 effective size constraint (of a string type): The smallest integer range that includes the lengths of all the values
of the string type that are permitted by the OER-visible constraints (see 8.2.8).
3.7.4 fixed-size signed number: A word (see 3.7.13) representing a negative, zero or positive whole number encoded
as a signed integer encoding (see 3.7.9).
NOTE 1 – The least significant bit of the whole number is stored in bit 1 of the last octet of the word.
NOTE 2 – The range of integers that can be encoded as fixed-size signed numbers is −128 to 127 for a one-octet word,
−32768 to 32767 for a two-octet word, −2147483648 to 2147483647 for a four-octet word, and
−9223372036854775808 to 9223372036854775807 for an eight-octet word.
3.7.5 fixed-size unsigned number: A word (see 3.7.13) representing a zero or positive whole number encoded as an
unsigned integer encoding (see 3.7.10).
NOTE 1 – The least significant bit of the whole number is stored in bit 1 of the last octet of the word.
NOTE 2 – The smallest integer that can be encoded as fixed-size unsigned numbers of any size is 0. The largest integer that can be
encoded as a fixed-size unsigned number is 255 for a one-octet word, 65535 for a two-octet word, 4294967295 for a four-octet
word, and 18446744073709551615 for an eight-octet word.
3.7.6 length determinant: A group of one or more consecutive octets encoding the length of a series of octets
(see 8.6).
3.7.7 octet: A group of eight consecutive bits, numbered from bit 8 (the most significant bit) to bit 1 (the least
significant bit).
NOTE – Within an OER encoding, each octet starts at a location that is a whole multiple of eight bits from the first bit of the
encoding.
3.7.8 OER-visible constraint: An instance of use of the ASN.1 constraint notation that affects the OER encoding of
a value.
3.7.9 signed integer encoding: The encoding of a whole number into a group of consecutive octets of a specified
length as a 2's-complement binary integer, which provides representations for whole numbers that are equal to, greater
than or less than zero.
NOTE – The value of a signed integer encoding is derived by numbering the bits in the octets of the group, starting with bit 1 of
N
the last octet and ending the numbering with bit 8 of the first octet. Each bit is assigned a numerical value of 2 , where N is its
position (starting from 0) in the above numbering sequence. The value of the signed integer encoding is obtained by summing the
numerical values assigned to each bit for those bits which are set to one, excluding bit 8 of the first octet, and then reducing this
value by the numerical value assigned to bit 8 of the first octet if that bit is set to one.
3.7.10 unsigned integer encoding: The encoding of a whole number into a group of consecutive octets of a specified
length as an unsigned binary integer, which provides representations for whole numbers that are equal to or greater than
zero.
NOTE – The value of an unsigned integer encoding is derived by numbering the bits in the octets of the group, starting with bit 1
N
of the last octe
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.