idnits 2.17.00 (12 Aug 2021) /tmp/idnits3397/draft-ietf-lamps-rfc3709bis-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- -- The draft header indicates that this document obsoletes RFC6170, but the abstract doesn't seem to directly say this. It does mention RFC6170 though, so this could be OK. Miscellaneous warnings: ---------------------------------------------------------------------------- -- The document date (27 February 2022) is 76 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Looks like a reference, but probably isn't: '0' on line 1620 -- Looks like a reference, but probably isn't: '1' on line 1482 -- Looks like a reference, but probably isn't: '2' on line 1527 -- Looks like a reference, but probably isn't: '3' on line 1616 -- Looks like a reference, but probably isn't: '4' on line 438 -- Possible downref: Non-RFC (?) normative reference: ref. 'GIF' -- Possible downref: Non-RFC (?) normative reference: ref. 'ISO15948' -- Possible downref: Non-RFC (?) normative reference: ref. 'JPEG' -- Possible downref: Non-RFC (?) normative reference: ref. 'MP3' -- Possible downref: Non-RFC (?) normative reference: ref. 'NEW-ASN1' ** Downref: Normative reference to an Informational RFC: RFC 1952 -- Possible downref: Non-RFC (?) normative reference: ref. 'SVGT' Summary: 1 error (**), 0 flaws (~~), 0 warnings (==), 13 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group S. Santesson 3 Internet-Draft IDsec Solutions 4 Obsoletes: 3709, 6170 (if approved) R. Housley 5 Intended status: Standards Track Vigil Security 6 Expires: 31 August 2022 T. Freeman 7 Amazon Web Services 8 L. Rosenthol 9 Adobe 10 27 February 2022 12 Internet X.509 Public Key Infrastructure: Logotypes in X.509 13 Certificates 14 draft-ietf-lamps-rfc3709bis-01 16 Abstract 18 This document specifies a certificate extension for including 19 logotypes in public key certificates and attribute certificates. 20 This document obsoletes RFC 3709 and RFC 6170. 22 Status of This Memo 24 This Internet-Draft is submitted in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF). Note that other groups may also distribute 29 working documents as Internet-Drafts. The list of current Internet- 30 Drafts is at https://datatracker.ietf.org/drafts/current/. 32 Internet-Drafts are draft documents valid for a maximum of six months 33 and may be updated, replaced, or obsoleted by other documents at any 34 time. It is inappropriate to use Internet-Drafts as reference 35 material or to cite them other than as "work in progress." 37 This Internet-Draft will expire on 31 August 2022. 39 Copyright Notice 41 Copyright (c) 2022 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 46 license-info) in effect on the date of publication of this document. 47 Please review these documents carefully, as they describe your rights 48 and restrictions with respect to this document. Code Components 49 extracted from this document must include Revised BSD License text as 50 described in Section 4.e of the Trust Legal Provisions and are 51 provided without warranty as described in the Revised BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 56 1.1. Certificate-based Identification . . . . . . . . . . . . 4 57 1.2. Selection of Certificates . . . . . . . . . . . . . . . . 5 58 1.3. Combination of Verification Techniques . . . . . . . . . 5 59 1.4. Terminology . . . . . . . . . . . . . . . . . . . . . . . 6 60 2. Different Types of Logotypes in Certificates . . . . . . . . 6 61 3. Logotype Data . . . . . . . . . . . . . . . . . . . . . . . . 7 62 4. Logotype Extension . . . . . . . . . . . . . . . . . . . . . 8 63 4.1. Extension Format . . . . . . . . . . . . . . . . . . . . 8 64 4.2. Conventions for LogotypeImageInfo . . . . . . . . . . . . 12 65 4.3. Embedded Images . . . . . . . . . . . . . . . . . . . . . 12 66 4.4. Other Logotypes . . . . . . . . . . . . . . . . . . . . . 13 67 4.4.1. Loyalty Logotype . . . . . . . . . . . . . . . . . . 13 68 4.4.2. Certificate Background Logotype . . . . . . . . . . . 13 69 4.4.3. Certificate Image Logotype . . . . . . . . . . . . . 14 70 5. Type of Certificates . . . . . . . . . . . . . . . . . . . . 15 71 6. Use in Clients . . . . . . . . . . . . . . . . . . . . . . . 15 72 7. Image Formats . . . . . . . . . . . . . . . . . . . . . . . . 17 73 8. Audio Formats . . . . . . . . . . . . . . . . . . . . . . . . 18 74 9. Security Considerations . . . . . . . . . . . . . . . . . . . 19 75 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 76 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 21 77 11.1. Acknowledgments from RFC 3709 . . . . . . . . . . . . . 22 78 11.2. Acknowledgments from RFC 6170 . . . . . . . . . . . . . 22 79 11.3. Additional Acknowledgments . . . . . . . . . . . . . . . 22 80 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 81 12.1. Normative References . . . . . . . . . . . . . . . . . . 22 82 12.2. Informative References . . . . . . . . . . . . . . . . . 24 83 Appendix A. ASN.1 Modules . . . . . . . . . . . . . . . . . . . 25 84 A.1. ASN.1 Modules with 1988 Syntax . . . . . . . . . . . . . 25 85 A.2. ASN.1 Module with 1997 Syntax . . . . . . . . . . . . . . 28 86 Appendix B. Examples . . . . . . . . . . . . . . . . . . . . . . 31 87 B.1. Example from RFC 3709 . . . . . . . . . . . . . . . . . . 31 88 B.2. Issuer Logotype Example . . . . . . . . . . . . . . . . . 32 89 B.3. Embedded Image Example . . . . . . . . . . . . . . . . . 33 90 B.4. Embedded Certificate Image Example . . . . . . . . . . . 35 91 Appendix C. Changes Since RFC 3709 and RFC 6170 . . . . . . . . 37 92 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 38 94 1. Introduction 96 This specification supplements [RFC5280], which profiles public-key 97 certificates and certificate revocation lists (CRLs) for use in the 98 Internet, and it supplements [RFC5755] which profiles attribute 99 certificates for use in the Internet. 101 This document obsoletes RFC 3709 [RFC3709] and RFC 6170 [RFC6170]. 102 Appendix C provides a summary of the changes since the publication of 103 RFC 3709 and RFC 6170. 105 The basic function of a certificate is to bind a public key to the 106 identity of an entity (the subject). From a strictly technical 107 viewpoint, this goal could be achieved by signing the identity of the 108 subject together with its public key. However, the art of Public Key 109 Infrastructure (PKI) has developed certificates far beyond this 110 functionality in order to meet the needs of modern global networks 111 and heterogeneous information technology structures. 113 Certificate users must be able to determine certificate policies, 114 appropriate key usage, assurance level, and name form constraints. 115 Before a relying party can make an informed decision whether a 116 particular certificate is trustworthy and relevant for its intended 117 usage, a certificate may be examined from several different 118 perspectives. 120 Systematic processing is necessary to determine whether a particular 121 certificate meets the predefined prerequisites for an intended usage. 122 Much of the information contained in certificates is appropriate and 123 effective for machine processing; however, this information is not 124 suitable for a corresponding human trust and recognition process. 126 Humans prefer to structure information into categories and symbols. 127 Most humans associate complex structures of reality with easily 128 recognizable logotypes and marks. Humans tend to trust things that 129 they recognize from previous experiences. Humans may examine 130 information to confirm their initial reaction. Very few consumers 131 actually read all terms and conditions they agree to in accepting a 132 service, rather they commonly act on trust derived from previous 133 experience and recognition. 135 A big part of this process is branding. Service providers and 136 product vendors invest a lot of money and resources into creating a 137 strong relation between positive user experiences and easily 138 recognizable trademarks, servicemarks, and logotypes. 140 Branding is also pervasive in identification instruments, including 141 identification cards, passports, driver's licenses, credit cards, 142 gasoline cards, and loyalty cards. Identification instruments are 143 intended to identify the holder as a particular person or as a member 144 of the community. The community may represent the subscribers of a 145 service or any other group. Identification instruments, in physical 146 form, commonly use logotypes and symbols, solely to enhance human 147 recognition and trust in the identification instrument itself. They 148 may also include a registered trademark to allow legal recourse for 149 unauthorized duplication. 151 Since certificates play an equivalent role in electronic exchanges, 152 we examine the inclusion of logotypes in certificates. We consider 153 certificate-based identification and certificate selection. 155 1.1. Certificate-based Identification 157 The need for human recognition depends on the manner in which 158 certificates are used and whether certificates need to be visible to 159 human users. If certificates are to be used in open environments and 160 in applications that bring the user in conscious contact with the 161 result of a certificate-based identification process, then human 162 recognition is highly relevant, and may be a necessity. 164 Examples of such applications include: 166 * Web server identification where a user identifies the owner of the 167 web site. 169 * Peer e-mail exchange in B2B, B2C, and private communications. 171 * Exchange of medical records, and system for medical prescriptions. 173 * Unstructured e-business applications (i.e., non-EDI applications). 175 * Wireless client authenticating to a service provider. 177 Most applications provide the human user with an opportunity to view 178 the results of a successful certificate-based identification process. 179 When the user takes the steps necessary to view these results, the 180 user is presented with a view of a certificate. This solution has 181 two major problems. First, the function to view a certificate is 182 often rather hard to find for a non-technical user. Second, the 183 presentation of the certificate is too technical and is not user 184 friendly. It contains no graphic symbols or logotypes to enhance 185 human recognition. 187 Many investigations have shown that users of today's applications do 188 not take the steps necessary to view certificates. This could be due 189 to poor user interfaces. Further, many applications are structured 190 to hide certificates from users. The application designers do not 191 want to expose certificates to users at all. 193 1.2. Selection of Certificates 195 One situation where software applications must expose human users to 196 certificates is when the user must select a single certificate from a 197 portfolio of certificates. In some cases, the software application 198 can use information within the certificates to filter the list for 199 suitability; however, the user must be queried if more than one 200 certificate is suitable. The human user must select one of them. 202 This situation is comparable to a person selecting a suitable plastic 203 card from his wallet. In this situation, substantial assistance is 204 provided by card color, location, and branding. 206 In order to provide similar support for certificate selection, the 207 users need tools to easily recognize and distinguish certificates. 208 Introduction of logotypes into certificates provides the necessary 209 graphic. 211 1.3. Combination of Verification Techniques 213 The use of logotypes will, in many cases, affect the users decision 214 to trust and use a certificate. It is therefore important that there 215 be a distinct and clear architectural and functional distinction 216 between the processes and objectives of the automated certificate 217 verification and human recognition. 219 Since logotypes are only aimed for human interpretation and contain 220 data that is inappropriate for computer based verification schemes, 221 the logotype extension MUST NOT be an active component in automated 222 certification path validation. 224 Automated certification path verification determines whether the end- 225 entity certificate can be verified according to defined policy. The 226 algorithm for this verification is specified in [RFC5280]. 228 The automated processing provides assurance that the certificate is 229 valid. It does not indicate whether the subject is entitled to any 230 particular information, or whether the subject ought to be trusted to 231 perform a particular service. These are access control decisions. 232 Automatic processing will make some access control decisions, but 233 others, depending on the application context, involve the human user. 235 In some situations, where automated procedures have failed to 236 establish the suitability of the certificate to the task, the human 237 user is the final arbitrator of the post certificate verification 238 access control decisions. In the end, the human will decide whether 239 or not to accept an executable email attachment, to release personal 240 information, or follow the instructions displayed by a web browser. 241 This decision will often be based on recognition and previous 242 experience. 244 The distinction between systematic processing and human processing is 245 rather straightforward. They can be complementary. While the 246 systematic process is focused on certification path construction and 247 verification, the human acceptance process is focused on recognition 248 and related previous experience. 250 There are some situations where systematic processing and human 251 processing interfere with each other. These issues are discussed in 252 the Section 9. 254 1.4. Terminology 256 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 257 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 258 "OPTIONAL" in this document are to be interpreted as described in 259 BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all 260 capitals, as shown here. 262 2. Different Types of Logotypes in Certificates 264 This specification defines the inclusion of three standard logotype 265 types: 267 * Community logotype 269 * Issuer organization logotype 271 * Subject organization logotype 273 The community logotype is the general mark for a community. It 274 identifies a service concept for entity identification and 275 certificate issuance. Many issuers may use a community logotype to 276 co-brand with a global community in order to gain global recognition 277 of its local service provision. This type of community branding is 278 very common in the credit card business, where local independent card 279 issuers include a globally recognized brand (such as VISA and 280 MasterCard). 282 Issuer organization logotype is a logotype representing the 283 organization identified as part of the issuer name in the 284 certificate. 286 Subject organization logotype is a logotype representing the 287 organization identified in the subject name in the certificate. 289 In addition to the standard logotype types, this specification 290 accommodates inclusion of other logotype types where each class of 291 logotype is defined by an object identifier. The object identifier 292 can be either locally defined or an identifier defined in Section 4.4 293 of this document. 295 3. Logotype Data 297 This specification defines two types of logotype data: image data and 298 audio data. Implementations MUST support image data; however, 299 support for audio data is OPTIONAL. 301 There is no need to significantly increase the size of the 302 certificate by including image and audio data of logotypes when a URI 303 identifying the location to the logotype data and a one-way hash of 304 the referenced data is included in the certificate. Embedding the 305 logotype in the certificate (as defined in Section 4.3) can 306 significantly increase the size of the certificate. 308 Several image objects, representing the same visual content in 309 different formats, sizes, and color palates, may represent each 310 logotype image. At least one of the image objects representing a 311 logotype SHOULD contain an image within the size range of 60 pixels 312 wide by 45 pixels high, and 200 pixels wide by 150 pixels high. 314 Several instances of audio data may further represent the same audio 315 sequence in different formats, resolutions, and languages. At least 316 one of the audio objects representing a logotype SHOULD have a play 317 time between 1 and 30 seconds. 319 If a logotype of a certain type (as defined in Section 1.1) is 320 represented by more than one image object, then the image objects 321 MUST contain variants of roughly the same visual content. Likewise, 322 if a logotype of a certain type is represented by more than one audio 323 object, then the audio objects MUST contain variants of the same 324 audio information. A spoken message in different languages is 325 considered a variation of the same audio information. Compliant 326 applications MUST NOT display more than one of the image objects and 327 MUST NOT play more than one of the audio object for any logotype type 328 at the same time. 330 A client MAY simultaneously display multiple logotypes of different 331 logotype types. For example, it may display one subject organization 332 logotype while also displaying a community logotype, but it MUST NOT 333 display multiple image variants of the same community logotype. 335 Each logotype present in a certificate MUST be represented by at 336 least one image data object. 338 Client applications SHOULD enhance processing and off-line 339 functionality by caching logotype data. 341 4. Logotype Extension 343 This section specifies the syntax and semantics of the logotype 344 certificate extension. 346 4.1. Extension Format 348 The logotype extension MAY be included in public key certificates 349 [RFC5280] or attribute certificates [RFC5755]. The logotype 350 extension MUST be identified by the following object identifier: 352 id-pe-logotype OBJECT IDENTIFIER ::= 353 { iso(1) identified-organization(3) dod(6) internet(1) 354 security(5) mechanisms(5) pkix(7) id-pe(1) 12 } 356 This extension MUST NOT be marked critical. 358 Logotype data may be referenced through either direct or indirect 359 addressing. Client applications MUST support both direct and 360 indirect addressing. Certificate issuing applications MUST support 361 direct addressing, and certificate issuing applications SHOULD 362 support indirect addressing. 364 The direct addressing includes information about each logotype in the 365 certificate, and URIs point to the image and audio data object. 366 Direct addressing supports cases where just one or a few alternative 367 images and audio objects are referenced. 369 The indirect addressing includes one reference to an external hashed 370 data structure that contains information on the type, content, and 371 location of each image and audio object. Indirect addressing 372 supports cases where each logotype is represented by many alternative 373 audio or image objects. 375 Both direct and indirect addressing accommodate alternative URIs to 376 obtain exactly the same item. This opportunity for replication is 377 intended to improve availability. Therefore, if a client is unable 378 to fetch the item from one URI, the client SHOULD try another URI in 379 the sequence. All direct addressing URIs SHOULD use either the HTTP 380 scheme (http://...) or the HTTPS scheme (https://...) or the DATA 381 scheme (data://...) [RFC3986]; however, the "data" URI scheme MUST 382 NOT be used with the indirect addressing. Clients MUST support 383 retrieval of referenced LogoTypeData with the HTTP/2 [RFC7540] and 384 the HTTPS/2 with TLS [RFC8740]. Client applications SHOULD also 385 support the "data" URI scheme [RFC2397] for direct addressing with 386 embedded logotype data within the extension. 388 The logotype extension MUST have the following syntax: 390 LogotypeExtn ::= SEQUENCE { 391 communityLogos [0] EXPLICIT SEQUENCE OF LogotypeInfo OPTIONAL, 392 issuerLogo [1] EXPLICIT LogotypeInfo OPTIONAL, 393 subjectLogo [2] EXPLICIT LogotypeInfo OPTIONAL, 394 otherLogos [3] EXPLICIT SEQUENCE OF OtherLogotypeInfo 395 OPTIONAL } 397 LogotypeInfo ::= CHOICE { 398 direct [0] LogotypeData, 399 indirect [1] LogotypeReference } 401 LogotypeData ::= SEQUENCE { 402 image SEQUENCE OF LogotypeImage OPTIONAL, 403 audio [1] SEQUENCE OF LogotypeAudio OPTIONAL } 405 LogotypeImage ::= SEQUENCE { 406 imageDetails LogotypeDetails, 407 imageInfo LogotypeImageInfo OPTIONAL } 409 LogotypeAudio ::= SEQUENCE { 410 audioDetails LogotypeDetails, 411 audioInfo LogotypeAudioInfo OPTIONAL } 413 LogotypeDetails ::= SEQUENCE { 414 mediaType IA5String, -- MIME media type name and optional 415 -- parameters 416 logotypeHash SEQUENCE SIZE (1..MAX) OF HashAlgAndValue, 417 logotypeURI SEQUENCE SIZE (1..MAX) OF IA5String } 419 LogotypeImageInfo ::= SEQUENCE { 420 type [0] LogotypeImageType DEFAULT color, 421 fileSize INTEGER, -- In octets 422 xSize INTEGER, -- Horizontal size in pixels 423 ySize INTEGER, -- Vertical size in pixels 424 resolution LogotypeImageResolution OPTIONAL, 425 language [4] IA5String OPTIONAL } -- RFC 5646 Language Tag 427 LogotypeImageType ::= INTEGER { grayScale(0), color(1) } 429 LogotypeImageResolution ::= CHOICE { 430 numBits [1] INTEGER, -- Resolution in bits 431 tableSize [2] INTEGER } -- Number of colors or grey tones 433 LogotypeAudioInfo ::= SEQUENCE { 434 fileSize INTEGER, -- In octets 435 playTime INTEGER, -- In milliseconds 436 channels INTEGER, -- 1=mono, 2=stereo, 4=quad 437 sampleRate [3] INTEGER OPTIONAL, -- Samples per second 438 language [4] IA5String OPTIONAL } -- RFC 5646 Language Tag 440 OtherLogotypeInfo ::= SEQUENCE { 441 logotypeType OBJECT IDENTIFIER, 442 info LogotypeInfo } 444 LogotypeReference ::= SEQUENCE { 445 refStructHash SEQUENCE SIZE (1..MAX) OF HashAlgAndValue, 446 refStructURI SEQUENCE SIZE (1..MAX) OF IA5String } 447 -- Places to get the same LogotypeData 448 -- image or audio object 450 HashAlgAndValue ::= SEQUENCE { 451 hashAlg AlgorithmIdentifier, 452 hashValue OCTET STRING } 454 When using indirect addressing, the URI (refStructURI) pointing to 455 the external data structure MUST point to a binary file containing 456 the DER-encoded data with the syntax LogotypeData. 458 At least one of the optional elements in the LogotypeExtn structure 459 MUST be present. Avoid the use of otherLogos whenever possible. 461 When using direct addressing, at least one of the optional elements 462 in the LogotypeData structure MUST be present. 464 The LogotypeReference and LogotypeDetails structures explicitly 465 identify one or more one-way hash functions employed to authenticate 466 referenced image or audio objects. CAs MUST include a hash value for 467 each referenced object, calculated on the whole object. CAs SHOULD 468 include a hash value that computed with the one-way hash function 469 associated with the certificate signature, and CAs MAY include other 470 hash values. Clients MUST compute a one-way hash value using one of 471 the identified functions, and clients MUST discard the logotype data 472 if the computed hash value does not match the hash value in the 473 certificate extension. 475 A MIME type is used to specify the format of the image or audio 476 object containing the logotype data. The mediaType field MUST 477 contain a string that is constructed according to the ABNF [RFC5234] 478 provided in Section 4.2 of [RFC6838]. MIME types MAY include 479 parameters. 481 Image format requirements are specified in Section 7, and audio 482 format requirements are specified in Section 8. 484 When language is specified, the language tag MUST use the [RFC5646] 485 syntax. 487 Logotype types defined in this specification are: 489 Community Logotype: If communityLogos is present, the logotypes 490 MUST represent one or more communities with which the certificate 491 issuer is affiliated. The communityLogos MAY be present in an end 492 entity certificate, a CA certificate, or an attribute certificate. 493 The communityLogos contains a sequence of Community Logotypes, 494 each representing a different community. If more than one 495 Community logotype is present, they MUST be placed in order of 496 preferred appearance. Some clients MAY choose to display a subset 497 of the present community logos; therefore the placement within the 498 sequence aids the client selection. The most preferred logotype 499 MUST be first in the sequence, and the least preferred logotype 500 MUST be last in the sequence. 502 Issuer Organization Logotype: If issuerLogo is present, the 503 logotype MUST represent the issuer's organization. The logotype 504 MUST be consistent with, and require the presence of, an 505 organization name stored in the organization attribute in the 506 issuer field (for either a public key certificate or attribute 507 certificate). The issuerLogo MAY be present in an end entity 508 certificate, a CA certificate, or an attribute certificate. 510 Subject Organization Logotype: If subjectLogo is present, the 511 logotype MUST represent the subject's organization. The logotype 512 MUST be consistent with, and require the presence of, an 513 organization name stored in the organization attribute in the 514 subject field (for either a public key certificate or attribute 515 certificate). The subjectLogo MAY be present in an end entity 516 certificate, a CA certificate, or an attribute certificate. 518 The relationship between the subject organization and the subject 519 organization logotype, and the relationship between the issuer and 520 either the issuer organization logotype or the community logotype, 521 are relationships asserted by the issuer. The policies and practices 522 employed by the issuer to check subject organization logotypes or 523 claims its issuer and community logotypes is outside the scope of 524 this document. 526 4.2. Conventions for LogotypeImageInfo 528 When the optional LogotypeImageInfo is included with a logotype 529 image, the parameters MUST be used with the following semantics and 530 restrictions. 532 The xSize and ySize fields represent the recommended display size for 533 the logotype image. When a value of 0 (zero) is present, no 534 recommended display size is specified. When non-zero values are 535 present and these values differ from corresponding size values in the 536 referenced image object, then the referenced image SHOULD be scaled 537 to fit within the size parameters of LogotypeImageInfo, while 538 preserving the x and y ratio. 540 The resolution field is redundant for all logotype image formats 541 listed in Section 7. The optional resolution field SHOULD be omitted 542 when the image format already contains this information. 544 4.3. Embedded Images 546 If the logotype image is provided through direct addressing, then the 547 image MAY be stored within the logotype certificate extension using 548 the "data" scheme [RFC2397]. The syntax of the "data" URI scheme 549 defined is included here for convenience: 551 dataurl := "data:" [ mediatype ] [ ";base64" ] "," data 552 mediatype := [ type "/" subtype ] *( ";" parameter ) 553 data := *urlchar 554 parameter := attribute "=" value 556 When including the image data in the logotype extension using the 557 "data" URI scheme, the following conventions apply: 559 * The value of mediaType in LogotypeDetails MUST be identical to the 560 media type value in the "data" URL. 562 * The hash of the image MUST be included in logotypeHash and MUST be 563 calculated over the same data as it would have been, had the image 564 been referenced through a link to an external resource. 566 NOTE: As the "data" URI scheme is processed as a data source rather 567 than as a URL, the image data is typically not limited by any URL 568 length limit settings that otherwise apply to URLs in general. 570 NOTE: Implementations need to be cautious about the size of images 571 included in a certificate in order to ensure that the size of the 572 certificate does not prevent the certificate from being used as 573 intended. 575 4.4. Other Logotypes 577 Logotypes identified by otherLogos (as defined in Section 4.1) can be 578 used to enhance the display of logotypes and marks that represent 579 partners, products, services, or any other characteristic associated 580 with the certificate or its intended application environment when the 581 standard logotype types are insufficient. 583 The conditions and contexts of the intended use of these logotypes 584 are defined at the discretion of the local client application. 586 Three other logotype types are defined in the follow subsections. 588 4.4.1. Loyalty Logotype 590 When a loyalty logotype appears in the otherLogos, it MUST be 591 identified by the id-logo-loyalty object identifier. 593 id-logo OBJECT IDENTIFIER ::= { id-pkix 20 } 595 id-logo-loyalty OBJECT IDENTIFIER ::= { id-logo 1 } 597 A loyalty logotype, if present, MUST contain a logotype associated 598 with a loyalty program related to the certificate or its use. The 599 relation between the certificate and the identified loyalty program 600 is beyond the scope of this document. The logotype extension MAY 601 contain more than one Loyalty logotype. 603 4.4.2. Certificate Background Logotype 605 When a certificate background logotype appears in the otherLogos, it 606 MUST be identified by the id-logo-background object identifier. 608 id-logo-background OBJECT IDENTIFIER ::= { id-logo 2 } 610 The certificate background logotype, if present, MUST contain a 611 graphical image intended as a background image for the certificate, 612 and/or a general audio sequence for the certificate. The background 613 image MUST allow black text to be clearly read when placed on top of 614 the background image. The logotype extension MUST NOT contain more 615 than one certificate background logotype. 617 4.4.3. Certificate Image Logotype 619 When a certificate image logotype appears in the otherLogos, it MUST 620 be identified by the id-logo-background object identifier. 622 id-logo-certImage OBJECT IDENTIFIER ::= { id-logo 3 } 624 The certificate image logotype, if present, aids human interpretation 625 of a certificate by providing meaningful visual information to the 626 user interface (UI). Typical situations when a human needs to 627 examine the visual representation of a certificate are: 629 * A person establishes a secured channel with an authenticated 630 service. The person needs to determine the identity of the 631 service based on the authenticated credentials. 633 * A person validates the signature on critical information, such as 634 signed executable code, and needs to determine the identity of the 635 signer based on the signer's certificate. 637 * A person is required to select an appropriate certificate to be 638 used when authenticating to a service or Identity Management 639 infrastructure. The person needs to see the available 640 certificates in order to distinguish between them in the selection 641 process. 643 The display of certificate information to humans is challenging due 644 to lack of well-defined semantics for critical identity attributes. 645 Unless the application has out-of-band knowledge about a particular 646 certificate, the application will not know the exact nature of the 647 data stored in common identification attributes such as serialNumber, 648 organizationName, country, etc. Consequently, the application can 649 display the actual data, but faces the problem of labeling that data 650 in the UI and informing the human about the exact nature (semantics) 651 of that data. It is also challenging for the application to 652 determine which identification attributes are important to display 653 and how to organize them in a logical order. 655 When present, the certificate image MUST be a complete visual 656 representation of the certificate. This means that the display of 657 this certificate image represents all information about the 658 certificate that the issuer subjectively defines as relevant to show 659 to a typical human user within the typical intended use of the 660 certificate, giving adequate information about at least the following 661 three aspects of the certificate: 663 * Certificate Context 665 * Certificate Issuer 667 * Certificate Subject 669 Certificate Context information is visual marks and/or textual 670 information that helps the typical user to understand the typical 671 usage and/or purpose of the certificate. 673 It is up to the issuer to decide what information -- in the form of 674 text, graphical symbols, and elements -- represents a complete visual 675 representation of the certificate. However, the visual 676 representation of Certificate Subject and Certificate Issuer 677 information from the certificate MUST have the same meaning as the 678 textual representation of that information in the certificate itself. 680 Applications providing a Graphical User Interface (GUI) to the 681 certificate user MAY present a certificate image according to this 682 standard in any given application interface, as the only visual 683 representation of a certificate. 685 5. Type of Certificates 687 Logotypes MAY be included in public key certificates and attribute 688 certificates at the discretion of the certificate issuer; however, 689 logotypes MUST NOT be part of certification path validation or any 690 type of automated processing. The sole purpose of logotypes is to 691 enhance the display of a particular certificate, regardless of its 692 position in a certification path. 694 6. Use in Clients 696 All PKI implementations require relying party software to have some 697 mechanism to determine whether a trusted CA issues a particular 698 certificate. This is an issue for certification path validation, 699 including consistent policy and name checking. 701 After a certification path is successfully validated, the replying 702 party trusts the information that the CA includes in the certificate, 703 including any certificate extensions. The client software can choose 704 to make use of such information, or the client software can ignore 705 it. If the client is unable to support a provided logotype, the 706 client MUST NOT report an error, rather the client MUST behave as 707 though no logotype extension was included in the certificate. 708 Current standards do not provide any mechanism for cross-certifying 709 CAs to constrain subordinate CAs from including private extensions 710 (see Section 9). 712 Consequently, if relying party software accepts a CA, then it should 713 be prepared to (unquestioningly) display the associated logotypes to 714 its human user, given that it is configured to do so. Information 715 about the logotypes is provided so that the replying party software 716 can select the one that will best meet the needs of the human user. 717 This choice depends on the abilities of the human user, as well as 718 the capabilities of the platform on which the replaying party 719 software is running. If none of the provided logotypes meets the 720 needs of the human user or matches the capabilities of the platform, 721 then the logotypes can be ignored. 723 A client MAY, subject to local policy, choose to display none, one, 724 or any number of the logotypes in the logotype extension. In many 725 cases, a client will be used in an environment with a good network 726 connection and also used in an environment with little or no network 727 connectivity. For example, a laptop computer can be docked with a 728 high-speed LAN connection, or it can be disconnected from the network 729 altogether. In recognition of this situation, the client MUST 730 include the ability to disable the fetching of logotypes. However, 731 locally cached logotypes can still be displayed when the user 732 disables the fetching of additional logotypes. 734 A client MAY, subject to local policy, choose any combination of 735 audio and image presentation for each logotype. That is, the client 736 MAY display an image with or without playing a sound, and it MAY play 737 a sound with or without displaying an image. A client MUST NOT play 738 more than one logotype audio sequence at the same time. 740 The logotype is to be displayed in conjunction with other identity 741 information contained in the certificate. The logotype is not a 742 replacement for this identity information. 744 Care is needed when designing replying party software to ensure that 745 an appropriate context of logotype information is provided. This is 746 especially difficult with audio logotypes. It is important that the 747 human user be able to recognize the context of the logotype, even if 748 other audio streams are being played. 750 If the relying party software is unable to successfully validate a 751 particular certificate, then it MUST NOT display any logotype data 752 associated with that certificate. 754 7. Image Formats 756 Animated images SHOULD NOT be used. 758 The following table lists many commons image formats and their 759 corresponding MIME type. The table also indicates which of the image 760 formats must be supported by implementations. The filename 761 extensions commonly used for each of these formats is also provided. 762 Implementations MAY support other image formats. 764 +========+==============+=========+============+============+ 765 | Format | MIME Type | .ext | References | Implement? | 766 +========+==============+=========+============+============+ 767 | JPEG | image/jpeg | .jpg | [JPEG] | MUST | 768 | | | .jpeg | [RFC2046] | support | 769 +--------+--------------+---------+------------+------------+ 770 | GIF | image/gif | .gif | [GIF] | MUST | 771 | | | | [RFC2046] | support | 772 +--------+--------------+---------+------------+------------+ 773 | SVG | image/ | .svg | [SVGT] | SHOULD | 774 | | svg+xml | | [SVGR] | support | 775 +--------+--------------+---------+------------+------------+ 776 | SVG + | image/ | .svgz | [SVGT] | MUST | 777 | GZIP | svg+xml+gzip | .svg.gz | [SVGZR] | support | 778 +--------+--------------+---------+------------+------------+ 779 | PNG | image/png | .png | [ISO15948] | SHOULD | 780 | | | | [PNGR] | support | 781 +--------+--------------+---------+------------+------------+ 782 | PDF | application/ | .pdf | [ISO32000] | MAY | 783 | | pdf | | [ISO19005] | support | 784 | | | | [RFC8118] | | 785 +--------+--------------+---------+------------+------------+ 787 Table 1: Image Formats 789 NOTE: The image/svg+xml-compressed media type is widely implemented, 790 but it has not yet been registered with IANA. 792 When a Scalable Vector Graphics (SVG) image is used, whether the 793 image is compressed or not, the SVG Tiny profile [SVGT] MUST be 794 followed, with these additional restrictions: 796 * The SVG image MUST NOT contain any Internationalized Resource 797 Identifier (IRI) references to information stored outside of the 798 SVG image of type B, C, or D, according to Section 14.1.4 of 799 [SVGT]. 801 * The SVG image MUST NOT contain any 'script' element, according to 802 Section 15.2 of [SVGT]. 804 * The XML structure in the SVG file MUST use linefeed (0x0A) as the 805 end-of-line (EOL) character when calculating a hash over the SVG 806 image. 808 When a GZIP-compressed SVG image is fetched with HTTP, the client 809 will receive response that includes these headers: 811 Content-Type: image/svg+xml 812 Content-Encoding: gzip 814 In this case, the octet stream of type image/svg+xml is compressed 815 with GZIP [RFC1952] as specified in [SVGR]. 817 When a uncompressed SVG image is fetched with HTTP, the client will 818 receive response with the same Content-Type header, but no Content- 819 Encoding header. 821 Whether the SVG image is GZIP-compressed or uncompressed, the hash 822 value for the SVG image is calculated over the uncompressed SVG 823 content with canonicalized EOL characters as specified above. 825 When a SVG image is embedded in the certificate extension using the 826 "data" URL scheme, the SVG image data MUST be provided in GZIP- 827 compressed form, and the XML structure, prior to compression, SHOULD 828 use linefeed (0x0A) as the end-of-line (EOL) character. 830 When a bitmapped image is used, the PNG [ISO15948] format SHOULD be 831 used. 833 When a Portable Document Format (PDF) document according to 834 [ISO32000] is used, it MUST also be formatted according to the 835 profile PDF/A [ISO19005]. 837 8. Audio Formats 839 Implementations that support audio MUST support the MP3 audio format 840 [MP3] with a MIME type of "audio/mpeg" [RFC3003]. Implementations 841 MAY support other audio formats. 843 9. Security Considerations 845 Implementations that simultaneously display multiple logotype types 846 (subject organization, issuer, community, or other), MUST ensure that 847 there is no ambiguity as to the binding between the image and the 848 type of logotype that the image represents. "Logotype type" is 849 defined in Section 1.1, and it refers to the type of entity or 850 affiliation represented by the logotype, not the of binary format if 851 the image or audio. 853 Logotypes are very difficult to securely and accurately define. 854 Names are also difficult in this regard, but logotypes are even 855 worse. It is quite difficult to specify what is, and what is not, a 856 legitimate logotype of an organization. There is an entire legal 857 structure around this issue, and it will not be repeated here. 858 However, issuers should be aware of the implications of including 859 images associated with a trademark or servicemark before doing so. 860 As logotypes can be difficult (and sometimes expensive) to verify, 861 the possibility of errors related to assigning wrong logotypes to 862 organizations is increased. 864 This is not a new issue for electronic identification instruments. 865 It is already dealt with in a number of similar situations in the 866 physical world, including physical employee identification cards. In 867 addition, there are situations where identification of logotypes is 868 rather simple and straightforward, such as logotypes for well-known 869 industries and institutes. These issues should not stop those 870 service providers who want to issue logotypes from doing so, where 871 relevant. 873 It is impossible to prevent fraudulent creation of certificates by 874 dishonest or badly performing issuers, containing names and logotypes 875 that the issuer has no claim to or has failed to check correctly. 876 Such certificates could be created in an attempt to socially engineer 877 a user into accepting a certificate. The premise used for the 878 logotype work is thus that logotype graphics in a certificate are 879 trusted only if the certificate is successfully validated within a 880 valid path. It is thus imperative that the representation of any 881 certificate that fails to validate is not enhanced in any way by 882 using the logotype data. 884 This underlines the necessity for CAs to provide reliable services, 885 and the relying party's responsibility and need to carefully select 886 which CAs are trusted to provide public key certificates. 888 This also underlines the general necessity for relying parties to use 889 up-to-date software libraries to render or dereference data from 890 external sources, including logotype data in certificates, to 891 minimize risks related to processing potentially malicious data 892 before it has been adequately verified and validated. 894 Referenced image objects are hashed in order to bind the image to the 895 signature of the certificate. Some image types, such as SVG, allow 896 part of the image to be collected from an external source by 897 incorporating a reference to an external file that contains the 898 image. If this feature were used within a logotype image, the hash 899 of the image would only cover the URI reference to the external image 900 file, but not the referenced image data. Clients SHOULD verify that 901 SVG images meet all requirements listed in Section 7 and reject 902 images that contain references to external data. 904 Logotype data is fetched from a server when it is needed. By 905 watching activity on the network, an observer can determine which 906 clients are making use of certificates that contain particular 907 logotype data. This observation can potentially introduce privacy 908 issues. Since clients are expected to locally cache logotype data, 909 network traffic to the server containing the logotype data will not 910 be generated every time the certificate is used. In cases where 911 logotype data is not cashed, monitoring would reveal usage frequency. 912 In cases where logotype data is cached, monitoring would reveal when 913 a certain logotype image or audio sequence is used for the first 914 time. 916 CAs issuing certificates with embedded logotype images should be 917 cautious when accepting graphics from the certificate requestor for 918 inclusion in the certificate if the hash algorithm used to sign the 919 certificate is vulnerable to collision attacks. In such a case, the 920 accepted image may contain data that could help an attacker to obtain 921 colliding certificates with identical certificate signatures. 923 Certificates, and hence their logotype images, are commonly public 924 objects and as such usually will not contain privacy-sensitive 925 information. However, when a logotype image that is referenced from 926 a certificate contains privacy-sensitive information, appropriate 927 security controls should be in place to protect the privacy of that 928 information. Details of such controls are outside the scope of this 929 document. 931 Certification paths may also impose name constraints that are 932 systematically checked during certification path processing, which, 933 in theory, may be circumvented by logotypes. 935 Certificate path processing as defined in [RFC5280] does not 936 constrain the inclusion of logotype data in certificates. A parent 937 CA can constrain certification path validation such that subordinate 938 CAs cannot issue valid certificates to end-entities outside a limited 939 name space or outside specific certificate polices. A malicious CA 940 can comply with these name and policy requirements and still include 941 inappropriate logotypes in the certificates that it issues. These 942 certificates will pass the certification path validation algorithm, 943 which means the client will trust the logotypes in the certificates. 944 Since there is no technical mechanism to prevent or control 945 subordinate CAs from including the logotype extension or its 946 contents, where appropriate, a parent CA could employ a legal 947 agreement to impose a suitable restriction on the subordinate CA. 948 This situation is not unique to the logotype extension. 950 The controls available to a parent CA to protect itself from rogue 951 subordinate CAs are non-technical. They include: 953 * Contractual agreements of suitable behavior, including terms of 954 liability in case of material breach. 956 * Control mechanisms and procedures to monitor and follow-up 957 behavior of subordinate CAs. 959 * Use of certificate policies to declare an assurance level of 960 logotype data, as well as to guide applications on how to treat 961 and display logotypes. 963 * Use of revocation functions to revoke any misbehaving CA. 965 There is not a simple, straightforward, and absolute technical 966 solution. Rather, involved parties must settle some aspects of PKI 967 outside the scope of technical controls. As such, issuers need to 968 clearly identify and communicate the associated risks. 970 10. IANA Considerations 972 For the new ASN.1 Module in Appendix A.2, IANA is requested to assign 973 an object identifier (OID) for the module identifier. The OID for 974 the module should be allocated in the "SMI Security for PKIX Module 975 Identifier" registry (1.3.6.1.5.5.7.0). 977 11. Acknowledgments 978 11.1. Acknowledgments from RFC 3709 980 This document is the result of contributions from many professionals. 981 The authors appreciate contributions from all members of the IETF 982 PKIX Working Group. We extend a special thanks to Al Arsenault, 983 David Cross, Tim Polk, Russel Weiser, Terry Hayes, Alex Deacon, 984 Andrew Hoag, Randy Sabett, Denis Pinkas, Magnus Nystrom, Ryan Hurst, 985 and Phil Griffin for their efforts and support. 987 Russ Housley thanks the management at RSA Laboratories, especially 988 Burt Kaliski, who supported the development of this specification. 989 The vast majority of the work on this specification was done while 990 Russ was employed at RSA Laboratories. 992 11.2. Acknowledgments from RFC 6170 994 The authors recognize valuable contributions from members of the PKIX 995 working group, the CA Browser Forum, and James Manger, for their 996 review and sample data. 998 11.3. Additional Acknowledgments 1000 Combining RFC 3709 and RFC 6170 has produced an improved 1001 specification. The authors appreciate contributions from all members 1002 of the IETF LAMPS Working Group. We extend a special thanks to 1003 Alexey Melnikov for his guidance on media types. We extend a special 1004 thanks to Corey Bonnell for his careful review and comments. 1006 12. References 1008 12.1. Normative References 1010 [GIF] CompuServe Incorporated, "Graphics Interchange Format", 1011 Version 89a, 31 July 1990, 1012 . 1014 [ISO15948] ISO/IEC, "Information technology -- Computer graphics and 1015 image processing -- Portable Network Graphics (PNG): 1016 Functional specification", ISO/IEC 15948:2004, 2004. 1018 [JPEG] ITU-T, "Information technology -- Digital compression and 1019 coding of continuous-tone still images: JPEG File 1020 Interchange Format (JFIF)", ITU-T Recommendation T.871, 1021 ISO/IEC 10918-5:2013, May 2011. 1023 [MP3] ISO/IEC, "Information technology -- Generic coding of 1024 moving pictures and associated audio information -- Part 1025 3: Audio", ISO/IEC 13818-3:1998, 1998. 1027 [NEW-ASN1] ITU-T, "Information technology -- Abstract Syntax Notation 1028 One (ASN.1): Specification of basic notation", ITU-T 1029 Recommendation X.680, ISO/IEC 8824-1:2021, February 2021, 1030 . 1032 [RFC1952] Deutsch, P., "GZIP file format specification version 4.3", 1033 RFC 1952, DOI 10.17487/RFC1952, May 1996, 1034 . 1036 [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail 1037 Extensions (MIME) Part Two: Media Types", RFC 2046, 1038 DOI 10.17487/RFC2046, November 1996, 1039 . 1041 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1042 Requirement Levels", BCP 14, RFC 2119, 1043 DOI 10.17487/RFC2119, March 1997, 1044 . 1046 [RFC2397] Masinter, L., "The "data" URL scheme", RFC 2397, 1047 DOI 10.17487/RFC2397, August 1998, 1048 . 1050 [RFC3003] Nilsson, M., "The audio/mpeg Media Type", RFC 3003, 1051 DOI 10.17487/RFC3003, November 2000, 1052 . 1054 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 1055 Resource Identifier (URI): Generic Syntax", STD 66, 1056 RFC 3986, DOI 10.17487/RFC3986, January 2005, 1057 . 1059 [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 1060 Specifications: ABNF", STD 68, RFC 5234, 1061 DOI 10.17487/RFC5234, January 2008, 1062 . 1064 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 1065 Housley, R., and W. Polk, "Internet X.509 Public Key 1066 Infrastructure Certificate and Certificate Revocation List 1067 (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, 1068 . 1070 [RFC5646] Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying 1071 Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646, 1072 September 2009, . 1074 [RFC5755] Farrell, S., Housley, R., and S. Turner, "An Internet 1075 Attribute Certificate Profile for Authorization", 1076 RFC 5755, DOI 10.17487/RFC5755, January 2010, 1077 . 1079 [RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type 1080 Specifications and Registration Procedures", BCP 13, 1081 RFC 6838, DOI 10.17487/RFC6838, January 2013, 1082 . 1084 [RFC7540] Belshe, M., Peon, R., and M. Thomson, Ed., "Hypertext 1085 Transfer Protocol Version 2 (HTTP/2)", RFC 7540, 1086 DOI 10.17487/RFC7540, May 2015, 1087 . 1089 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1090 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1091 May 2017, . 1093 [RFC8740] Benjamin, D., "Using TLS 1.3 with HTTP/2", RFC 8740, 1094 DOI 10.17487/RFC8740, February 2020, 1095 . 1097 [SVGT] World Wide Web Consortium, "Scalable Vector Graphics (SVG) 1098 Tiny 1.2 Specification", W3C PR-SVGTiny12-20081117, 17 1099 November 2008, 1100 . 1102 12.2. Informative References 1104 [ISO19005] ISO, "Document management -- Electronic document file 1105 format for long-term preservation -- Part 1: Use of PDF 1106 1.4 (PDF/A-1)", ISO 19005-1:2005, 2005. 1108 [ISO32000] ISO, "Document management -- Portable document format -- 1109 Part 1: PDF 1.7", ISO 32000-1:2008, 2008. 1111 [OLD-ASN1] CCITT, "Specification of Abstract Syntax Notation One 1112 (ASN.1)", CCITT Recommendation X.208, November 1988, 1113 . 1115 [PNGR] World Wide Web Consortium, "Media Type Registration for 1116 image/png", 1117 . 1119 [RFC3709] Santesson, S., Housley, R., and T. Freeman, "Internet 1120 X.509 Public Key Infrastructure: Logotypes in X.509 1121 Certificates", RFC 3709, DOI 10.17487/RFC3709, February 1122 2004, . 1124 [RFC5912] Hoffman, P. and J. Schaad, "New ASN.1 Modules for the 1125 Public Key Infrastructure Using X.509 (PKIX)", RFC 5912, 1126 DOI 10.17487/RFC5912, June 2010, 1127 . 1129 [RFC6170] Santesson, S., Housley, R., Bajaj, S., and L. Rosenthol, 1130 "Internet X.509 Public Key Infrastructure -- Certificate 1131 Image", RFC 6170, DOI 10.17487/RFC6170, May 2011, 1132 . 1134 [RFC6268] Schaad, J. and S. Turner, "Additional New ASN.1 Modules 1135 for the Cryptographic Message Syntax (CMS) and the Public 1136 Key Infrastructure Using X.509 (PKIX)", RFC 6268, 1137 DOI 10.17487/RFC6268, July 2011, 1138 . 1140 [RFC8118] Hardy, M., Masinter, L., Markovic, D., Johnson, D., and M. 1141 Bailey, "The application/pdf Media Type", RFC 8118, 1142 DOI 10.17487/RFC8118, March 2017, 1143 . 1145 [SVGR] World Wide Web Consortium, "Media Type Registration for 1146 image/svg+xml", . 1149 [SVGZR] "A separate MIME type for svgz files is needed", 1150 . 1152 Appendix A. ASN.1 Modules 1154 A.1. ASN.1 Modules with 1988 Syntax 1156 This appendix contains two ASN.1 modules, both using the old syntax 1157 [OLD-ASN1]. 1159 The first ASN.1 module provides the syntax for the Logotype 1160 certificate extension. Only comments have changed in the module from 1161 RFC 3709, and the IMPORTS now come from [RFC5280]. 1163 The second ASN.1 module provides the Certificate Image object 1164 identifier. The module is unchanged from RFC 6170. 1166 1167 LogotypeCertExtn 1168 { iso(1) identified-organization(3) dod(6) internet(1) 1169 security(5) mechanisms(5) pkix(7) id-mod(0) 1170 id-mod-logotype(22) } 1172 DEFINITIONS IMPLICIT TAGS ::= 1173 BEGIN 1175 IMPORTS 1176 AlgorithmIdentifier FROM PKIX1Explicit88 -- RFC 5280 1177 { iso(1) identified-organization(3) dod(6) internet(1) 1178 security(5) mechanisms(5) pkix(7) id-mod(0) 1179 id-pkix1-explicit(18) }; 1181 -- Logotype Extension OID 1183 id-pe-logotype OBJECT IDENTIFIER ::= 1184 { iso(1) identified-organization(3) dod(6) internet(1) 1185 security(5) mechanisms(5) pkix(7) id-pe(1) 12 } 1187 -- Logotype Extension Syntax 1189 LogotypeExtn ::= SEQUENCE { 1190 communityLogos [0] EXPLICIT SEQUENCE OF LogotypeInfo OPTIONAL, 1191 issuerLogo [1] EXPLICIT LogotypeInfo OPTIONAL, 1192 subjectLogo [2] EXPLICIT LogotypeInfo OPTIONAL, 1193 otherLogos [3] EXPLICIT SEQUENCE OF OtherLogotypeInfo 1194 OPTIONAL } 1196 -- Note: At least one of the OPTIONAL components MUST be present 1198 LogotypeInfo ::= CHOICE { 1199 direct [0] LogotypeData, 1200 indirect [1] LogotypeReference } 1202 LogotypeData ::= SEQUENCE { 1203 image SEQUENCE OF LogotypeImage OPTIONAL, 1204 audio [1] SEQUENCE OF LogotypeAudio OPTIONAL } 1206 -- Note: At least one of the OPTIONAL components MUST be present 1208 LogotypeImage ::= SEQUENCE { 1209 imageDetails LogotypeDetails, 1210 imageInfo LogotypeImageInfo OPTIONAL } 1212 LogotypeAudio ::= SEQUENCE { 1213 audioDetails LogotypeDetails, 1214 audioInfo LogotypeAudioInfo OPTIONAL } 1216 LogotypeDetails ::= SEQUENCE { 1217 mediaType IA5String, -- MIME media type name and optional 1218 -- parameters 1219 logotypeHash SEQUENCE SIZE (1..MAX) OF HashAlgAndValue, 1220 logotypeURI SEQUENCE SIZE (1..MAX) OF IA5String } 1222 LogotypeImageInfo ::= SEQUENCE { 1223 type [0] LogotypeImageType DEFAULT color, 1224 fileSize INTEGER, -- In octets 1225 xSize INTEGER, -- Horizontal size in pixels 1226 ySize INTEGER, -- Vertical size in pixels 1227 resolution LogotypeImageResolution OPTIONAL, 1228 language [4] IA5String OPTIONAL } -- RFC 5646 Language Tag 1230 LogotypeImageType ::= INTEGER { grayScale(0), color(1) } 1232 LogotypeImageResolution ::= CHOICE { 1233 numBits [1] INTEGER, -- Resolution in bits 1234 tableSize [2] INTEGER } -- Number of colors or grey tones 1236 LogotypeAudioInfo ::= SEQUENCE { 1237 fileSize INTEGER, -- In octets 1238 playTime INTEGER, -- In milliseconds 1239 channels INTEGER, -- 1=mono, 2=stereo, 4=quad 1240 sampleRate [3] INTEGER OPTIONAL, -- Samples per second 1241 language [4] IA5String OPTIONAL } -- RFC 5646 Language Tag 1243 OtherLogotypeInfo ::= SEQUENCE { 1244 logotypeType OBJECT IDENTIFIER, 1245 info LogotypeInfo } 1247 LogotypeReference ::= SEQUENCE { 1248 refStructHash SEQUENCE SIZE (1..MAX) OF HashAlgAndValue, 1249 refStructURI SEQUENCE SIZE (1..MAX) OF IA5String } 1250 -- Places to get the same LogotypeData 1251 -- image or audio object 1253 -- Note: The referenced LogotypeData binary file contain DER-encoded 1254 -- LogotypeData type 1256 HashAlgAndValue ::= SEQUENCE { 1257 hashAlg AlgorithmIdentifier, 1258 hashValue OCTET STRING } 1260 -- Other logotype type OIDs 1261 id-logo OBJECT IDENTIFIER ::= { iso(1) identified-organization(3) 1262 dod(6) internet(1) security(5) mechanisms(5) pkix(7) 20 } 1264 id-logo-loyalty OBJECT IDENTIFIER ::= { id-logo 1 } 1266 id-logo-background OBJECT IDENTIFIER ::= { id-logo 2 } 1268 END 1270 CERT-IMAGE-MODULE { iso(1) identified-organization(3) dod(6) 1271 internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) 1272 id-mod-logotype-certimage(68) } 1274 DEFINITIONS EXPLICIT TAGS ::= 1275 BEGIN 1277 EXPORTS ALL; -- export all items from this module 1279 id-logo-certImage OBJECT IDENTIFIER ::= 1280 { iso(1) identified-organization(3) dod(6) internet(1) 1281 security(5) mechanisms(5) pkix(7) id-logo(20) 3 } 1283 END 1284 1286 A.2. ASN.1 Module with 1997 Syntax 1288 Some developers like to use the latest version of ASN.1 standards. 1289 This appendix provides an ASN.1 module to assist in that goal. It 1290 uses the ASN.1 syntax defined in [NEW-ASN1], and it follows the 1291 conventions established in [RFC5912] and [RFC6268]. 1293 This ASN.1 module incorporates the module from RFC 3709 and the 1294 module from RFC 6170. 1296 1297 LogotypeCertExtn 1298 { iso(1) identified-organization(3) dod(6) internet(1) 1299 security(5) mechanisms(5) pkix(7) id-mod(0) 1300 id-mod-logotype(TBD) } 1302 DEFINITIONS IMPLICIT TAGS ::= 1303 BEGIN 1305 IMPORTS 1306 EXTENSION 1307 FROM PKIX-CommonTypes-2009 -- RFC 5912 1308 { iso(1) identified-organization(3) dod(6) internet(1) 1309 security(5) mechanisms(5) pkix(7) id-mod(0) 1310 id-mod-pkixCommon-02(57) } 1312 AlgorithmIdentifier{}, DIGEST-ALGORITHM 1313 FROM AlgorithmInformation-2009 1314 { iso(1) identified-organization(3) dod(6) internet(1) 1315 security(5) mechanisms(5) pkix(7) id-mod(0) 1316 id-mod-algorithmInformation-02(58) } ; 1318 -- Logotype Extension 1320 ext-logotype EXTENSION ::= { 1321 SYNTAX LogotypeExtn 1322 IDENTIFIED BY id-pe-logotype } 1324 -- Logotype Extension OID 1326 id-pe-logotype OBJECT IDENTIFIER ::= 1327 { iso(1) identified-organization(3) dod(6) internet(1) 1328 security(5) mechanisms(5) pkix(7) id-pe(1) 12 } 1330 -- Logotype Extension Syntax 1332 LogotypeExtn ::= SEQUENCE { 1333 communityLogos [0] EXPLICIT SEQUENCE OF LogotypeInfo OPTIONAL, 1334 issuerLogo [1] EXPLICIT LogotypeInfo OPTIONAL, 1335 subjectLogo [2] EXPLICIT LogotypeInfo OPTIONAL, 1336 otherLogos [3] EXPLICIT SEQUENCE OF OtherLogotypeInfo 1337 OPTIONAL } 1338 -- At least one of the OPTIONAL components MUST be present 1339 ( WITH COMPONENTS { ..., communityLogos PRESENT } | 1340 WITH COMPONENTS { ..., issuerLogo PRESENT } | 1341 WITH COMPONENTS { ..., subjectLogo PRESENT } | 1342 WITH COMPONENTS { ..., otherLogos PRESENT } ) 1344 LogotypeInfo ::= CHOICE { 1345 direct [0] LogotypeData, 1346 indirect [1] LogotypeReference } 1348 LogotypeData ::= SEQUENCE { 1349 image SEQUENCE OF LogotypeImage OPTIONAL, 1350 audio [1] SEQUENCE OF LogotypeAudio OPTIONAL } 1351 -- At least one of the OPTIONAL components MUST be present 1352 ( WITH COMPONENTS { ..., image PRESENT } | 1353 WITH COMPONENTS { ..., audio PRESENT } ) 1355 LogotypeImage ::= SEQUENCE { 1356 imageDetails LogotypeDetails, 1357 imageInfo LogotypeImageInfo OPTIONAL } 1359 LogotypeAudio ::= SEQUENCE { 1360 audioDetails LogotypeDetails, 1361 audioInfo LogotypeAudioInfo OPTIONAL } 1363 LogotypeDetails ::= SEQUENCE { 1364 mediaType IA5String, -- MIME media type name and optional 1365 -- parameters 1366 logotypeHash SEQUENCE SIZE (1..MAX) OF HashAlgAndValue, 1367 logotypeURI SEQUENCE SIZE (1..MAX) OF IA5String } 1369 LogotypeImageInfo ::= SEQUENCE { 1370 type [0] LogotypeImageType DEFAULT color, 1371 fileSize INTEGER, -- In octets 1372 xSize INTEGER, -- Horizontal size in pixels 1373 ySize INTEGER, -- Vertical size in pixels 1374 resolution LogotypeImageResolution OPTIONAL, 1375 language [4] IA5String OPTIONAL } -- RFC 5646 Language Tag 1377 LogotypeImageType ::= INTEGER { grayScale(0), color(1) } 1379 LogotypeImageResolution ::= CHOICE { 1380 numBits [1] INTEGER, -- Resolution in bits 1381 tableSize [2] INTEGER } -- Number of colors or grey tones 1383 LogotypeAudioInfo ::= SEQUENCE { 1384 fileSize INTEGER, -- In octets 1385 playTime INTEGER, -- In milliseconds 1386 channels INTEGER, -- 1=mono, 2=stereo, 4=quad 1387 sampleRate [3] INTEGER OPTIONAL, -- Samples per second 1388 language [4] IA5String OPTIONAL } -- RFC 5646 Language Tag 1390 OtherLogotypeInfo ::= SEQUENCE { 1391 logotypeType OBJECT IDENTIFIER, 1392 info LogotypeInfo } 1394 LogotypeReference ::= SEQUENCE { 1395 refStructHash SEQUENCE SIZE (1..MAX) OF HashAlgAndValue, 1396 refStructURI SEQUENCE SIZE (1..MAX) OF IA5String } 1397 -- Places to get the same LogotypeData 1398 -- image or audio object 1400 -- Note: The referenced LogotypeData binary file contain DER-encoded 1401 -- LogotypeData type 1402 HashAlgAndValue ::= SEQUENCE { 1403 hashAlg AlgorithmIdentifier{DIGEST-ALGORITHM, {...}}, 1404 hashValue OCTET STRING } 1406 -- Other logotype type OIDs 1408 id-logo OBJECT IDENTIFIER ::= { iso(1) identified-organization(3) 1409 dod(6) internet(1) security(5) mechanisms(5) pkix(7) 20 } 1411 id-logo-loyalty OBJECT IDENTIFIER ::= { id-logo 1 } 1413 id-logo-background OBJECT IDENTIFIER ::= { id-logo 2 } 1415 id-logo-certImage OBJECT IDENTIFIER ::= { id-logo 3 } 1417 END 1418 1420 Appendix B. Examples 1422 B.1. Example from RFC 3709 1424 The following example displays a logotype extension containing one 1425 Issuer logotype using direct addressing. The issuer logotype image 1426 is of the type image/gif. The logotype image is referenced through 1427 one URI and the image is hashed with SHA-1. This example is 1428 unchanged from RFC 3709, except that shallow indenting is used to 1429 keep the example within traditional margins. The use of SHA-1 was 1430 reasonable at the time that RFC 3709 was published, but many better 1431 choices are available today. 1433 The values on the left are the ASN.1 tag (in hexadecimal) and the 1434 length (in decimal). 1436 30 106: SEQUENCE { 1437 06 8: OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12) 1438 04 94: OCTET STRING, encapsulates { 1439 30 92: SEQUENCE { 1440 A1 90: [1] { 1441 A0 88: [0] { 1442 30 86: SEQUENCE { 1443 30 84: SEQUENCE { 1444 30 82: SEQUENCE { 1445 16 9: IA5String 'image/gif' 1446 30 33: SEQUENCE { 1447 30 31: SEQUENCE { 1448 30 7: SEQUENCE { 1449 06 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) 1450 : } 1451 04 20: OCTET STRING 1452 : 8F E5 D3 1A 86 AC 8D 8E 6B C3 CF 80 6A D4 48 18 1453 : 2C 7B 19 2E 1454 : } 1455 : } 1456 30 34: SEQUENCE { 1457 16 32: IA5String 'http://logo.example.com/logo.gif' 1458 : } 1459 : } 1460 : } 1461 : } 1462 : } 1463 : } 1464 : } 1465 : } 1466 : } 1468 B.2. Issuer Logotype Example 1470 The following example displays a logotype extension containing one 1471 Issuer logotype using direct addressing. The issuer logotype image 1472 is of the type image/jpeg. The logotype image is referenced through 1473 one URI and the image is hashed with SHA-256. 1475 The values on the left are the ASN.1 tag (in hexadecimal) and the 1476 length (in decimal). 1478 30 124: SEQUENCE { 1479 06 8: OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12) 1480 04 112: OCTET STRING, encapsulates { 1481 30 110: SEQUENCE { 1482 A1 108: [1] { 1483 A0 106: [0] { 1484 30 104: SEQUENCE { 1485 30 102: SEQUENCE { 1486 30 100: SEQUENCE { 1487 16 10: IA5String 'image/jpeg' 1488 30 49: SEQUENCE { 1489 30 47: SEQUENCE { 1490 30 11: SEQUENCE { 1491 06 9: OBJECT IDENTIFIER 1492 : sha-256 (2 16 840 1 101 3 4 2 1) 1493 : } 1494 04 32: OCTET STRING 1495 : 1E 8F 96 FD D3 50 53 EF C6 1C 9F FC F0 00 2E 53 1496 : B4 9C 24 9A 32 C5 E9 0C 2C 39 39 D3 AD 6D A9 09 1497 : } 1498 : } 1499 30 35: SEQUENCE { 1500 16 33: IA5String 'http://logo.example.com/logo.jpeg' 1501 : } 1502 : } 1503 : } 1504 : } 1505 : } 1506 : } 1507 : } 1508 : } 1509 : } 1511 B.3. Embedded Image Example 1513 The following example displays a logotype extension containing one 1514 Subject logotype using direct addressing. The subject logotype image 1515 uses image/svg+xml-compressed. The logotype image is embedded in the 1516 certificate extension with a "data:" URI and the image is hashed by 1517 SHA-256. This technique produces a large certificate extension, but 1518 offers reduced latency and improved privacy. 1520 The values on the left are the ASN.1 tag (in hexadecimal) and the 1521 length (in decimal). 1523 30 2160: SEQUENCE { 1524 06 8: OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12) 1525 04 2146: OCTET STRING, encapsulates { 1526 30 2142: SEQUENCE { 1527 A2 2138: [2] { 1528 A0 2134: [0] { 1529 30 2130: SEQUENCE { 1530 30 2126: SEQUENCE { 1531 30 2122: SEQUENCE { 1532 16 24: IA5String 'image/svg+xml-compressed' 1533 30 49: SEQUENCE { 1534 30 47: SEQUENCE { 1535 30 11: SEQUENCE { 1536 06 9: OBJECT IDENTIFIER 1537 : sha-256 (2 16 840 1 101 3 4 2 1) 1538 : } 1539 04 32: OCTET STRING 1540 : C5 AC 94 1A 0A 25 1F B3 16 6F 97 C5 52 40 9B 49 1541 : 9E 7B 92 61 5A B0 A2 6C 19 BF B9 D8 09 C5 D9 E7 1542 : } 1543 : } 1544 30 2041: SEQUENCE { 1545 16 2037: IA5String 1546 : 'data:image/svg+xml-compressed;base64,H4sICIGpy2E' 1547 : 'AA2xvZ28tY29weS5zdmcApVbbbhs3EH3nV0y3Lw2Q9fK2JLe' 1548 : 'wHDROUBRo2iBxW+RRlTa2UFkypIWV5ut7zlB2UqF9cuLlUkt' 1549 : 'yLmfOzPD8xafbtdyPu/1qu5k17sw2sp/mm+V8vd2Ms2azbV5' 1550 : 'cmPNvXv16efXh7WvZ31/L299e/vzTpTRt1/0RLrvu1dUref/' 1551 : '7j+KtdXawsete/9IYaW6m6e77rjscDmeHcLbdXXdX7zpu6t6' 1552 : '9vmxxon08AREdRDt7tpyWDRRSz7+tgp2b/ew/hEKI5WGoPKy' 1553 : 'W082s8SmeWf13NzVyM66ub6ZZk+xXH+9X4+Hl9tOssWLly35' 1554 : '53ARpd7txP+7uxx/2d+NiejefVttZ8+nNavkBj9yO40RLb8d' 1555 : 'pvpxP8wtzuRvn07iUP/+Wu+20my9GcWfOPpfDbjVN44YLb8d' 1556 : 'p3Mn7cb3aXGNCAICCc+a8+yLo/FpwfLP/uN3dzhqdriH5uwf' 1557 : 'bnj9a+Uz2i/maK66utA+zZ435uFqvZ823R38Q1t32Lw3pZqT' 1558 : 'hd/PpRpaz5o2LNkocvCzaIm0vrQvSpog359lLy3my0ga+e3H' 1559 : 'p+B4InjVFPD9awdhnrGEFW30Sl/Pnpvta2QBVxUEVxFbJ2VU' 1560 : 'FfYC01pUs+O4GK84V/k6CHUFyhvhiDVQF8Y5aPDbmnsrXbS7' 1561 : '4DANjguwgENZLPwjUYVTRJQgEpiLR0ctiWj+Ig8rCvZAArxK' 1562 : 'ExEEWMJLqMA1F+ggnsQDXgpQeomJPCVhtCRycNrAWxgAI+g1' 1563 : 'Qsr6IUxlomBswjydYBEgOeVCDoRreBjiFjX2SdSA60BP5DgQ' 1564 : 'M63xoPlWHbNq+egAEeAzxyNAdCQz+sDEMOhaGisKJdSlS6gt' 1565 : 'WWm4M1rQwP0egEBIhhFLoXuCJhR4mT5RJBaiLKqqFROUEzYr' 1566 : '1idG0gahwCzEnk+AMJLdp0FevQQ6VZ+SKOwGlOIJOh1MVjo0' 1567 : 'eB6DRA10SRpSY6il/eFFKAm+MKSIWNFqSo4OFnORfwH5wJHC' 1568 : 'MNM0qlDRlcIwUEkDlgiSBhiEpBgMKOx5FdAYqI3KYewKKkAI' 1569 : 'tTABTkp5khI86kgbOgRywEBR0VGcwAjf8t9wqvdUMG6gLAbI' 1570 : '0QQ8CbzCTtCSn/DEhCbm++duQaiRG1mQkdWHnminHA+r5wpL' 1571 : 'vsJbCALUKsDW5NAj43J+AD5vpfamUzJqiRJACmCWwIMhQq4H' 1572 : 'mYGKaiiJPmIvpS80UzTtAjdSraApQZogslgFcJHw0y5WoEXD' 1573 : 'Yr/aTqfxk2qhcg3z6ETQL+S18llvHOZQvlEOVEVpzqCozE9V' 1574 : '6JZhh/lCslg7mUFY4AR7IlcApmgV6gz3DCSDe56fQ0SRS7el' 1575 : '0NJWO8mQ6mkc6ylPpaL7QUZ5IR/M/dEwoJiEp+L6iT4cdSyI' 1576 : 'p4ljDkoaZpQlgMoz0ApahjTiTWbZYu9v+MUqVjY61j2Bxr68' 1577 : 'bPF3uS1232qAyAQDMhr4MRyVZq5l2QcuwgY/oTozbgoIKycH' 1578 : '+yQxhzQsPJQ/ne9OmRKvYH1AeKA/EQRtzrmaYUiHUhpJOW4b' 1579 : 'reSaxZ/TVc3ZAQJKOagAJiw6pRHVkBMIBa5E+SUMWi0ZNW1R' 1580 : 'fn/xQXywHXyMHN5G8WF6gZ2IVjANHMIJQ1lAJQE8MJjZHJiU' 1581 : 'tQZAWzmkisDywTVWSqLkkQG2NNB3wwyaerqRGLNKpvwUOhaQ' 1582 : 'FiYcqviSjvp1n8WnRRzXFs9IXDxiiDd8HU/ROoAGn9+QgTPE' 1583 : 'Vu6HaN6i0VPuv1SCzwyZeHwBA1EjFYoAk2jJ3OFeJ5Gp1E+3' 1584 : 'Dlf3Aj70bbvmag5oyKHunVyGPq6+EnvTua/JUn3iadMHlqUa' 1585 : 'psK2T8SwCBJUF1JnEmhu0ntBthJoQpZqumsBk5mA1hRc0LR5' 1586 : 'ZFerdjksaCqt3IUWXcXW16vb6xdWyHLTgCaKXWKUKK1kOp9H' 1587 : 'K5B3ELjSdXb0loB5RYtS01L6h9yTPW51Wpqwgosr5I927aw6' 1588 : '401+YfwDria4WoQwAAA==' 1589 : } 1590 : } 1591 : } 1592 : } 1593 : } 1594 : } 1595 : } 1596 : } 1597 : } 1599 B.4. Embedded Certificate Image Example 1601 The following example displays a logotype extension containing one 1602 Certificate Image logotype using direct addressing. The Certificate 1603 Image logotype uses image/svg+xml-compressed. The logotype image is 1604 embedded in the certificate extension with a "data:" URI and the 1605 image is hashed by SHA-256. This example contains the image from 1606 Appendix B of RFC 6170, however, the media type used here is explicit 1607 about the use of GZIP compression [RFC1952]. 1609 The values on the left are the ASN.1 tag (in hexadecimal) and the 1610 length (in decimal). 1612 30 2910: SEQUENCE { 1613 06 8: OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12) 1614 04 2896: OCTET STRING, encapsulates { 1615 30 2892: SEQUENCE { 1616 A3 2888: [3] { 1617 30 2884: SEQUENCE { 1618 30 2880: SEQUENCE { 1619 06 8: OBJECT IDENTIFIER '1 3 6 1 5 5 7 20 3' 1620 A0 2866: [0] { 1621 30 2862: SEQUENCE { 1622 30 2858: SEQUENCE { 1623 16 24: IA5String 'image/svg+xml-compressed' 1624 30 49: SEQUENCE { 1625 30 47: SEQUENCE { 1626 30 11: SEQUENCE { 1627 06 9: OBJECT IDENTIFIER 1628 : sha-256 (2 16 840 1 101 3 4 2 1) 1629 : } 1630 04 32: OCTET STRING 1631 : 83 14 B3 26 9B D3 8B 0B 2A E6 6E 42 74 E2 A7 57 1632 : 7A 40 B7 E1 2E 53 42 44 CC 7C AE 14 68 1B 0E B6 1633 : } 1634 : } 1635 30 2777: SEQUENCE { 1636 16 2773: IA5String 1637 : 'data:image/svg+xml-compressed;base64,H4sICLXutU0' 1638 : 'AA0NlcnRJbWFnZURlbW8uc3ZnANVaW2/bOBZ+n19BqBigwdo' 1639 : 'S7xK9jmeapB0EWHQHzez2WZZoR1tZMiQ5jvvr95CSL7Gl1Em' 1640 : '8C9d9iERSPOd85+O5EB3+9jhL0YMuyiTPLh3iYgfpLMrjJJt' 1641 : 'eOv/661M/cFBZhVkcpnmmL50sd34b/TIsH6YoiS+da11UySS' 1642 : 'Jwkqj21k41Q6CDbNyUMSTS+e+quYDz1sul+6SuXkx9YhSysP' 1643 : 'Uo7QPK/rlKqvCx35Wvmu+a/uGYow9EOigh0Qvr/LHSwcjjDj' 1644 : 'GiGHQ914n0/sKlMf4Vwctk7i6X7/sGEYdNA5L/WeRT5IUDKm' 1645 : 'SbLVWNoo2cqNCh1XyoKN8Nsuz0iqwVW8Qb1fOF0Vqp+PI06m' 1646 : 'e6awqPeISzxn9goYzXYVxWIUWpfWLCMwcGoLpgy83n8wzGkb' 1647 : 'R4GtefENmMBznC7DEroKpOBpM8mIWVqPEYGtA+BvoMfS2E5u' 1648 : 'F1Wqu7R6FLvNFEelWReNolpiV3l2VpGntMW9nk6RKdf0+9Br' 1649 : 'FrMbeVuWhtzbHvMR6UlobPyVpBWjXBk7six2vH5nCwY6nXCo' 1650 : '5xb7YusvFVPqCOGh16fSxSxglmPkScLfvmDDmC4FlDc1wov8' 1651 : 'IF2WZhNlVumgEPRliimDD3PhGPyTgUUMC6lKqKAjxaptq1bo' 1652 : 'UJvQFsvi+LOJyxZkPE/vCwHuAmXmoj1AarnRBatzqkbv7cK5' 1653 : 'Ls2ORfwM/vsOG5lURZqXxOnDXPKZw5t5jVzIhFKO0B6D6hAR' 1654 : 'SXDR6Fzqq7H7mQeJAOQiUSPvFIrUHOfuui3zrFI5dYVeAmpc' 1655 : 'OcOb9u63vLjae4kYX4yRifYPrTa2SlMigYdO+cEWeGADMLZL' 1656 : 'H96SH4R9xRYApl6q3Y02f+NzlRAl+cZSKhB6qSIVa80fsqMn' 1657 : 'WOqZJpmsXwAPoyNaQ95uNIGasKPwhxGzQzOXzMIIzBKabmLI' 1658 : 'il470zfSjWWn+kvpvLQ9g1l3yRIc8gukz0uysEcakcDfy3KM' 1659 : 'k+l0SOXlOopltJL7EPtUlzZfP4tnM70k8xkKCySt92MwfIXP' 1660 : 'oTe0pnu4dYbp7hJ/kxWySN0ey0o/1qbiCsxDXJMWWo37QekB' 1661 : 'cAUFPSGkPCnUJF5wwBacDK5cGlEp4BC2lYoJcrNNGVc7DzIq' 1662 : 'xT4CKsPlrAG8mL8whRejiQe9EmImIAoz3sds9NxP4RZEzugq' 1663 : 'zb7c3Q89u3WQKY9aegbsA/AUJB/bJs6pfJt9BHFEuk5DWITz' 1664 : 'OH5uZSThLUsDjQ5GE6RMsyihMTaQLfA6BIiAQMAhnHHN1sd6' 1665 : '1WtUhDVJiuhkrdBXd740+hLB9Vm1HjQe4ywLOBLWOMMiyQAX' 1666 : 'NB8sm9Gx2qdGgGkMG6wY8aLfqgH4dfnmrVc+pPrE/Z/QnZOs' 1667 : '8C1Okb2/ggwLdxlDC1D6DFPZDD98txv8xQf5TEc7Ax6ZyaDf' 1668 : '6BC4SylWKCMqtizp80+UMchATal63qHq0M3ZTs83Ob/XO6LY' 1669 : 'sFzpGVY5+iLxdWvwY+NaKoR/0iJIXL3dBjT2hG+wO+NXm53X' 1670 : 'StSh1eogfeojV35BTOaqh/cmPUe2Mdp91pQp2CjWOO2k7Oam' 1671 : 'hjU1HB3DLGm66n6iajz4bqn2oICmNFxDR/x2mC5s+rKhlkUA' 1672 : '3Ne3P8lgP0qJfjf9uvu+HWXSfFwNoH4uqGUmTadYMtOc7yjE' 1673 : 'Ed9EUhkwEEOcDSHKQ+yhnSvUYRH8miQo2FK5TCjWZZGWKB8i' 1674 : 'HPud16wApnCvTOzjIFAj9TQdCxa+ddOTizaa1xJvD0qMrKx+' 1675 : 'Ydaj6iwJQG0vaSdYWpTv4HwVRAP3Z6ONjOJunEIeKRVmhujp' 1676 : 'A2+wPmQR9WFQAFhh9bGQzFEXX+WwOnXq8pV35P2Acdn0pGeb' 1677 : 'cMg7OgQKaEdOKEAkFlk/9HuEKGBVwucc4AjnJ/LBYU09hVwW' 1678 : 'Y1F0HlBUC2lbyIuYF58O8p+adMwUt9YAoX/IwRtAC9NAdBAy' 1679 : 'GuEB3VR59u8/TGYx9/Xjz8bPB/Z/F9B0SghBK+4xxfiwtr0G' 1680 : 'XECqedQQ9PRVpEAQ+26MidbGSmPm8RwRzcQsT17EPSmoorH3' 1681 : '+av4Jcj78O/vIp/uzMEkHKAE6/F7VHHSj8HddR0Q3ymcGZfR' 1682 : 'VjwfmOnNn3GuWR+FzhcPmPqiptHcayacT28T8j3Cs0/LQCwo' 1683 : '6J2iYxP4R58AsobjFegusoJhuq7VNS2evRPcqASvQki+gbkB' 1684 : 'YwETNPt/1A2pT6UErR1zMzUITZRvF5Lp5basO1fk2U4aBSjk' 1685 : 'ji8quL3cDyW7TpI3unxezMcSTNhQJhfpGctKgKN2Amo7/7Sh' 1686 : 'Sev4oXicPSYS+6GkCm9a1Qw3VEchCUA+z5HtTcbQhK6F14YF' 1687 : 'Up+Yn7WgmzwpZCDf5DDiXT9B7U6RdHAHpdb7IqmLVjqZSLnT' 1688 : 'W61zjQ7/G7D3hm9E846uTDZoNMADmLlm7IG2ieXfUtu1US9T' 1689 : 'eNGUHibE9Nv//2jRJGZfQmK3v7ykJJOv1IXjBsDCPpmgWppe' 1690 : '6sHxR3KVSQKqp+WIqammuJbtqkxZmMHry4oS/9pLhdCXKq8u' 1691 : 'R0R+LDEqCKRxqc5VXdvPvIP+ggwR0RkyBfO9iKZvrWGAKVdz' 1692 : '31cuocvoO/qemClFMYEFEH7oI+vpkek4s4bCMBqK+5mHQUlD' 1693 : 'pE/oylpy+2/6pWXK31PEYagP04epV1cE50UMy6IQZeQM7+Ol' 1694 : '74Z+eHfpHNc7OjffQ/HeV0X8BopoDkGEkAAA=' 1695 : } 1696 : } 1697 : } 1698 : } 1699 : } 1700 : } 1701 : } 1702 : } 1703 : } 1704 : } 1706 Appendix C. Changes Since RFC 3709 and RFC 6170 1708 This appendix summarizes the changes since RFC 3709. The changes 1709 are: 1711 * Combine RFC 3709 and RFC 6170 into one document, and encourage 1712 implementers to support the "data" URI scheme (data:...) that was 1713 originally specified in RFC 6170. Merging RFC 3709 and RFC 6170 1714 lead to many editoral changes throughout the document. 1716 * Drop SHA-1 as the mandatory-to-implement hash algorithm, and 1717 encourage use of the one-way hash function that is employed by the 1718 certificate signature algorithm. 1720 * Update the reference for language tags to be RFC 5646 instead of 1721 the now obsolete RFC 3066. 1723 * Update the reference for the URI Generic Syntax to be RFC 3986 1724 instead of the now obsolete RFC 2396. 1726 * Update the reference for the application/pdf media type to be RFC 1727 8118 instead of the now obsolete RFC 3778. 1729 * No longer require support for the FTP scheme (ftp://...) URI. 1731 * Require support for the HTTP scheme (http://...) URI and the HTTPS 1732 scheme (https://...) URI. 1734 * Require support for the compressed SVG image format with the 1735 image/svg+xml+gzip media type. 1737 * Media types MUST follow the ABNF [RFC5234] that is provided in 1738 Section 4.2 of [RFC6838]. This change resolves Errata ID 2679. 1740 * Remove the requirement that the LogotypeData file name have a file 1741 extension of ".LTD". This change resolves Errata ID 2325. 1743 * Provide ASN.1 modules for the older syntax [OLD-ASN1] and most 1744 recent syntax [NEW-ASN1]. 1746 * Provide additional references. 1748 * Provide additional examples. 1750 Authors' Addresses 1752 Stefan Santesson 1753 IDsec Solutions AB 1754 Forskningsbyn Ideon 1755 SE-223 70 Lund 1756 Sweden 1757 Email: sts@aaa-sec.com 1758 Russ Housley 1759 Vigil Security, LLC 1760 516 Dranesville Road 1761 Herndon, VA, 20170 1762 United States of America 1763 Email: housley@vigilsec.com 1765 Trevor Freeman 1766 Amazon Web Services 1767 1918 8th Ave 1768 Seattle, WA, 98101 1769 United States of America 1770 Email: frtrevor@amazon.com 1772 Leonard Rosenthol 1773 Adobe 1774 345 Park Avenue 1775 San Jose, CA, 95110 1776 United States of America 1777 Email: lrosenth@adobe.com