1、 Reference numberISO/IEC 8825-1:2002(E)ISO/IEC 2002INTERNATIONAL STANDARD ISO/IEC8825-1Third edition2002-12-15Information technology ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER) Technologies de linformation R
2、gles de codage ASN.1: Spcification des rgles de codage de base, des rgles de codage canoniques et des rgles de codage distinctives Adopted by INCITS (InterNational Committee for Information Technology Standards) as an American National Standard.Date of ANSI Approval: 12/28/2004Published by American
3、National Standards Institute,25 West 43rd Street, New York, New York 10036Copyright 2004 by Information Technology Industry Council (ITI).All rights reserved.These materials are subject to copyright claims of International Standardization Organization (ISO), InternationalElectrotechnical Commission
4、(IEC), American National Standards Institute (ANSI), and Information Technology Industry Council(ITI). Not for resale. No part of this publication may be reproduced in any form, including an electronic retrieval system, withoutthe prior written permission of ITI. All requests pertaining to this stan
5、dard should be submitted to ITI, 1250 Eye Street NW,Washington, DC 20005.Printed in the United States of AmericaCopyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-ISO/IEC 8825-1:20
6、02(E) PDF disclaimer This PDF file may contain embedded typefaces. In accordance with Adobes licensing policy, this file may be printed or viewed but shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In downloading this
7、file, parties accept therein the responsibility of not infringing Adobes licensing policy. The ISO Central Secretariat accepts no liability in this area. Adobe is a trademark of Adobe Systems Incorporated. Details of the software products used to create this PDF file can be found in the General Info
8、 relative to the file; the PDF-creation parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
9、ISO/IEC 2002 All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or ISOs member body
10、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 copyrightiso.org Web www.iso.org Published by ISO in 2003 Published in Switzerland ii ISO/IEC 2002 All rights reservedCopyright American National Standards Inst
11、itute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-ISO/IEC 8825-1:2002(E) ISO/IEC 2002 All rights reserved iiiCONTENTS Page Introduction . vi 1 Scope 1 2 Normative references . 1 2.1 Identical Recommendations | Internation
12、al Standards 1 2.2 Additional references 1 3 Definitions 2 4 Abbreviations . 2 5 Notation 2 6 Convention . 2 7 Conformance 3 8 Basic encoding rules. 3 8.1 General rules for encoding 3 8.1.1 Structure of an encoding . 3 8.1.2 Identifier octets . 4 8.1.3 Length octets. 5 8.1.4 Contents octets 6 8.1.5
13、End-of-contents octets. 6 8.2 Encoding of a boolean value . 6 8.3 Encoding of an integer value. 7 8.4 Encoding of an enumerated value . 7 8.5 Encoding of a real value 7 8.6 Encoding of a bitstring value 8 8.7 Encoding of an octetstring value. 9 8.8 Encoding of a null value . 10 8.9 Encoding of a seq
14、uence value . 10 8.10 Encoding of a sequence-of value 10 8.11 Encoding of a set value . 10 8.12 Encoding of a set-of value. 11 8.13 Encoding of a choice value . 11 8.14 Encoding of a tagged value . 11 8.15 Encoding of an open type 12 8.16 Encoding of an instance-of value 12 8.17 Encoding of a value
15、of the embedded-pdv type 12 8.18 Encoding of a value of the external type. 12 8.19 Encoding of an object identifier value 13 8.20 Encoding of a relative object identifier value 14 8.21 Encoding for values of the restricted character string types 14 8.22 Encoding for values of the unrestricted charac
16、ter string type . 17 9 Canonical encoding rules . 17 9.1 Length forms . 17 9.2 String encoding forms . 17 9.3 Set components . 17 10 Distinguished encoding rules . 18 10.1 Length forms . 18 10.2 String encoding forms . 18 10.3 Set components . 18 11 Restrictions on BER employed by both CER and DER .
17、 18 11.1 Boolean values 18 11.2 Unused bits 18 11.3 Real values 18 Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-ISO/IEC 8825-1:2002(E) iv ISO/IEC 2002 All rights reserved11.4
18、 GeneralString values . 19 11.5 Set and sequence components with default value . 19 11.6 Set-of components. 19 11.7 GeneralizedTime. 19 11.8 UTCTime 20 11.8.4 Examples of valid representations. 20 11.8.5 Examples of invalid representations 20 12 Use of BER, CER and DER in transfer syntax definition
19、20 Annex A Example of encodings . 22 A.1 ASN.1 description of the record structure. 22 A.2 ASN.1 description of a record value . 22 A.3 Representation of this record value. 22 Annex B Assignment of object identifier values 24 Annex C Illustration of real value encoding . 25 Copyright American Nation
20、al Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-ISO/IEC 8825-1:2002(E) ISO/IEC 2002 All rights reserved vForeword ISO (the International Organization for Standardization) and IEC (the International Elec
21、trotechnical 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 techn
22、ical 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 techni
23、cal 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 cir
24、culated 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 hel
25、d responsible for identifying any or all such patent rights. ISO/IEC 8825-1 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
26、 ITU-T Rec.X.690. This third edition cancels and replaces the second edition (ISO/IEC 8825-1:1998), which has been technically revised. It also incorporates the Amendment ISO/IEC 8825-1:1998/Amd.1:2000 and the Technical Corrigenda ISO/IEC 8825-1:1998/Cor.1:1999 and ISO/IEC 8825-1:1998/Cor.2:2002. IS
27、O/IEC 8825 consists of the following parts, under the general title Information technology ASN.1 encoding rules: Part 1: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER) Part 2: Specification of Packed Encoding Rules (PER) Part 3: Spe
28、cification of Encoding Control Notation (ECN) Part 4: XML Encoding Rules (XER) Part 5: Mapping W3C XML schema definitions into ASN.1 Copyright American National Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-
29、,-,-ISO/IEC 8825-1:2002(E) vi ISO/IEC 2002 All rights reservedIntroduction ITU-T Rec. X.680 | ISO/IEC 8824-1, ITU-T Rec. X.681 | ISO/IEC 8824-2, ITU-T Rec. X.682 | ISO/IEC 8824-3, ITU-T Rec. X.683 | ISO/IEC 8824-4 (Abstract Syntax Notation One or ASN.1) together specify a notation for the definition
30、 of abstract syntaxes, enabling application standards to define the types of information they need to transfer. It also specifies a notation for the specification of values of a defined type. This Recommendation | International Standard defines encoding rules that may be applied to values of types d
31、efined using the ASN.1 notation. 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 may be more than one set of encoding rules that can be applied to values of t
32、ypes that are defined using the ASN.1 notation. This Recommendation | International Standard defines three sets of encoding rules, called basic encoding rules, canonical encoding rules and distinguished encoding rules. Whereas the basic encoding rules give the sender of an encoding various choices a
33、s to how data values may be encoded, the canonical and distinguished encoding rules select just one encoding from those allowed by the basic encoding rules, eliminating all of the senders options. The canonical and distinguished encoding rules differ from each other in the set of restrictions that t
34、hey place on the basic encoding rules. The distinguished encoding rules is more suitable than the canonical encoding rules if the encoded value is small enough to fit into the available memory and there is a need to rapidly skip over some nested values. The canonical encoding rules is more suitable
35、than the distinguished encoding rules if there is a need to encode values that are so large that they cannot readily fit into the available memory or it is necessary to encode and transmit a part of a value before the entire value is available. The basic encoding rules is more suitable than the cano
36、nical or distinguished encoding rules if the encoding contains a set value or set-of value and there is no need for the restrictions that the canonical and distinguished encoding rules impose. This is due to the memory and CPU overhead that the latter encoding rules exact in order to guarantee that
37、set values and set-of values have just one possible encoding. Annex A gives an example of the application of the basic encoding rules. It does not form an integral part of this Recommendation | International Standard. Annex B summarizes the assignment of object identifier values made in this Recomme
38、ndation | International Standard. It does not form an integral part of this Recommendation | International Standard. Annex C gives examples of applying the basic encoding rules for encoding reals. It does not form an integral part of this Recommendation | International Standard. Copyright American N
39、ational Standards Institute Provided by IHS under license with ANSI Not for ResaleNo reproduction or networking permitted without license from IHS-,-,-ISO/IEC 8825-1:2002 (E) ITU-T Rec. X.690 (07/2002) 1 INTERNATIONAL STANDARD ISO/IEC 8825-1 : 1995 (E) ITU-T Rec. X.690 (1994 E) ITU-T RECOMMENDATION
40、Information technology ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER) 1 Scope This Recommendation | International Standard specifies a set of basic encoding rules that may be used to derive the specification of
41、 a transfer syntax for values of types defined using the notation specified in ITU-T Rec. X.680 | ISO/IEC 8824-1, ITU-T Rec. X.681 | ISO/IEC 8824-2, ITU-T Rec. X.682 | ISO/IEC 8824-3, and ITU-T Rec. X.683 | ISO/IEC 8824-4, collectively referred to as Abstract Syntax Notation One or ASN.1. These basi
42、c encoding rules are also to be applied for decoding such a transfer syntax in order to identify the data values being transferred. It also specifies a set of canonical and distinguished encoding rules that restrict the encoding of values to just one of the alternatives provided by the basic encodin
43、g rules. 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 Recommendation
44、s 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 c
45、urrently valid International Standards. The Telecommunication Standardization Bureau of the ITU maintains a list of currently valid ITU-T Recommendations. 2.1 Identical Recommendations | International Standards ITU-T Recommendation X.680 (2002) | ISO/IEC 8824-1:2002, Information technology Abstract
46、Syntax Notation One (ASN.1): Specification of basic notation. ITU-T Recommendation X.681 (2002) | ISO/IEC 8824-2:2002, Information technology Abstract Syntax Notation One (ASN.1): Information object specification. ITU-T Recommendation X.682 (2002) | ISO/IEC 8824-3:2002, Information technology Abstra
47、ct Syntax Notation One (ASN.1): Constraint specification. ITU-T Recommendation X.683 (2002) | ISO/IEC 8824-4:2002, Information technology Abstract Syntax Notation One (ASN.1): Parameterization of ASN.1 specifications. 2.2 Additional references ISO International Register of Coded Character Sets to be
48、 used with Escape Sequences. ISO/IEC 2022:1994, Information technology Character code structure and extension techniques. ISO 2375:1985, Data processing Procedure for registration of escape sequences. ISO 6093:1985, Information processing Representation of numerical values in character strings for i
49、nformation interchange. ISO/IEC 6429:1992, Information technology Control functions for coded character sets. ISO/IEC 10646-1:2000, Information technology Universal Multiple-Octet Coded Character Set (UCS) Part 1: Architecture and Basic Multilingual Plane. Copyright American National Standards Institute Prov