rfc9399.original   rfc9399.txt 
Network Working Group S. Santesson Internet Engineering Task Force (IETF) S. Santesson
Internet-Draft IDsec Solutions Request for Comments: 9399 IDsec Solutions
Obsoletes: 3709, 6170 (if approved) R. Housley Obsoletes: 3709, 6170 R. Housley
Intended status: Standards Track Vigil Security Category: Standards Track Vigil Security
Expires: 14 June 2023 T. Freeman ISSN: 2070-1721 T. Freeman
Amazon Web Services Amazon Web Services
L. Rosenthol L. Rosenthol
Adobe Adobe
11 December 2022 April 2023
Internet X.509 Public Key Infrastructure: Logotypes in X.509 Internet X.509 Public Key Infrastructure: Logotypes in X.509
Certificates Certificates
draft-ietf-lamps-rfc3709bis-10
Abstract Abstract
This document specifies a certificate extension for including This document specifies a certificate extension for including
logotypes in public key certificates and attribute certificates. logotypes in public key certificates and attribute certificates.
This document obsoletes RFC 3709 and RFC 6170. This document obsoletes RFCs 3709 and 6170.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on 14 June 2023. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9399.
Copyright Notice Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the Copyright (c) 2023 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction
1.1. Certificate-based Identification . . . . . . . . . . . . 4 1.1. Certificate-Based Identification
1.2. Selection of Certificates . . . . . . . . . . . . . . . . 5 1.2. Selection of Certificates
1.3. Combination of Verification Techniques . . . . . . . . . 5 1.3. Combination of Verification Techniques
1.4. Terminology . . . . . . . . . . . . . . . . . . . . . . . 6 1.4. Requirements Language
2. Different Types of Logotypes in Certificates . . . . . . . . 6 2. Different Types of Logotypes in Certificates
3. Logotype Data . . . . . . . . . . . . . . . . . . . . . . . . 7 3. Logotype Data
4. Logotype Extension . . . . . . . . . . . . . . . . . . . . . 8 4. Logotype Certificate Extension
4.1. Extension Format . . . . . . . . . . . . . . . . . . . . 8 4.1. Extension Format
4.2. Conventions for LogotypeImageInfo . . . . . . . . . . . . 12 4.2. Conventions for LogotypeImageInfo
4.3. Embedded Images . . . . . . . . . . . . . . . . . . . . . 13 4.3. Embedded Images
4.4. Other Logotypes . . . . . . . . . . . . . . . . . . . . . 13 4.4. Other Logotypes
4.4.1. Loyalty Logotype . . . . . . . . . . . . . . . . . . 14 4.4.1. Loyalty Logotype
4.4.2. Certificate Background Logotype . . . . . . . . . . . 14 4.4.2. Certificate Background Logotype
4.4.3. Certificate Image Logotype . . . . . . . . . . . . . 14 4.4.3. Certificate Image Logotype
5. Type of Certificates . . . . . . . . . . . . . . . . . . . . 16 5. Type of Certificates
6. Use in Clients . . . . . . . . . . . . . . . . . . . . . . . 16 6. Use in Clients
7. Image Formats . . . . . . . . . . . . . . . . . . . . . . . . 17 7. Image Formats
8. Audio Formats . . . . . . . . . . . . . . . . . . . . . . . . 19 8. Audio Formats
9. Security Considerations . . . . . . . . . . . . . . . . . . . 20 9. Security Considerations
10. Privacy Considerations . . . . . . . . . . . . . . . . . . . 22 10. Privacy Considerations
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 11. IANA Considerations
12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 25 12. References
12.1. Acknowledgments from RFC 3709 . . . . . . . . . . . . . 25 12.1. Normative References
12.2. Acknowledgments from RFC 6170 . . . . . . . . . . . . . 25 12.2. Informative References
12.3. Additional Acknowledgments . . . . . . . . . . . . . . . 25 Appendix A. ASN.1 Modules
13. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 A.1. ASN.1 Modules with 1988 Syntax
13.1. Normative References . . . . . . . . . . . . . . . . . . 25 A.2. ASN.1 Module with 2002 Syntax
13.2. Informative References . . . . . . . . . . . . . . . . . 27 Appendix B. Examples
Appendix A. ASN.1 Modules . . . . . . . . . . . . . . . . . . . 29 B.1. Example from RFC 3709
A.1. ASN.1 Modules with 1988 Syntax . . . . . . . . . . . . . 29 B.2. Issuer Organization Logotype Example
A.2. ASN.1 Module with 2002 Syntax . . . . . . . . . . . . . . 32 B.3. Embedded Image Example
Appendix B. Examples . . . . . . . . . . . . . . . . . . . . . . 35 B.4. Embedded Certificate Image Example
B.1. Example from RFC 3709 . . . . . . . . . . . . . . . . . . 35 B.5. Full Certificate Example
B.2. Issuer Logotype Example . . . . . . . . . . . . . . . . . 36 Appendix C. Changes since RFCs 3709 and 6170
B.3. Embedded Image Example . . . . . . . . . . . . . . . . . 37 Acknowledgments
B.4. Embedded Certificate Image Example . . . . . . . . . . . 39 Authors' Addresses
B.5. Full Certificate Example . . . . . . . . . . . . . . . . 42
Appendix C. Changes Since RFC 3709 and RFC 6170 . . . . . . . . 45
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 46
1. Introduction 1. Introduction
This specification supplements [RFC5280], which profiles public-key This specification supplements [RFC5280], which profiles public key
certificates and certificate revocation lists (CRLs) for use in the certificates and certificate revocation lists (CRLs) for use in the
Internet, and it supplements [RFC5755] which profiles attribute Internet, and it supplements [RFC5755], which profiles attribute
certificates for use in the Internet. certificates for use in the Internet.
This document obsoletes RFC 3709 [RFC3709] and RFC 6170 [RFC6170]. This document obsoletes [RFC3709] and [RFC6170]. Appendix C provides
Appendix C provides a summary of the changes since the publication of a summary of the changes since the publication of [RFC3709] and
RFC 3709 and RFC 6170. [RFC6170].
The basic function of a certificate is to bind a public key to the The basic function of a certificate is to bind a public key to the
identity of an entity (the subject). From a strictly technical identity of an entity (the subject). From a strictly technical
viewpoint, this goal could be achieved by signing the identity of the viewpoint, this goal could be achieved by signing the identity of the
subject together with its public key. However, the art of Public Key subject together with its public key. However, the art of Public Key
Infrastructure (PKI) has developed certificates far beyond this Infrastructure (PKI) has developed certificates far beyond this
functionality in order to meet the needs of modern global networks functionality in order to meet the needs of modern global networks
and heterogeneous information and operational technology structures. and heterogeneous information and operational technology structures.
Certificate users must be able to determine certificate policies, Certificate users must be able to determine certificate policies,
skipping to change at page 3, line 43 skipping to change at line 128
Much of the information contained in certificates is appropriate and Much of the information contained in certificates is appropriate and
effective for machine processing; however, this information is not effective for machine processing; however, this information is not
suitable for a corresponding human trust and recognition process. suitable for a corresponding human trust and recognition process.
Humans prefer to structure information into categories and symbols. Humans prefer to structure information into categories and symbols.
Most humans associate complex structures of reality with easily Most humans associate complex structures of reality with easily
recognizable logotypes and marks. Humans tend to trust things that recognizable logotypes and marks. Humans tend to trust things that
they recognize from previous experiences. Humans may examine they recognize from previous experiences. Humans may examine
information to confirm their initial reaction. Very few consumers information to confirm their initial reaction. Very few consumers
actually read all terms and conditions they agree to in accepting a actually read all terms and conditions they agree to in accepting a
service, rather they commonly act on trust derived from previous service; instead, they commonly act on trust derived from previous
experience and recognition. experience and recognition.
A big part of this process is branding. Service providers and A big part of this process is branding. Service providers and
product vendors invest a lot of money and resources into creating a product vendors invest a lot of money and resources into creating a
strong relation between positive user experiences and easily strong relation between positive user experiences and easily
recognizable trademarks, servicemarks, and logotypes. recognizable trademarks, servicemarks, and logotypes.
Branding is also pervasive in identification instruments, including Branding is also pervasive in identification instruments, including
identification cards, passports, driver's licenses, credit cards, identification cards, passports, driver's licenses, credit cards,
gasoline cards, and loyalty cards. Identification instruments are gasoline cards, and loyalty cards. Identification instruments are
skipping to change at page 4, line 20 skipping to change at line 151
service or any other group. Identification instruments, in physical service or any other group. Identification instruments, in physical
form, commonly use logotypes and symbols, solely to enhance human form, commonly use logotypes and symbols, solely to enhance human
recognition and trust in the identification instrument itself. They recognition and trust in the identification instrument itself. They
may also include a registered trademark to allow legal recourse for may also include a registered trademark to allow legal recourse for
unauthorized duplication. unauthorized duplication.
Since certificates play an equivalent role in electronic exchanges, Since certificates play an equivalent role in electronic exchanges,
we examine the inclusion of logotypes in certificates. We consider we examine the inclusion of logotypes in certificates. We consider
certificate-based identification and certificate selection. certificate-based identification and certificate selection.
1.1. Certificate-based Identification 1.1. Certificate-Based Identification
The need for human recognition depends on the manner in which The need for human recognition depends on the manner in which
certificates are used and whether certificates need to be visible to certificates are used and whether certificates need to be visible to
human users. If certificates are to be used in open environments and human users. If certificates are to be used in open environments and
in applications that bring the user in conscious contact with the in applications that bring the user in conscious contact with the
result of a certificate-based identification process, then human result of a certificate-based identification process, then human
recognition is highly relevant, and may be a necessity. recognition is highly relevant and may be a necessity.
Examples of such applications include: Examples of such applications include:
* Web server identification where a user identifies the owner of the * Web server identification where a user identifies the owner of the
website. website.
* Peer e-mail exchange in business-to-business (B2B), business-to- * Peer email exchange in business-to-business (B2B), business-to-
consumer (B2C), and private communications. consumer (B2C), and private communications.
* Exchange of medical records, and system for medical prescriptions. * Exchange of medical records and system for medical prescriptions.
* Unstructured e-business applications (i.e., non-EDI applications). * Unstructured e-business applications (i.e., non-EDI applications).
* Wireless client authenticating to a service provider. * Wireless client authenticating to a service provider.
Most applications provide the human user with an opportunity to view Most applications provide the human user with an opportunity to view
the results of a successful certificate-based identification process. the results of a successful certificate-based identification process.
When the user takes the steps necessary to view these results, the When the user takes the steps necessary to view these results, the
user is presented with a view of a certificate. This solution has user is presented with a view of a certificate. This solution has
two major problems. First, the function to view a certificate is two major problems. First, the function to view a certificate is
skipping to change at page 5, line 21 skipping to change at line 200
1.2. Selection of Certificates 1.2. Selection of Certificates
One situation where software applications must expose human users to One situation where software applications must expose human users to
certificates is when the user must select a single certificate from a certificates is when the user must select a single certificate from a
portfolio of certificates. In some cases, the software application portfolio of certificates. In some cases, the software application
can use information within the certificates to filter the list for can use information within the certificates to filter the list for
suitability; however, the user must be queried if more than one suitability; however, the user must be queried if more than one
certificate is suitable. The human user must select one of them. certificate is suitable. The human user must select one of them.
This situation is comparable to a person selecting a suitable plastic This situation is comparable to a person selecting a suitable plastic
card from his wallet. In this situation, substantial assistance is card from their wallet. In this situation, substantial assistance is
provided by card color, location, and branding. provided by card color, location, and branding.
In order to provide similar support for certificate selection, the In order to provide similar support for certificate selection, the
users need tools to easily recognize and distinguish certificates. users need tools to easily recognize and distinguish certificates.
Introduction of logotypes into certificates provides the necessary Introduction of logotypes into certificates provides the necessary
graphic. graphic.
1.3. Combination of Verification Techniques 1.3. Combination of Verification Techniques
The use of logotypes will, in many cases, affect the users decision The use of logotypes will, in many cases, affect the user's decision
to trust and use a certificate. It is therefore important that there to trust and use a certificate. It is therefore important that there
be a distinct and clear architectural and functional distinction be a distinct and clear architectural and functional distinction
between the processes and objectives of the automated certificate between the processes and objectives of the automated certificate
verification and human recognition. verification and human recognition.
Since logotypes are only aimed for human interpretation and contain Since logotypes are only aimed for human interpretation and contain
data that is inappropriate for computer based verification schemes, data that is inappropriate for computer-based verification schemes,
the logotype extension MUST NOT be an active component in automated the logotype certificate extension MUST NOT be an active component in
certification path validation as specified in Section 6 of [RFC5280]. automated certification path validation, as specified in Section 6 of
[RFC5280].
Automated certification path verification determines whether the end- Automated certification path verification determines whether the end
entity certificate can be verified according to defined policy. The entity certificate can be verified according to defined policy. The
algorithm for this verification is specified in [RFC5280]. algorithm for this verification is specified in [RFC5280].
The automated processing provides assurance that the certificate is The automated processing provides assurance that the certificate is
valid. It does not indicate whether the subject is entitled to any valid. It does not indicate whether the subject is entitled to any
particular information, or whether the subject ought to be trusted to particular information or whether the subject ought to be trusted to
perform a particular service. These are authorization decisions. perform a particular service. These are authorization decisions.
Automatic processing will make some authorization decisions, but Automatic processing will make some authorization decisions, but
others, depending on the application context, involve the human user. others, depending on the application context, involve the human user.
In some situations, where automated procedures have failed to In some situations, where automated procedures have failed to
establish the suitability of the certificate to the task, the human establish the suitability of the certificate to the task, the human
user is the final arbitrator of the post certificate verification user is the final arbitrator of the post certificate verification
authorization decisions. In the end, the human will decide whether authorization decisions. In the end, the human will decide whether
or not to accept an executable email attachment, to release personal or not to accept an executable email attachment, to release personal
information, or follow the instructions displayed by a web browser. information, or to follow the instructions displayed by a web
This decision will often be based on recognition and previous browser. This decision will often be based on recognition and
experience. previous experience.
The distinction between systematic processing and human processing is The distinction between systematic processing and human processing is
rather straightforward. They can be complementary. While the rather straightforward. They can be complementary. While the
systematic process is focused on certification path construction and systematic process is focused on certification path construction and
verification, the human acceptance process is focused on recognition verification, the human acceptance process is focused on recognition
and related previous experience. and related previous experience.
There are some situations where systematic processing and human There are some situations where systematic processing and human
processing interfere with each other. These issues are discussed in processing interfere with each other. These issues are discussed in
the Section 9. the Section 9.
1.4. Terminology 1.4. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in BCP
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
2. Different Types of Logotypes in Certificates 2. Different Types of Logotypes in Certificates
This specification defines the inclusion of three standard logotype This specification defines the inclusion of three standard logotype
types: types:
* Community logotype * community logotype
* Issuer organization logotype * issuer organization logotype
* Subject organization logotype * subject organization logotype
The community logotype is the general mark for a community. It The community logotype is the general mark for a community. It
identifies a service concept for entity identification and identifies a service concept for entity identification and
certificate issuance. Many issuers may use a community logotype to certificate issuance. Many issuers may use a community logotype to
co-brand with a global community in order to gain global recognition co-brand with a global community in order to gain global recognition
of its local service provision. This type of community branding is of its local service provision. This type of community branding is
very common in the credit card business, where local independent card very common in the credit card business, where local independent card
issuers include a globally recognized brand (such as VISA and issuers include a globally recognized brand (such as Visa and
MasterCard). Certificate issuers may include more than one community Mastercard). Certificate issuers may include more than one community
logotype to indicate participation in more than one global community. logotype to indicate participation in more than one global community.
Issuer organization logotype is a logotype representing the The issuer organization logotype is a logotype representing the
organization identified as part of the issuer name in the organization identified as part of the issuer name in the
certificate. certificate.
Subject organization logotype is a logotype representing the The subject organization logotype is a logotype representing the
organization identified in the subject name in the certificate. organization identified in the subject name in the certificate.
In addition to the standard logotype types, this specification In addition to the standard logotype types, this specification
accommodates inclusion of other logotype types where each class of accommodates inclusion of other logotype types where each class of
logotype is defined by an object identifier. The object identifier logotype is defined by an object identifier. The object identifier
can be either locally defined or an identifier defined in Section 4.4 can be either locally defined or an identifier defined in Section 4.4
of this document. of this document.
3. Logotype Data 3. Logotype Data
skipping to change at page 8, line 5 skipping to change at line 326
different formats, sizes, and color palates, may represent each different formats, sizes, and color palates, may represent each
logotype image. At least one of the image objects representing a logotype image. At least one of the image objects representing a
logotype SHOULD contain an image with a width between 60 pixels and logotype SHOULD contain an image with a width between 60 pixels and
200 pixels and a height between 45 pixels and 150 pixels. 200 pixels and a height between 45 pixels and 150 pixels.
Several instances of audio data may further represent the same audio Several instances of audio data may further represent the same audio
sequence in different formats, resolutions, and languages. At least sequence in different formats, resolutions, and languages. At least
one of the audio objects representing a logotype SHOULD provide text- one of the audio objects representing a logotype SHOULD provide text-
based audio data suitable for processing by text-to-speech software. based audio data suitable for processing by text-to-speech software.
A typical use of text based audio data is inclusion in web A typical use of text-based audio data is inclusion in web
applications where the audio text is placed as the "alt" atttribute applications where the audio text is placed as the "alt" attribute
value of an HTML image (img) element and the language value obtained value of an HTML image (img) element, and the language value obtained
from LogotypeAudioInfo is included as the "lang" attribute of that from LogotypeAudioInfo is included as the "lang" attribute of that
image. image.
If a logotype of a certain type (as defined in Section 2) is If a logotype of a certain type (as defined in Section 2) is
represented by more than one image object, then each image object represented by more than one image object, then each image object
MUST contain variants of roughly the same visual content. Likewise, MUST contain variants of roughly the same visual content. Likewise,
if a logotype of a certain type is represented by more than one audio if a logotype of a certain type is represented by more than one audio
object, then the audio objects MUST contain variants of the same object, then the audio objects MUST contain variants of the same
audio information. A spoken message in different languages is audio information. A spoken message in different languages is
considered a variation of the same audio information. When more than considered a variation of the same audio information. When more than
skipping to change at page 8, line 36 skipping to change at line 357
logotype types. For example, it may display one subject organization logotype types. For example, it may display one subject organization
logotype while also displaying a community logotype, but it MUST NOT logotype while also displaying a community logotype, but it MUST NOT
display multiple image variants of the same community logotype. display multiple image variants of the same community logotype.
Each logotype present in a certificate MUST be represented by at Each logotype present in a certificate MUST be represented by at
least one image data object. least one image data object.
Client applications SHOULD enhance processing and off-line Client applications SHOULD enhance processing and off-line
functionality by caching logotype data. functionality by caching logotype data.
4. Logotype Extension 4. Logotype Certificate Extension
This section specifies the syntax and semantics of the logotype This section specifies the syntax and semantics of the logotype
certificate extension. certificate extension.
4.1. Extension Format 4.1. Extension Format
The logotype extension MAY be included in public key certificates The logotype certificate extension MAY be included in public key
[RFC5280] or attribute certificates [RFC5755]. The logotype certificates [RFC5280] or attribute certificates [RFC5755]. The
extension MUST be identified by the following object identifier: logotype certificate extension MUST be identified by the following
object identifier:
id-pe-logotype OBJECT IDENTIFIER ::= id-pe-logotype OBJECT IDENTIFIER ::=
{ iso(1) identified-organization(3) dod(6) internet(1) { iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-pe(1) 12 } security(5) mechanisms(5) pkix(7) id-pe(1) 12 }
This extension MUST NOT be marked critical. This extension MUST NOT be marked critical.
Logotype data may be referenced through either direct or indirect Logotype data may be referenced through either direct or indirect
addressing. Client applications SHOULD support both direct and addressing. Client applications SHOULD support both direct and
indirect addressing. Certificate issuing applications MUST support indirect addressing. Certificate issuing applications MUST support
skipping to change at page 9, line 30 skipping to change at line 400
external hashed data structure that contains information on the type, external hashed data structure that contains information on the type,
content, and location of each image and audio object. Indirect content, and location of each image and audio object. Indirect
addressing supports cases where each logotype is represented by many addressing supports cases where each logotype is represented by many
alternative audio or image objects. alternative audio or image objects.
Both direct and indirect addressing accommodate alternative URIs to Both direct and indirect addressing accommodate alternative URIs to
obtain exactly the same logotype data. This opportunity for obtain exactly the same logotype data. This opportunity for
replication is intended to improve availability. Therefore, if a replication is intended to improve availability. Therefore, if a
client is unable to fetch the item from one URI, the client SHOULD client is unable to fetch the item from one URI, the client SHOULD
try another URI in the sequence. All direct addressing URIs SHOULD try another URI in the sequence. All direct addressing URIs SHOULD
use the HTTPS scheme (https://...) or the HTTP scheme (http://...) or use the HTTPS scheme (https://...), the HTTP scheme (http://...), or
the DATA scheme (data://...) [RFC3986]. However, the "data" URI the DATA scheme (data://...) [RFC3986]. However, the "data" URI
scheme MUST NOT be used with the indirect addressing. Clients MUST scheme MUST NOT be used with the indirect addressing. Clients MUST
support retrieval of referenced LogoTypeData with the HTTP [RFC9110] support retrieval of the referenced LogotypeData with HTTP [RFC9110],
and the HTTP with TLS [RFC8446], or subsequent versions of these HTTP with TLS [RFC8446], or subsequent versions of these protocols.
protocols. Client applications SHOULD also support the "data" URI Client applications SHOULD also support the "data" URI scheme
scheme [RFC2397] for direct addressing with embedded logotype data [RFC2397] for direct addressing with embedded logotype data within
within the extension. the extension.
Note that the HTTPS scheme (https://...) requires the validation of Note that the HTTPS scheme (https://...) requires the validation of
other certificates to establish a secure connection. For this other certificates to establish a secure connection. For this
reason, the HTTP scheme (http://...) may be easier for a client to reason, the HTTP scheme (http://...) may be easier for a client to
handle. Also, the hash of the logotype data provides data integrity. handle. Also, the hash of the logotype data provides data integrity.
The logotype extension MUST have the following syntax: The logotype certificate extension MUST have the following syntax:
LogotypeExtn ::= SEQUENCE { LogotypeExtn ::= SEQUENCE {
communityLogos [0] EXPLICIT SEQUENCE OF LogotypeInfo OPTIONAL, communityLogos [0] EXPLICIT SEQUENCE OF LogotypeInfo OPTIONAL,
issuerLogo [1] EXPLICIT LogotypeInfo OPTIONAL, issuerLogo [1] EXPLICIT LogotypeInfo OPTIONAL,
subjectLogo [2] EXPLICIT LogotypeInfo OPTIONAL, subjectLogo [2] EXPLICIT LogotypeInfo OPTIONAL,
otherLogos [3] EXPLICIT SEQUENCE OF OtherLogotypeInfo otherLogos [3] EXPLICIT SEQUENCE OF OtherLogotypeInfo
OPTIONAL } OPTIONAL }
LogotypeInfo ::= CHOICE { LogotypeInfo ::= CHOICE {
direct [0] LogotypeData, direct [0] LogotypeData,
skipping to change at page 10, line 22 skipping to change at line 440
LogotypeImage ::= SEQUENCE { LogotypeImage ::= SEQUENCE {
imageDetails LogotypeDetails, imageDetails LogotypeDetails,
imageInfo LogotypeImageInfo OPTIONAL } imageInfo LogotypeImageInfo OPTIONAL }
LogotypeAudio ::= SEQUENCE { LogotypeAudio ::= SEQUENCE {
audioDetails LogotypeDetails, audioDetails LogotypeDetails,
audioInfo LogotypeAudioInfo OPTIONAL } audioInfo LogotypeAudioInfo OPTIONAL }
LogotypeDetails ::= SEQUENCE { LogotypeDetails ::= SEQUENCE {
mediaType IA5String, -- MIME media type name and optional mediaType IA5String, -- Media type name and optional
-- parameters -- parameters
logotypeHash SEQUENCE SIZE (1..MAX) OF HashAlgAndValue, logotypeHash SEQUENCE SIZE (1..MAX) OF HashAlgAndValue,
logotypeURI SEQUENCE SIZE (1..MAX) OF IA5String } logotypeURI SEQUENCE SIZE (1..MAX) OF IA5String }
LogotypeImageInfo ::= SEQUENCE { LogotypeImageInfo ::= SEQUENCE {
type [0] LogotypeImageType DEFAULT color, type [0] LogotypeImageType DEFAULT color,
fileSize INTEGER, -- In octets, 0=unspecified fileSize INTEGER, -- In octets, 0=unspecified
xSize INTEGER, -- Horizontal size in pixels xSize INTEGER, -- Horizontal size in pixels
ySize INTEGER, -- Vertical size in pixels ySize INTEGER, -- Vertical size in pixels
resolution LogotypeImageResolution OPTIONAL, resolution LogotypeImageResolution OPTIONAL,
skipping to change at page 11, line 27 skipping to change at line 493
the DER-encoded data with the syntax LogotypeData. the DER-encoded data with the syntax LogotypeData.
At least one of the optional elements in the LogotypeExtn structure At least one of the optional elements in the LogotypeExtn structure
MUST be present. MUST be present.
When using direct addressing, at least one of the optional elements When using direct addressing, at least one of the optional elements
in the LogotypeData structure MUST be present. in the LogotypeData structure MUST be present.
The LogotypeReference and LogotypeDetails structures explicitly The LogotypeReference and LogotypeDetails structures explicitly
identify one or more one-way hash functions employed to authenticate identify one or more one-way hash functions employed to authenticate
referenced image or audio objects. CAs MUST include a hash value for referenced image or audio objects. Certification Authorities (CAs)
each referenced object, calculated on the whole object. CAs MUST use MUST include a hash value for each referenced object, calculated on
the one-way hash function that is associated with the certificate the whole object. CAs MUST use the one-way hash function that is
signature to compute one hash value, and CAs MAY include other hash associated with the certificate signature to compute one hash value,
values. Clients MUST compute a one-way hash value using one of the and CAs MAY include other hash values. Clients MUST compute a one-
identified functions, and clients MUST discard the logotype data if way hash value using one of the identified functions, and clients
the computed hash value does not match the hash value in the MUST discard the logotype data if the computed hash value does not
certificate extension. match the hash value in the certificate extension.
A MIME type is used to specify the format of the image or audio A media type is used to specify the format of the image or audio
object containing the logotype data. The mediaType field MUST object containing the logotype data. The mediaType field MUST
contain a string that is constructed according to the ABNF [RFC5234] contain a string that is constructed according to the ABNF [RFC5234]
provided in Section 4.2 of [RFC6838]. MIME types MAY include rule for media-type provided in Section 8.3.1 of [RFC9110]. Media
parameters. types MAY include parameters. To keep the mediaType field as small
as possible, optional whitespace SHOULD NOT be included.
Image format requirements are specified in Section 7, and audio Image format requirements are specified in Section 7, and audio
format requirements are specified in Section 8. format requirements are specified in Section 8.
When language is specified, the language tag MUST use the [RFC5646] When language is specified, the language tag MUST use the syntax in
syntax. [RFC5646].
Logotype types defined in this specification are: The following logotype types are defined in this specification:
Community Logotype: If communityLogos is present, the logotypes * community logotype: If communityLogos is present, the logotypes
MUST represent one or more communities with which the certificate MUST represent one or more communities with which the certificate
issuer is affiliated. The communityLogos MAY be present in an end issuer is affiliated. The communityLogos MAY be present in an end
entity certificate, a CA certificate, or an attribute certificate. entity certificate, a CA certificate, or an attribute certificate.
The communityLogos contains a sequence of Community Logotypes, The communityLogos contains a sequence of community logotypes,
each representing a different community. If more than one each representing a different community. If more than one
Community logotype is present, they MUST be placed in order of community logotype is present, they MUST be placed in order of
preferred appearance. Some clients MAY choose to display a subset preferred appearance. Some clients MAY choose to display a subset
of the present community logos; therefore the placement within the of the present community logos; therefore, the placement within
sequence aids the client selection. The most preferred logotype the sequence aids the client selection. The most preferred
MUST be first in the sequence, and the least preferred logotype logotype MUST be first in the sequence, and the least preferred
MUST be last in the sequence. logotype MUST be last in the sequence.
Issuer Organization Logotype: If issuerLogo is present, the * issuer organization logotype: If issuerLogo is present, the
logotype MUST represent the issuer's organization. The logotype logotype MUST represent the issuer's organization. The logotype
MUST be consistent with, and require the presence of, an MUST be consistent with, and require the presence of, an
organization name stored in the organization attribute in the organization name stored in the organization attribute in the
issuer field (for either a public key certificate or attribute issuer field (for either a public key certificate or attribute
certificate). The issuerLogo MAY be present in an end entity certificate). The issuerLogo MAY be present in an end entity
certificate, a CA certificate, or an attribute certificate. certificate, a CA certificate, or an attribute certificate.
Subject Organization Logotype: If subjectLogo is present, the * subject organization logotype: If subjectLogo is present, the
logotype MUST represent the subject's organization. The logotype logotype MUST represent the subject's organization. The logotype
MUST be consistent with, and require the presence of, an MUST be consistent with, and require the presence of, an
organization name stored in the organization attribute in the organization name stored in the organization attribute in the
subject field (for either a public key certificate or attribute subject field (for either a public key certificate or attribute
certificate). The subjectLogo MAY be present in an end entity certificate). The subjectLogo MAY be present in an end entity
certificate, a CA certificate, or an attribute certificate. certificate, a CA certificate, or an attribute certificate.
The relationship between the subject organization and the subject The relationship between the subject organization and the subject
organization logotype, and the relationship between the issuer and organization logotype, and the relationship between the issuer and
either the issuer organization logotype or the community logotype, either the issuer organization logotype or the community logotype,
are relationships asserted by the issuer. The policies and practices are relationships asserted by the issuer. The policies and practices
employed by the issuer to check subject organization logotypes or employed by the issuer that check subject organization logotypes or
claims its issuer and community logotypes is outside the scope of claims about its issuer and community logotypes are outside the scope
this document. of this document.
4.2. Conventions for LogotypeImageInfo 4.2. Conventions for LogotypeImageInfo
When the optional LogotypeImageInfo is included with a logotype When the optional LogotypeImageInfo is included with a logotype
image, the parameters MUST be used with the following semantics and image, the parameters MUST be used with the following semantics and
restrictions. restrictions.
The xSize and ySize fields represent the recommended display size for The xSize and ySize fields represent the recommended display size for
the logotype image. When a value of 0 (zero) is present, no the logotype image. When a value of 0 (zero) is present, no
recommended display size is specified. When non-zero values are recommended display size is specified. When non-zero values are
present and these values differ from corresponding size values in the present and these values differ from corresponding size values in the
referenced image object, then the referenced image SHOULD be scaled referenced image object, then the referenced image SHOULD be scaled
to fit within the size parameters of LogotypeImageInfo, while to fit within the size parameters of LogotypeImageInfo while
preserving the x and y ratio. Dithering may produce a more preserving the x and y ratio. Dithering may produce a more
appropriate image than linear scaling. appropriate image than linear scaling.
The resolution field is redundant for all logotype image formats The resolution field is redundant for all logotype image formats
listed in Section 7. The optional resolution field SHOULD be omitted listed in Section 7. The optional resolution field SHOULD be omitted
when the image format already contains this information. when the image format already contains this information.
4.3. Embedded Images 4.3. Embedded Images
If the logotype image is provided through direct addressing, then the If the logotype image is provided through direct addressing, then the
image MAY be stored within the logotype certificate extension using image MAY be stored within the logotype certificate extension using
the "data" scheme [RFC2397]. The syntax of the "data" URI scheme the "data" scheme [RFC2397]. The syntax of the "data" URI scheme is
defined is included here for convenience: shown below, which incorporates Errata ID 2045 and uses modern ABNF
[RFC5234]:
dataurl := "data:" [ mediatype ] [ ";base64" ] "," data dataurl = "data:" [ media-type ] [ ";base64" ] "," data
mediatype := [ type "/" subtype ] *( ";" parameter ) data = *(reserved / unreserved / escaped)
data := *urlchar reserved = ";" / "/" / "?" / ":" / "@" / "&" / "=" / "+" /
parameter := attribute "=" value "$" / ","
unreserved = alphanum / mark
alphanum = ALPHA / DIGIT
mark = "-" / "_" / "." / "!" / "~" / "*" / "'" / "(" / ")"
escaped = "%" hex hex
hex = HEXDIG / "a" / "b" / "c" / "d" / "e" / "f"
When including the image data in the logotype extension using the where media-type is defined in Section 8.3.1 of [RFC9110] and ALPHA,
"data" URI scheme, the following conventions apply: DIGIT, and HEXDIG are defined in Appendix B.1 of [RFC5234].
When including the image data in the logotype certificate extension
using the "data" URI scheme, the following conventions apply:
* The value of mediaType in LogotypeDetails MUST be identical to the * The value of mediaType in LogotypeDetails MUST be identical to the
media type value in the "data" URL. media type value in the "data" URL.
* The hash of the image MUST be included in logotypeHash and MUST be * The hash of the image MUST be included in logotypeHash and MUST be
calculated over the same data as it would have been, had the image calculated over the same data as it would have been if the image
been referenced through a link to an external resource. had been referenced through a link to an external resource.
NOTE: As the "data" URI scheme is processed as a data source rather
than as a URL, the image data is typically not limited by any URL
length limit settings that otherwise apply to URLs in general.
NOTE: Implementations need to be cautious about the size of images | NOTE: As the "data" URI scheme is processed as a data source
included in a certificate in order to ensure that the size of the | rather than as a URL, the image data is typically not limited
certificate does not prevent the certificate from being used as | by any URL length limit settings that otherwise apply to URLs
intended. | in general.
|
| NOTE: Implementations need to be cautious about the size of
| images included in a certificate in order to ensure that the
| size of the certificate does not prevent the certificate from
| being used as intended.
4.4. Other Logotypes 4.4. Other Logotypes
Logotypes identified by otherLogos (as defined in Section 4.1) can be Logotypes identified by otherLogos (as defined in Section 4.1) can be
used to enhance the display of logotypes and marks that represent used to enhance the display of logotypes and marks that represent
partners, products, services, or any other characteristic associated partners, products, services, or any other characteristic associated
with the certificate or its intended application environment when the with the certificate or its intended application environment when the
standard logotype types are insufficient. standard logotype types are insufficient.
The conditions and contexts of the intended use of these logotypes The conditions and contexts of the intended use of these logotypes
are defined at the discretion of the local client application. are defined at the discretion of the local client application.
Three other logotype types are defined in the follow subsections. Three other logotype types are defined in the follow subsections.
4.4.1. Loyalty Logotype 4.4.1. Loyalty Logotype
When a loyalty logotype appears in the otherLogos, it MUST be When a loyalty logotype appears in otherLogos, it MUST be identified
identified by the id-logo-loyalty object identifier. by the id-logo-loyalty object identifier.
id-logo OBJECT IDENTIFIER ::= { id-pkix 20 } id-logo OBJECT IDENTIFIER ::= { id-pkix 20 }
id-logo-loyalty OBJECT IDENTIFIER ::= { id-logo 1 } id-logo-loyalty OBJECT IDENTIFIER ::= { id-logo 1 }
A loyalty logotype, if present, MUST contain a logotype associated A loyalty logotype, if present, MUST contain a logotype associated
with a loyalty program related to the certificate or its use. The with a loyalty program related to the certificate or its use. The
relation between the certificate and the identified loyalty program relation between the certificate and the identified loyalty program
is beyond the scope of this document. The logotype extension MAY is beyond the scope of this document. The logotype certificate
contain more than one Loyalty logotype. extension MAY contain more than one loyalty logotype.
If more than one loyalty logotype is present, they MUST be placed in If more than one loyalty logotype is present, they MUST be placed in
order of preferred appearance. Some clients MAY choose to display a order of preferred appearance. Some clients MAY choose to display a
subset of the present loyalty logotype data; therefore the placement subset of the present loyalty logotype data; therefore, the placement
within the sequence aids the client selection. The most preferred within the sequence aids the client selection. The most preferred
loyalty logotype data MUST be first in the sequence, and the least loyalty logotype data MUST be first in the sequence, and the least
preferred loyalty logotype data MUST be last in the sequence. preferred loyalty logotype data MUST be last in the sequence.
4.4.2. Certificate Background Logotype 4.4.2. Certificate Background Logotype
When a certificate background logotype appears in the otherLogos, it When a certificate background logotype appears in otherLogos, it MUST
MUST be identified by the id-logo-background object identifier. be identified by the id-logo-background object identifier.
id-logo-background OBJECT IDENTIFIER ::= { id-logo 2 } id-logo-background OBJECT IDENTIFIER ::= { id-logo 2 }
The certificate background logotype, if present, MUST contain a The certificate background logotype, if present, MUST contain a
graphical image intended as a background image for the certificate, graphical image intended as a background image for the certificate
and/or a general audio sequence for the certificate. The background and/or a general audio sequence for the certificate. The background
image MUST allow black text to be clearly read when placed on top of image MUST allow black text to be clearly read when placed on top of
the background image. The logotype extension MUST NOT contain more the background image. The logotype certificate extension MUST NOT
than one certificate background logotype. contain more than one certificate background logotype.
4.4.3. Certificate Image Logotype 4.4.3. Certificate Image Logotype
When a certificate image logotype appears in the otherLogos, it MUST When a certificate image logotype appears in otherLogos, it MUST be
be identified by the id-logo-certImage object identifier. identified by the id-logo-certImage object identifier.
id-logo-certImage OBJECT IDENTIFIER ::= { id-logo 3 } id-logo-certImage OBJECT IDENTIFIER ::= { id-logo 3 }
The certificate image logotype, if present, aids human interpretation The certificate image logotype, if present, aids human interpretation
of a certificate by providing meaningful visual information to the of a certificate by providing meaningful visual information to the
user interface (UI). The logotype extension MUST NOT contain more user interface (UI). The logotype certificate extension MUST NOT
than one certificate image logotype. contain more than one certificate image logotype.
Typical situations when a human needs to examine the visual Typical situations when a human needs to examine the visual
representation of a certificate are: representation of a certificate are:
* A person establishes a secured channel with an authenticated * A person establishes a secured channel with an authenticated
service. The person needs to determine the identity of the service. The person needs to determine the identity of the
service based on the authenticated credentials. service based on the authenticated credentials.
* A person validates the signature on critical information, such as * A person validates the signature on critical information, such as
signed executable code, and needs to determine the identity of the signed executable code, and needs to determine the identity of the
signer based on the signer's certificate. signer based on the signer's certificate.
* A person is required to select an appropriate certificate to be * A person is required to select an appropriate certificate to be
used when authenticating to a service or Identity Management used when authenticating to a service or identity management
infrastructure. The person needs to see the available infrastructure. The person needs to see the available
certificates in order to distinguish between them in the selection certificates in order to distinguish between them in the selection
process. process.
The display of certificate information to humans is challenging due The display of certificate information to humans is challenging due
to lack of well-defined semantics for critical identity attributes. to lack of well-defined semantics for critical identity attributes.
Unless the application has out-of-band knowledge about a particular Unless the application has out-of-band knowledge about a particular
certificate, the application will not know the exact nature of the certificate, the application will not know the exact nature of the
data stored in common identification attributes such as serialNumber, data stored in common identification attributes, such as
organizationName, country, etc. Consequently, the application can serialNumber, organizationName, country, etc. Consequently, the
display the actual data, but faces the problem of labeling that data application can display the actual data but faces the problem of
in the UI and informing the human about the exact nature (semantics) labeling that data in the UI and informing the human about the exact
of that data. It is also challenging for the application to nature (semantics) of that data. It is also challenging for the
determine which identification attributes are important to display application to determine which identification attributes are
and how to organize them in a logical order. important to display and how to organize them in a logical order.
When present, the certificate image MUST be a complete visual When present, the certificate image MUST be a complete visual
representation of the certificate. This means that the display of representation of the certificate. This means that the display of
this certificate image represents all information about the this certificate image represents all information about the
certificate that the issuer subjectively defines as relevant to show certificate that the issuer subjectively defines as relevant to show
to a typical human user within the typical intended use of the to a typical human user within the typical intended use of the
certificate, giving adequate information about at least the following certificate, giving adequate information about at least the following
three aspects of the certificate: three aspects of the certificate:
* Certificate Context * certificate context
* Certificate Issuer * certificate issuer
* Certificate Subject * certificate subject
Certificate Context information is visual marks and/or textual Certificate context information is visual marks and/or textual
information that helps the typical user to understand the typical information that helps the typical user to understand the typical
usage and/or purpose of the certificate. usage and/or purpose of the certificate.
It is up to the issuer to decide what information -- in the form of It is up to the issuer to decide what information -- in the form of
text, graphical symbols, and elements -- represents a complete visual text, graphical symbols, and elements -- represents a complete visual
representation of the certificate. However, the visual representation of the certificate. However, the visual
representation of Certificate Subject and Certificate Issuer representation of certificate subject and certificate issuer
information from the certificate MUST have the same meaning as the information from the certificate MUST have the same meaning as the
textual representation of that information in the certificate itself. textual representation of that information in the certificate itself.
Applications providing a Graphical User Interface (GUI) to the Applications providing a Graphical User Interface (GUI) to the
certificate user MAY present a certificate image as the only visual certificate user MAY present a certificate image as the only visual
representation of a certificate; however, the certificate user SHOULD representation of a certificate; however, the certificate user SHOULD
be able to easily obtain the details of the certificate content. be able to easily obtain the details of the certificate content.
5. Type of Certificates 5. Type of Certificates
Logotypes MAY be included in public key certificates and attribute Logotypes MAY be included in public key certificates and attribute
certificates at the discretion of the certificate issuer; however, certificates at the discretion of the certificate issuer; however,
the relying party MUST NOT use the logotypes as part of certification the relying party MUST NOT use the logotypes as part of certification
path validation or automated trust decision. The sole purpose of path validation or automated trust decisions. The sole purpose of
logotypes is to enhance the display of a particular certificate, logotypes is to enhance the display of a particular certificate,
regardless of its position in a certification path. regardless of its position in a certification path.
6. Use in Clients 6. Use in Clients
All PKI implementations require relying party software to have some All PKI implementations require relying party software to have some
mechanism to determine whether a trusted CA issues a particular mechanism to determine whether a trusted CA issues a particular
certificate. This is an issue for certification path validation, certificate. This is an issue for certification path validation,
including consistent policy and name checking. including consistent policy and name checking.
After a certification path is successfully validated, the replying After a certification path is successfully validated, the replying
party trusts the information that the CA includes in the certificate, party trusts the information that the CA includes in the certificate,
including any certificate extensions. The client software can choose including any certificate extensions. The client software can choose
to make use of such information, or the client software can ignore to make use of such information, or the client software can ignore
it. If the client is unable to support a provided logotype, the it. If the client is unable to support a provided logotype, the
client MUST NOT report an error, rather the client MUST behave as client MUST NOT report an error; instead, the client MUST behave as
though no logotype extension was included in the certificate. though no logotype certificate extension was included in the
Current standards do not provide any mechanism for cross-certifying certificate. Current standards do not provide any mechanism for
CAs to constrain subordinate CAs from including private extensions cross-certifying CAs to constrain subordinate CAs from including
(see Section 9). private extensions (see Section 9).
Consequently, if relying party software accepts a CA, then it should Consequently, if relying party software accepts a CA, then it should
be prepared to (unquestioningly) display the associated logotypes to be prepared to (unquestioningly) display the associated logotypes to
its human user, given that it is configured to do so. Information its human user, given that it is configured to do so. Information
about the logotypes is provided so that the replying party software about the logotypes is provided so that the replying party software
can select the one that will best meet the needs of the human user. can select the one that will best meet the needs of the human user.
This choice depends on the abilities of the human user, as well as This choice depends on the abilities of the human user, as well as
the capabilities of the platform on which the replaying party the capabilities of the platform on which the replaying party
software is running. If none of the provided logotypes meets the software is running. If none of the provided logotypes meets the
needs of the human user or matches the capabilities of the platform, needs of the human user or matches the capabilities of the platform,
then the logotypes can be ignored. then the logotypes can be ignored.
A client MAY, subject to local policy, choose to display none, one, A client MAY, subject to local policy, choose to display none, one,
or any number of the logotypes in the logotype extension. In many or any number of the logotypes in the logotype certificate extension.
cases, a client will be used in an environment with a good network In many cases, a client will be used in an environment with a good
connection and also used in an environment with little or no network network connection and also used in an environment with little or no
connectivity. For example, a laptop computer can be docked with a network connectivity. For example, a laptop computer can be docked
high-speed LAN connection, or it can be disconnected from the network with a high-speed LAN connection, or it can be disconnected from the
altogether. In recognition of this situation, the client MUST network altogether. In recognition of this situation, the client
include the ability to disable the fetching of logotypes. However, MUST include the ability to disable the fetching of logotypes.
locally cached logotypes can still be displayed when the user However, locally cached logotypes can still be displayed when the
disables the fetching of additional logotypes. user disables the fetching of additional logotypes.
A client MAY, subject to local policy, choose any combination of A client MAY, subject to local policy, choose any combination of
audio and image presentation for each logotype. That is, the client audio and image presentation for each logotype. That is, the client
MAY display an image with or without playing a sound, and it MAY play MAY display an image with or without playing a sound, and it MAY play
a sound with or without displaying an image. A client MUST NOT play a sound with or without displaying an image. A client MUST NOT play
more than one logotype audio sequence at the same time. more than one logotype audio sequence at the same time.
The logotype is to be displayed in conjunction with other identity The logotype is to be displayed in conjunction with other identity
information contained in the certificate. The logotype is not a information contained in the certificate. The logotype is not a
replacement for this identity information. replacement for this identity information.
skipping to change at page 18, line 5 skipping to change at line 807
other audio streams are being played. other audio streams are being played.
If the relying party software is unable to successfully validate a If the relying party software is unable to successfully validate a
particular certificate, then it MUST NOT display any logotype data particular certificate, then it MUST NOT display any logotype data
associated with that certificate. associated with that certificate.
7. Image Formats 7. Image Formats
Animated images SHOULD NOT be used. Animated images SHOULD NOT be used.
The following table lists many common image formats and the The following table lists common image formats and the corresponding
corresponding MIME type. The table also indicates the support media type. The table also indicates the support requirements for
requirements for these image formats. The filename extensions these image formats. The file name extensions commonly used for each
commonly used for each of these formats is also provided. of these formats is also provided. Implementations MAY support other
Implementations MAY support other image formats. image formats.
+========+==============+===========+============+============+ +========+==============+===========+============+============+
| Format | MIME Type | Extension | References | Implement? | | Format | Media Type | Extension | References | Implement? |
+========+==============+===========+============+============+ +========+==============+===========+============+============+
| JPEG | image/jpeg | .jpg | [JPEG] | MUST | | JPEG | image/jpeg | .jpg | [JPEG] | MUST |
| | | .jpeg | [RFC2046] | support | | | | .jpeg | [RFC2046] | support |
+--------+--------------+-----------+------------+------------+ +--------+--------------+-----------+------------+------------+
| GIF | image/gif | .gif | [GIF] | MUST | | GIF | image/gif | .gif | [GIF] | MUST |
| | | | [RFC2046] | support | | | | | [RFC2046] | support |
+--------+--------------+-----------+------------+------------+ +--------+--------------+-----------+------------+------------+
| SVG | image/ | .svg | [SVGT] | SHOULD | | SVG | image/ | .svg | [SVGT] | SHOULD |
| | svg+xml | | [SVGR] | support | | | svg+xml | | [SVGR] | support |
+--------+--------------+-----------+------------+------------+ +--------+--------------+-----------+------------+------------+
skipping to change at page 18, line 36 skipping to change at line 838
| PNG | image/png | .png | [ISO15948] | SHOULD | | PNG | image/png | .png | [ISO15948] | SHOULD |
| | | | [PNGR] | support | | | | | [PNGR] | support |
+--------+--------------+-----------+------------+------------+ +--------+--------------+-----------+------------+------------+
| PDF | application/ | .pdf | [ISO32000] | MAY | | PDF | application/ | .pdf | [ISO32000] | MAY |
| | pdf | | [ISO19005] | support | | | pdf | | [ISO19005] | support |
| | | | [RFC8118] | | | | | | [RFC8118] | |
+--------+--------------+-----------+------------+------------+ +--------+--------------+-----------+------------+------------+
Table 1: Image Formats Table 1: Image Formats
NOTE: The image/svg+xml-compressed media type is widely implemented, | NOTE: The image/svg+xml-compressed media type is widely
but it has not yet been registered with IANA. | implemented, but it has not yet been registered with IANA.
When a Scalable Vector Graphics (SVG) image is used, whether the When a Scalable Vector Graphics (SVG) image is used, whether the
image is compressed or not, the SVG Tiny profile [SVGT] MUST be image is compressed or not, the SVG Tiny profile [SVGT] MUST be
followed, with these additional restrictions: followed, with these additional restrictions:
* The SVG image MUST NOT contain any Internationalized Resource * The SVG image MUST NOT contain any Internationalized Resource
Identifier (IRI) references to information stored outside of the Identifier (IRI) references to information stored outside of the
SVG image of type B, C, or D, according to Section 14.1.4 of SVG image of type B, C, or D, according to Section 14.1.4 of
[SVGT]. [SVGT].
* The SVG image MUST NOT contain any 'script' element, according to * The SVG image MUST NOT contain any script element, according to
Section 15.2 of [SVGT]. Section 15.2 of [SVGT].
* The XML structure in the SVG file MUST use linefeed (0x0A) as the * The XML structure in the SVG file MUST use linefeed (0x0A) as the
end-of-line (EOL) character when calculating a hash over the SVG end-of-line (EOL) character when calculating a hash over the SVG
image. image.
When a GZIP-compressed SVG image is fetched with HTTP, the client When a GZIP-compressed SVG image is fetched with HTTP, the client
will receive a response that includes these headers: will receive a response that includes these headers:
Content-Type: image/svg+xml Content-Type: image/svg+xml
Content-Encoding: gzip Content-Encoding: gzip
In this case, the octet stream of type image/svg+xml is compressed In this case, the octet stream of type image/svg+xml is compressed
with GZIP [RFC1952] as specified in [SVGR]. with GZIP [RFC1952], as specified in [SVGR].
When an uncompressed SVG image is fetched with HTTP, the client will When an uncompressed SVG image is fetched with HTTP, the client will
receive a response with the same Content-Type header, but no Content- receive a response with the same Content-Type header but no Content-
Encoding header. Encoding header.
Whether the SVG image is GZIP-compressed or uncompressed, the hash Whether the SVG image is GZIP-compressed or uncompressed, the hash
value for the SVG image is calculated over the uncompressed SVG value for the SVG image is calculated over the uncompressed SVG
content with canonicalized EOL characters as specified above. content with canonicalized EOL characters, as specified above.
When an SVG image is embedded in the certificate extension using the When an SVG image is embedded in the certificate extension using the
"data" URL scheme, the SVG image data MUST be provided in GZIP- "data" URL scheme, the SVG image data MUST be provided in GZIP-
compressed form, and the XML structure, prior to compression, SHOULD compressed form, and the XML structure, prior to compression, SHOULD
use linefeed (0x0A) as the end-of-line (EOL) character. use linefeed (0x0A) as the end-of-line (EOL) character.
When a bitmap image is used, the PNG [ISO15948] format SHOULD be When a bitmap image is used, the PNG [ISO15948] format SHOULD be
used. used.
When a Portable Document Format (PDF) document according to According to [ISO32000], when a Portable Document Format (PDF)
[ISO32000] is used, it MUST also be formatted according to the document is used, it MUST also be formatted according to the profile
profile PDF/A [ISO19005]. PDF/A [ISO19005].
8. Audio Formats 8. Audio Formats
Implementations that support audio MUST support the MP3 audio format Implementations that support audio MUST support the MP3 audio format
[MP3] with a MIME type of "audio/mpeg" [RFC3003]. Implementations [MP3] with a media type of "audio/mpeg" [RFC3003]. Implementations
SHOULD support text-based audio data with a MIME type of "text/ SHOULD support text-based audio data with a media type of "text/
plain;charset=UTF-8". Implementations MAY support other audio plain;charset=UTF-8". Implementations MAY support other audio
formats. formats.
Text-based audio data using the MIME type of "text/plain;charset=UTF- Text-based audio data using the media type of "text/
8" is intended to be used by text-to-speech software. When this plain;charset=UTF-8" is intended to be used by text-to-speech
audio type is used, the following requirements apply: software. When this audio type is used, the following requirements
apply:
* LogotypeAudioInfo MUST be present and specify the language of the * LogotypeAudioInfo MUST be present and specify the language of the
text. text.
* The fileSize, playTime, and channels elements of LogotypeAudioInfo * The fileSize, playTime, and channels elements of LogotypeAudioInfo
MUST have the value of 0. MUST have the value of 0.
* The sampleRate element of LogotypeAudioInfo MUST be absent. * The sampleRate element of LogotypeAudioInfo MUST be absent.
9. Security Considerations 9. Security Considerations
Implementations that simultaneously display multiple logotype types Implementations that simultaneously display multiple logotype types
(subject organization, issuer, community, or other), MUST ensure that (subject organization, issuer organization, community, or other) MUST
there is no ambiguity as to the binding between the image and the ensure that there is no ambiguity as to the binding between the image
type of logotype that the image represents. "Logotype type" is and the type of logotype that the image represents. "Logotype type"
defined in Section 1.1, and it refers to the type of entity or is defined in Section 1.1, and it refers to the type of entity or
affiliation represented by the logotype, not the of binary format of affiliation represented by the logotype, not the of binary format of
the image or audio. the image or audio.
Logotypes are very difficult to securely and accurately define. Logotypes are very difficult to securely and accurately define.
Names are also difficult in this regard, but logotypes are even Names are also difficult in this regard, but logotypes are even
worse. It is quite difficult to specify what is, and what is not, a worse. It is quite difficult to specify what is, and what is not, a
legitimate logotype of an organization. There is an entire legal legitimate logotype of an organization. There is an entire legal
structure around this issue, and it will not be repeated here. structure around this issue, and it will not be repeated here.
However, issuers should be aware of the implications of including However, issuers should be aware of the implications of including
images associated with a trademark or servicemark before doing so. images associated with a trademark or servicemark before doing so.
skipping to change at page 21, line 5 skipping to change at line 948
dishonest or badly performing issuers, containing names and logotypes dishonest or badly performing issuers, containing names and logotypes
that the issuer has no claim to or has failed to check correctly. that the issuer has no claim to or has failed to check correctly.
Such certificates could be created in an attempt to socially engineer Such certificates could be created in an attempt to socially engineer
a user into accepting a certificate. The premise used for the a user into accepting a certificate. The premise used for the
logotype work is thus that logotype graphics in a certificate are logotype work is thus that logotype graphics in a certificate are
trusted only if the certificate is successfully validated within a trusted only if the certificate is successfully validated within a
valid path. It is thus imperative that the representation of any valid path. It is thus imperative that the representation of any
certificate that fails to validate is not enhanced in any way by certificate that fails to validate is not enhanced in any way by
using the logotype data. using the logotype data.
This underlines the necessity for CAs to provide reliable services, This underlines the necessity for CAs to provide reliable services
and the relying party's responsibility and need to carefully select and the relying party's responsibility and need to carefully select
which CAs are trusted to provide public key certificates. which CAs are trusted to provide public key certificates.
This also underlines the general necessity for relying parties to use This also underlines the general necessity for relying parties to use
up-to-date software libraries to render or dereference data from up-to-date software libraries to render or dereference data from
external sources, including logotype data in certificates, to external sources, including logotype data in certificates, to
minimize risks related to processing potentially malicious data minimize risks related to processing potentially malicious data
before it has been adequately verified and validated. Implementers before it has been adequately verified and validated. Implementers
should review the guidance in Section 7 of [RFC3986]. should review the guidance in Section 7 of [RFC3986].
Referenced image objects are hashed in order to bind the image to the Referenced image objects are hashed in order to bind the image to the
signature of the certificate. Some image types, such as SVG, allow signature of the certificate. Some image types, such as SVG, allow
part of the image to be collected from an external source by part of the image to be collected from an external source by
incorporating a reference to an external file that contains the incorporating a reference to an external file that contains the
image. If this feature were used within a logotype image, the hash image. If this feature were used within a logotype image, the hash
of the image would only cover the URI reference to the external image of the image would only cover the URI reference to the external image
file, but not the referenced image data. Clients SHOULD verify that file but not the referenced image data. Clients SHOULD verify that
SVG images meet all requirements listed in Section 7 and reject SVG images meet all requirements listed in Section 7 and reject
images that contain references to external data. images that contain references to external data.
CAs issuing certificates with embedded logotype images should be CAs issuing certificates with embedded logotype images should be
cautious when accepting graphics from the certificate requestor for cautious when accepting graphics from the certificate requester for
inclusion in the certificate if the hash algorithm used to sign the inclusion in the certificate if the hash algorithm used to sign the
certificate is vulnerable to collision attacks such as [RFC6151]. In certificate is vulnerable to collision attacks, as described in
such a case, the accepted image may contain data that could help an [RFC6151]. In such a case, the accepted image may contain data that
attacker to obtain colliding certificates with identical certificate could help an attacker to obtain colliding certificates with
signatures. identical certificate signatures.
Certification paths may also impose name constraints that are Certification paths may also impose name constraints that are
systematically checked during certification path processing, which, systematically checked during certification path processing, which,
in theory, may be circumvented by logotypes. in theory, may be circumvented by logotypes.
Certificate path processing as defined in [RFC5280] does not Certificate path processing, as defined in [RFC5280], does not
constrain the inclusion of logotype data in certificates. A parent constrain the inclusion of logotype data in certificates. A parent
CA can constrain certification path validation such that subordinate CA can constrain certification path validation such that subordinate
CAs cannot issue valid certificates to end-entities outside a limited CAs cannot issue valid certificates to end entities outside a limited
name space or outside specific certificate polices. A malicious CA name space or outside specific certificate policies. A malicious CA
can comply with these name and policy requirements and still include can comply with these name and policy requirements and still include
inappropriate logotypes in the certificates that it issues. These inappropriate logotypes in the certificates that it issues. These
certificates will pass the certification path validation algorithm, certificates will pass the certification path validation algorithm,
which means the client will trust the logotypes in the certificates. which means the client will trust the logotypes in the certificates.
Since there is no technical mechanism to prevent or control Since there is no technical mechanism to prevent or control
subordinate CAs from including the logotype extension or its subordinate CAs from including the logotype certificate extension or
contents, where appropriate, a parent CA could employ a legal its contents, where appropriate, a parent CA could employ a legal
agreement to impose a suitable restriction on the subordinate CA. agreement to impose a suitable restriction on the subordinate CA.
This situation is not unique to the logotype extension. This situation is not unique to the logotype certificate extension.
When a relying party fetches remote logotype data, a mismatch between When a relying party fetches remote logotype data, a mismatch between
the media type provided in the mediaType field of the LogotypeDetails the media type provided in the mediaType field of the LogotypeDetails
and the Content-Type HTTP header of the retrieved object MUST be and the Content-Type HTTP header of the retrieved object MUST be
treated as a failure and the fetched logotype data should not be treated as a failure, and the fetched logotype data should not be
presented to the user. However, if more than one location for the presented to the user. However, if more than one location for the
remote logotype data is provided in the certificate extension, the remote logotype data is provided in the certificate extension, the
relying party MAY try to fetch the remote logotype data from an relying party MAY try to fetch the remote logotype data from an
alternate location to resolve the failure. alternate location to resolve the failure.
When a subscriber requests the inclusion of remote logotype data in a When a subscriber requests the inclusion of remote logotype data in a
certificate, the CA cannot be sure that any logotype data will be certificate, the CA cannot be sure that any logotype data will be
available at the provided URI for the entire validity period of the available at the provided URI for the entire validity period of the
certificate. To mitigate this concern, the CA may provide the certificate. To mitigate this concern, the CA may provide the
logotype data from a server under its control, rather than a logotype data from a server under its control, rather than a
skipping to change at page 23, line 31 skipping to change at line 1068
Similarly, when fetching logotype data from a server, the server Similarly, when fetching logotype data from a server, the server
operator can determine which clients are making use of certificates operator can determine which clients are making use of certificates
that contain particular logotype data. As above, locally caching that contain particular logotype data. As above, locally caching
logotype data will eliminate the need to fetch the logotype data each logotype data will eliminate the need to fetch the logotype data each
time the certificate is used, and lack of caching would reveal usage time the certificate is used, and lack of caching would reveal usage
frequency. Even when implementations cache logotype data, regardless frequency. Even when implementations cache logotype data, regardless
of whether direct or indirect addressing is employed, the server of whether direct or indirect addressing is employed, the server
operator could observe when logotype data is fetched for the first operator could observe when logotype data is fetched for the first
time. time.
In addition, the use of an encrypted DNS mechanism, such as DoT In addition, the use of an encrypted DNS mechanism, such as DNS over
[RFC7858] or DoH [RFC9230], hides the name resolution traffic TLS (DoT) [RFC7858] or DNS over HTTPS (DoH) [RFC9230], hides the name
associated fetching remote logotype objects from third parties. resolution traffic, which is usually a first step in fetching remote
logotype objects.
When the "data" URI scheme is used with direct addressing, there is When the "data" URI scheme is used with direct addressing, there is
no network traffic to fetch logotype data, which avoids the no network traffic to fetch logotype data, which avoids the
observations of network traffic or server operations described above. observations of network traffic or server operations described above.
To obtain this benefit, the certificate will be larger than one that To obtain this benefit, the certificate will be larger than one that
contains a URL. Due to the improved privacy posture, the "data" URI contains a URL. Due to the improved privacy posture, the "data" URI
scheme with direct addressing will be the only one that is supported scheme with direct addressing will be the only one that is supported
by some CAs. Privacy-aware certificate subscribers MAY wish to by some CAs. Privacy-aware certificate subscribers MAY wish to
insist that logotype data is embedded in the certificate with the insist that logotype data is embedded in the certificate with the
"data" URI scheme with direct addressing. "data" URI scheme with direct addressing.
skipping to change at page 24, line 23 skipping to change at line 1101
certificate extension. certificate extension.
When the "data" URI scheme is used, the relying party MAY add the When the "data" URI scheme is used, the relying party MAY add the
embedded logotype data to the local cache, which could avoid the need embedded logotype data to the local cache, which could avoid the need
to fetch the logotype data if it is referenced by a URL in another to fetch the logotype data if it is referenced by a URL in another
certificate. certificate.
When fetching remote logotype data, relying parties should use the When fetching remote logotype data, relying parties should use the
most privacy-preserving options that are available to minimize the most privacy-preserving options that are available to minimize the
opportunities for servers to "fingerprint" clients. For example, opportunities for servers to "fingerprint" clients. For example,
avoid cookies, e-tags, and client certificates. avoid cookies, ETags, and client certificates.
When a relying party encounters a new certificate, the lack of When a relying party encounters a new certificate, the lack of
network traffic to fetch logotype data might indicate that a network traffic to fetch logotype data might indicate that a
certificate with references to the same logotype data has been certificate with references to the same logotype data has been
previously processed and cached. previously processed and cached.
TLS 1.3 [RFC8446] includes the ability to encrypt the server's TLS 1.3 [RFC8446] includes the ability to encrypt the server's
certificate in the TLS handshake, which helps hide the server's certificate in the TLS handshake, which helps hide the server's
identity from anyone that is watching activity on the network. If identity from anyone that is watching activity on the network. If
the server's certificate includes remote logotype data, the client the server's certificate includes remote logotype data, the client
fetching that data might disclose the otherwise protected server fetching that data might disclose the otherwise protected server
identity. identity.
11. IANA Considerations 11. IANA Considerations
For the new ASN.1 Module in Appendix A.2, IANA is requested to assign For the new ASN.1 module in Appendix A.2, IANA has assigned the
an object identifier (OID) for the module identifier. The OID for following OID in the "SMI Security for PKIX Module Identifier"
the module should be allocated in the "SMI Security for PKIX Module registry (1.3.6.1.5.5.7.0):
Identifier" registry (1.3.6.1.5.5.7.0).
For the existing entries in the Structure of Management Information +=========+======================+============+
(SMI) Numbers registry that refer to RFC 3709 or RFC 6170, IANA is | Decimal | Description | References |
requested update the entries to refer to this document. These +=========+======================+============+
entries are: | 107 | id-mod-logotype-2022 | RFC 9399 |
+---------+----------------------+------------+
1.3.6.1.5.5.7.0.22 id-mod-logotype Table 2
1.3.6.1.5.5.7.0.68 id-mod-logotype-certimage
1.3.6.1.5.5.7.1.12 id-pe-logotype
1.3.6.1.5.5.7.20.1 id-logo-loyalty
1.3.6.1.5.5.7.20.2 id-logo-background
1.3.6.1.5.5.7.20.3 id-logo-certImage
12. Acknowledgments IANA has updated the entries in the "Structure of Management
Information (SMI) Numbers" registry that referred to [RFC3709] or
[RFC6170] to refer to this document. These entries are noted in the
tables below.
12.1. Acknowledgments from RFC 3709 From the "SMI Security for PKIX Module Identifier" registry
(1.3.6.1.5.5.7.0):
This document is the result of contributions from many professionals. +=========+===========================+============+
The authors appreciate contributions from all members of the IETF | Decimal | Description | References |
PKIX Working Group. We extend a special thanks to Al Arsenault, +=========+===========================+============+
David Cross, Tim Polk, Russel Weiser, Terry Hayes, Alex Deacon, | 22 | id-mod-logotype | RFC 9399 |
Andrew Hoag, Randy Sabett, Denis Pinkas, Magnus Nystrom, Ryan Hurst, +---------+---------------------------+------------+
and Phil Griffin for their efforts and support. | 68 | id-mod-logotype-certimage | RFC 9399 |
+---------+---------------------------+------------+
Russ Housley thanks the management at RSA Laboratories, especially Table 3
Burt Kaliski, who supported the development of this specification.
The vast majority of the work on this specification was done while
Russ was employed at RSA Laboratories.
12.2. Acknowledgments from RFC 6170 From the "SMI Security for PKIX Certificate Extension" registry
(1.3.6.1.5.5.7.1):
The authors recognize valuable contributions from members of the PKIX +=========+================+============+
working group, the CA Browser Forum, and James Manger, for their | Decimal | Description | References |
review and sample data. +=========+================+============+
| 12 | id-pe-logotype | RFC 9399 |
+---------+----------------+------------+
12.3. Additional Acknowledgments Table 4
Combining RFC 3709 and RFC 6170 has produced an improved From the "SMI Security for PKIX Other Logotype Identifiers" registry
specification. The authors appreciate contributions from all members (1.3.6.1.5.5.7.20):
of the IETF LAMPS Working Group. We extend a special thanks to
Alexey Melnikov for his guidance on media types. We extend a special
thanks to Tim Geiser for his careful checking of the new examples in
Appendix B.4 and B.5. We extend a special thanks to Corey Bonnell,
Daniel Kahn Gillmor, Roman Danyliw, Paul Wouters, Paul Kyzivat,
Shuping Peng, Sheng Jiang, Rob Wilton, Eric Vyncke, Donald Eastlake,
and Dan Harkins for their careful review and helpful comments.
13. References +=========+====================+============+
| Decimal | Description | References |
+=========+====================+============+
| 1 | id-logo-loyalty | RFC 9399 |
+---------+--------------------+------------+
| 2 | id-logo-background | RFC 9399 |
+---------+--------------------+------------+
| 3 | id-logo-certImage | RFC 9399 |
+---------+--------------------+------------+
13.1. Normative References Table 5
12. References
12.1. Normative References
[GIF] CompuServe Incorporated, "Graphics Interchange Format", [GIF] CompuServe Incorporated, "Graphics Interchange Format",
Version 89a, 31 July 1990, Version 89a, July 1990,
<https://www.w3.org/Graphics/GIF/spec-gif89a.txt>. <https://www.w3.org/Graphics/GIF/spec-gif89a.txt>.
[ISO15948] ISO/IEC, "Information technology -- Computer graphics and [ISO15948] ISO/IEC, "Information technology -- Computer graphics and
image processing -- Portable Network Graphics (PNG): image processing -- Portable Network Graphics (PNG):
Functional specification", ISO/IEC 15948:2004, 2004. Functional specification", ISO/IEC 15948:2004, March 2004.
[JPEG] ITU-T, "Information technology -- Digital compression and [JPEG] ITU-T, "Information technology -- Digital compression and
coding of continuous-tone still images: JPEG File coding of continuous-tone still images: JPEG File
Interchange Format (JFIF)", ITU-T Recommendation T.871, Interchange Format (JFIF)", ITU-T Recommendation T.871,
ISO/IEC 10918-5:2013, May 2011. ISO/IEC 10918-5:2013, May 2013.
[MP3] ISO/IEC, "Information technology -- Generic coding of [MP3] ISO/IEC, "Information technology -- Generic coding of
moving pictures and associated audio information -- Part moving pictures and associated audio information -- Part
3: Audio", ISO/IEC 13818-3:1998, 1998. 3: Audio", ISO/IEC 13818-3:1998, April 1998.
[NEW-ASN1] ITU-T, "Information technology -- Abstract Syntax Notation [NEW-ASN1] ITU-T, "Information technology -- Abstract Syntax Notation
One (ASN.1): Specification of basic notation", ITU-T One (ASN.1): Specification of basic notation", ITU-T
Recommendation X.680, ISO/IEC 8824-1:2021, February 2021, Recommendation X.680, ISO/IEC 8824-1:2021, February 2021,
<https://www.itu.int/rec/T-REC-X.680>. <https://www.itu.int/rec/T-REC-X.680>.
[RFC1952] Deutsch, P., "GZIP file format specification version 4.3", [RFC1952] Deutsch, P., "GZIP file format specification version 4.3",
RFC 1952, DOI 10.17487/RFC1952, May 1996, RFC 1952, DOI 10.17487/RFC1952, May 1996,
<https://www.rfc-editor.org/info/rfc1952>. <https://www.rfc-editor.org/info/rfc1952>.
skipping to change at page 27, line 25 skipping to change at line 1246
[RFC5646] Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying [RFC5646] Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying
Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646, Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646,
September 2009, <https://www.rfc-editor.org/info/rfc5646>. September 2009, <https://www.rfc-editor.org/info/rfc5646>.
[RFC5755] Farrell, S., Housley, R., and S. Turner, "An Internet [RFC5755] Farrell, S., Housley, R., and S. Turner, "An Internet
Attribute Certificate Profile for Authorization", Attribute Certificate Profile for Authorization",
RFC 5755, DOI 10.17487/RFC5755, January 2010, RFC 5755, DOI 10.17487/RFC5755, January 2010,
<https://www.rfc-editor.org/info/rfc5755>. <https://www.rfc-editor.org/info/rfc5755>.
[RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type
Specifications and Registration Procedures", BCP 13,
RFC 6838, DOI 10.17487/RFC6838, January 2013,
<https://www.rfc-editor.org/info/rfc6838>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/info/rfc8446>. <https://www.rfc-editor.org/info/rfc8446>.
[RFC9110] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, [RFC9110] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,
Ed., "HTTP Semantics", STD 97, RFC 9110, Ed., "HTTP Semantics", STD 97, RFC 9110,
DOI 10.17487/RFC9110, June 2022, DOI 10.17487/RFC9110, June 2022,
<https://www.rfc-editor.org/info/rfc9110>. <https://www.rfc-editor.org/info/rfc9110>.
[SVGT] World Wide Web Consortium, "Scalable Vector Graphics (SVG) [SVGT] World Wide Web Consortium, "Scalable Vector Graphics (SVG)
Tiny 1.2 Specification", W3C PR-SVGTiny12-20081117, 17 Tiny 1.2 Specification", W3C REC-SVGTiny12-20081222,
November 2008, December 2008,
<https://www.w3.org/TR/2008/PR-SVGTiny12-20081117>. <http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/>.
13.2. Informative References 12.2. Informative References
[ISO19005] ISO, "Document management -- Electronic document file [ISO19005] ISO, "Document management -- Electronic document file
format for long-term preservation -- Part 1: Use of PDF format for long-term preservation -- Part 1: Use of PDF
1.4 (PDF/A-1)", ISO 19005-1:2005, 2005. 1.4 (PDF/A-1)", ISO 19005-1:2005, October 2005.
[ISO32000] ISO, "Document management -- Portable document format -- [ISO32000] ISO, "Document management -- Portable document format --
Part 1: PDF 1.7", ISO 32000-1:2008, 2008. Part 1: PDF 1.7", ISO 32000-1:2008, July 2008.
[OLD-ASN1] CCITT, "Specification of Abstract Syntax Notation One [OLD-ASN1] CCITT, "Specification of Abstract Syntax Notation One
(ASN.1)", CCITT Recommendation X.208, November 1988, (ASN.1)", CCITT Recommendation X.208, November 1988,
<https://www.itu.int/rec/T-REC-X.208/en>. <https://www.itu.int/rec/T-REC-X.208/en>.
[PNGR] World Wide Web Consortium, "Media Type Registration for [PNGR] World Wide Web Consortium, "Media Type Registration for
image/png", image/png",
<https://www.iana.org/assignments/media-types/image/png>. <https://www.iana.org/assignments/media-types/image/png>.
[RFC3709] Santesson, S., Housley, R., and T. Freeman, "Internet [RFC3709] Santesson, S., Housley, R., and T. Freeman, "Internet
skipping to change at page 29, line 32 skipping to change at line 1344
[SVGZR] "A separate MIME type for svgz files is needed", [SVGZR] "A separate MIME type for svgz files is needed",
<https://github.com/w3c/svgwg/issues/701>. <https://github.com/w3c/svgwg/issues/701>.
Appendix A. ASN.1 Modules Appendix A. ASN.1 Modules
A.1. ASN.1 Modules with 1988 Syntax A.1. ASN.1 Modules with 1988 Syntax
This appendix contains two ASN.1 modules, both using the old syntax This appendix contains two ASN.1 modules, both using the old syntax
[OLD-ASN1]. [OLD-ASN1].
The first ASN.1 module provides the syntax for the Logotype The first ASN.1 module provides the syntax for the logotype
certificate extension. Only comments have changed in the module from certificate extension. Only comments have changed in the module from
RFC 3709, and the IMPORTS now come from [RFC5280]. [RFC3709] and the IMPORTS now come from [RFC5280].
The second ASN.1 module provides the Certificate Image object The second ASN.1 module provides the certificate image object
identifier. The module is unchanged from RFC 6170. identifier. The module is unchanged from [RFC6170].
<CODE BEGINS> <CODE BEGINS>
LogotypeCertExtn LogotypeCertExtn
{ iso(1) identified-organization(3) dod(6) internet(1) { iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0) security(5) mechanisms(5) pkix(7) id-mod(0)
id-mod-logotype(22) } id-mod-logotype(22) }
DEFINITIONS IMPLICIT TAGS ::= DEFINITIONS IMPLICIT TAGS ::=
BEGIN BEGIN
IMPORTS IMPORTS
AlgorithmIdentifier FROM PKIX1Explicit88 -- RFC 5280 AlgorithmIdentifier FROM PKIX1Explicit88 -- RFC 5280
{ iso(1) identified-organization(3) dod(6) internet(1) { iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0) security(5) mechanisms(5) pkix(7) id-mod(0)
id-pkix1-explicit(18) }; id-pkix1-explicit(18) };
-- Logotype Extension OID -- Logotype Certificate Extension OID
id-pe-logotype OBJECT IDENTIFIER ::= id-pe-logotype OBJECT IDENTIFIER ::=
{ iso(1) identified-organization(3) dod(6) internet(1) { iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-pe(1) 12 } security(5) mechanisms(5) pkix(7) id-pe(1) 12 }
-- Logotype Extension Syntax -- Logotype Certificate Extension Syntax
LogotypeExtn ::= SEQUENCE { LogotypeExtn ::= SEQUENCE {
communityLogos [0] EXPLICIT SEQUENCE OF LogotypeInfo OPTIONAL, communityLogos [0] EXPLICIT SEQUENCE OF LogotypeInfo OPTIONAL,
issuerLogo [1] EXPLICIT LogotypeInfo OPTIONAL, issuerLogo [1] EXPLICIT LogotypeInfo OPTIONAL,
subjectLogo [2] EXPLICIT LogotypeInfo OPTIONAL, subjectLogo [2] EXPLICIT LogotypeInfo OPTIONAL,
otherLogos [3] EXPLICIT SEQUENCE OF OtherLogotypeInfo otherLogos [3] EXPLICIT SEQUENCE OF OtherLogotypeInfo
OPTIONAL } OPTIONAL }
-- Note: At least one of the OPTIONAL components MUST be present -- Note: At least one of the OPTIONAL components MUST be present
skipping to change at page 30, line 41 skipping to change at line 1402
LogotypeImage ::= SEQUENCE { LogotypeImage ::= SEQUENCE {
imageDetails LogotypeDetails, imageDetails LogotypeDetails,
imageInfo LogotypeImageInfo OPTIONAL } imageInfo LogotypeImageInfo OPTIONAL }
LogotypeAudio ::= SEQUENCE { LogotypeAudio ::= SEQUENCE {
audioDetails LogotypeDetails, audioDetails LogotypeDetails,
audioInfo LogotypeAudioInfo OPTIONAL } audioInfo LogotypeAudioInfo OPTIONAL }
LogotypeDetails ::= SEQUENCE { LogotypeDetails ::= SEQUENCE {
mediaType IA5String, -- MIME media type name and optional mediaType IA5String, -- Media type name and optional
-- parameters -- parameters
logotypeHash SEQUENCE SIZE (1..MAX) OF HashAlgAndValue, logotypeHash SEQUENCE SIZE (1..MAX) OF HashAlgAndValue,
logotypeURI SEQUENCE SIZE (1..MAX) OF IA5String } logotypeURI SEQUENCE SIZE (1..MAX) OF IA5String }
LogotypeImageInfo ::= SEQUENCE { LogotypeImageInfo ::= SEQUENCE {
type [0] LogotypeImageType DEFAULT color, type [0] LogotypeImageType DEFAULT color,
fileSize INTEGER, -- In octets, 0=unspecified fileSize INTEGER, -- In octets, 0=unspecified
xSize INTEGER, -- Horizontal size in pixels xSize INTEGER, -- Horizontal size in pixels
ySize INTEGER, -- Vertical size in pixels ySize INTEGER, -- Vertical size in pixels
resolution LogotypeImageResolution OPTIONAL, resolution LogotypeImageResolution OPTIONAL,
skipping to change at page 32, line 24 skipping to change at line 1480
END END
<CODE ENDS> <CODE ENDS>
A.2. ASN.1 Module with 2002 Syntax A.2. ASN.1 Module with 2002 Syntax
Some developers like to use the latest version of ASN.1 standards. Some developers like to use the latest version of ASN.1 standards.
This appendix provides an ASN.1 module to assist in that goal. It This appendix provides an ASN.1 module to assist in that goal. It
uses the ASN.1 syntax defined in [NEW-ASN1], and it follows the uses the ASN.1 syntax defined in [NEW-ASN1], and it follows the
conventions established in [RFC5912] and [RFC6268]. conventions established in [RFC5912] and [RFC6268].
This ASN.1 module incorporates the module from RFC 3709 and the This ASN.1 module incorporates the module from [RFC3709] and the
module from RFC 6170. module from [RFC6170].
Note that [NEW-ASN1] was published in 2021, and all of the features Note that [NEW-ASN1] was published in 2021, and all of the features
used in this module are backward compatible with the specification used in this module are backward compatible with the specification
that was published in 2002. that was published in 2002.
<CODE BEGINS> <CODE BEGINS>
LogotypeCertExtn LogotypeCertExtn-2022
{ iso(1) identified-organization(3) dod(6) internet(1) { iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0) security(5) mechanisms(5) pkix(7) id-mod(0)
id-mod-logotype(TBD) } id-mod-logotype-2022(107) }
DEFINITIONS IMPLICIT TAGS ::= DEFINITIONS IMPLICIT TAGS ::=
BEGIN BEGIN
IMPORTS IMPORTS
EXTENSION EXTENSION
FROM PKIX-CommonTypes-2009 -- RFC 5912 FROM PKIX-CommonTypes-2009 -- RFC 5912
{ iso(1) identified-organization(3) dod(6) internet(1) { iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0) security(5) mechanisms(5) pkix(7) id-mod(0)
id-mod-pkixCommon-02(57) } id-mod-pkixCommon-02(57) }
AlgorithmIdentifier{}, DIGEST-ALGORITHM AlgorithmIdentifier{}, DIGEST-ALGORITHM
FROM AlgorithmInformation-2009 FROM AlgorithmInformation-2009
{ iso(1) identified-organization(3) dod(6) internet(1) { iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0) security(5) mechanisms(5) pkix(7) id-mod(0)
id-mod-algorithmInformation-02(58) } ; id-mod-algorithmInformation-02(58) } ;
-- Logotype Extension -- Logotype Certificate Extension
ext-logotype EXTENSION ::= { ext-logotype EXTENSION ::= {
SYNTAX LogotypeExtn SYNTAX LogotypeExtn
IDENTIFIED BY id-pe-logotype } IDENTIFIED BY id-pe-logotype }
-- Logotype Extension OID -- Logotype Certificate Extension OID
id-pe-logotype OBJECT IDENTIFIER ::= id-pe-logotype OBJECT IDENTIFIER ::=
{ iso(1) identified-organization(3) dod(6) internet(1) { iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-pe(1) 12 } security(5) mechanisms(5) pkix(7) id-pe(1) 12 }
-- Logotype Extension Syntax -- Logotype Certificate Extension Syntax
LogotypeExtn ::= SEQUENCE { LogotypeExtn ::= SEQUENCE {
communityLogos [0] EXPLICIT SEQUENCE OF LogotypeInfo OPTIONAL, communityLogos [0] EXPLICIT SEQUENCE OF LogotypeInfo OPTIONAL,
issuerLogo [1] EXPLICIT LogotypeInfo OPTIONAL, issuerLogo [1] EXPLICIT LogotypeInfo OPTIONAL,
subjectLogo [2] EXPLICIT LogotypeInfo OPTIONAL, subjectLogo [2] EXPLICIT LogotypeInfo OPTIONAL,
otherLogos [3] EXPLICIT SEQUENCE OF OtherLogotypeInfo otherLogos [3] EXPLICIT SEQUENCE OF OtherLogotypeInfo
OPTIONAL } OPTIONAL }
-- At least one of the OPTIONAL components MUST be present -- At least one of the OPTIONAL components MUST be present
( WITH COMPONENTS { ..., communityLogos PRESENT } | ( WITH COMPONENTS { ..., communityLogos PRESENT } |
WITH COMPONENTS { ..., issuerLogo PRESENT } | WITH COMPONENTS { ..., issuerLogo PRESENT } |
skipping to change at page 33, line 50 skipping to change at line 1554
LogotypeImage ::= SEQUENCE { LogotypeImage ::= SEQUENCE {
imageDetails LogotypeDetails, imageDetails LogotypeDetails,
imageInfo LogotypeImageInfo OPTIONAL } imageInfo LogotypeImageInfo OPTIONAL }
LogotypeAudio ::= SEQUENCE { LogotypeAudio ::= SEQUENCE {
audioDetails LogotypeDetails, audioDetails LogotypeDetails,
audioInfo LogotypeAudioInfo OPTIONAL } audioInfo LogotypeAudioInfo OPTIONAL }
LogotypeDetails ::= SEQUENCE { LogotypeDetails ::= SEQUENCE {
mediaType IA5String, -- MIME media type name and optional mediaType IA5String, -- Media type name and optional
-- parameters -- parameters
logotypeHash SEQUENCE SIZE (1..MAX) OF HashAlgAndValue, logotypeHash SEQUENCE SIZE (1..MAX) OF HashAlgAndValue,
logotypeURI SEQUENCE SIZE (1..MAX) OF IA5String } logotypeURI SEQUENCE SIZE (1..MAX) OF IA5String }
LogotypeImageInfo ::= SEQUENCE { LogotypeImageInfo ::= SEQUENCE {
type [0] LogotypeImageType DEFAULT color, type [0] LogotypeImageType DEFAULT color,
fileSize INTEGER, -- In octets, 0=unspecified fileSize INTEGER, -- In octets, 0=unspecified
xSize INTEGER, -- Horizontal size in pixels xSize INTEGER, -- Horizontal size in pixels
ySize INTEGER, -- Vertical size in pixels ySize INTEGER, -- Vertical size in pixels
resolution LogotypeImageResolution OPTIONAL, resolution LogotypeImageResolution OPTIONAL,
skipping to change at page 35, line 4 skipping to change at line 1604
HashAlgAndValue ::= SEQUENCE { HashAlgAndValue ::= SEQUENCE {
hashAlg AlgorithmIdentifier{DIGEST-ALGORITHM, {...}}, hashAlg AlgorithmIdentifier{DIGEST-ALGORITHM, {...}},
hashValue OCTET STRING } hashValue OCTET STRING }
-- Other logotype type OIDs -- Other logotype type OIDs
id-logo OBJECT IDENTIFIER ::= { iso(1) identified-organization(3) id-logo OBJECT IDENTIFIER ::= { iso(1) identified-organization(3)
dod(6) internet(1) security(5) mechanisms(5) pkix(7) 20 } dod(6) internet(1) security(5) mechanisms(5) pkix(7) 20 }
id-logo-loyalty OBJECT IDENTIFIER ::= { id-logo 1 } id-logo-loyalty OBJECT IDENTIFIER ::= { id-logo 1 }
id-logo-background OBJECT IDENTIFIER ::= { id-logo 2 } id-logo-background OBJECT IDENTIFIER ::= { id-logo 2 }
id-logo-certImage OBJECT IDENTIFIER ::= { id-logo 3 } id-logo-certImage OBJECT IDENTIFIER ::= { id-logo 3 }
END END
<CODE ENDS> <CODE ENDS>
Appendix B. Examples Appendix B. Examples
B.1. Example from RFC 3709 B.1. Example from RFC 3709
The following example displays a logotype extension containing one The following example displays a logotype certificate extension
Issuer logotype using direct addressing. The issuer logotype image containing one issuer organization logotype using direct addressing.
is of the type image/gif. The logotype image is referenced through The issuer organization logotype image is of the type image/gif. The
one URI and the image is hashed with SHA-256. This example is logotype image is referenced through one URI, and the image is hashed
changed from RFC 3709 to use SHA-256 instead of SHA-1. with SHA-256. This example is changed from [RFC3709] to use SHA-256
instead of SHA-1.
The values on the left are the ASN.1 tag (in hexadecimal) and the The values on the left are the ASN.1 tag (in hexadecimal) and the
length (in decimal). length (in decimal).
30 122: SEQUENCE { 30 122: SEQUENCE {
06 8: OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12) 06 8: OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12)
04 110: OCTET STRING, encapsulates { 04 110: OCTET STRING, encapsulates {
30 108: SEQUENCE { 30 108: SEQUENCE {
A1 106: [1] { A1 106: [1] {
A0 104: [0] { A0 104: [0] {
skipping to change at page 36, line 38 skipping to change at line 1659
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
B.2. Issuer Logotype Example B.2. Issuer Organization Logotype Example
The following example displays a logotype extension containing one The following example displays a logotype certificate extension
Issuer logotype using direct addressing. The issuer logotype image containing one issuer organization logotype using direct addressing.
is of the type image/jpeg. The logotype image is referenced through The issuer organization logotype image is of the type image/jpeg.
one URI and the image is hashed with SHA-256. The logotype image is referenced through one URI, and the image is
hashed with SHA-256.
The values on the left are the ASN.1 tag (in hexadecimal) and the The values on the left are the ASN.1 tag (in hexadecimal) and the
length (in decimal). length (in decimal).
30 124: SEQUENCE { 30 124: SEQUENCE {
06 8: OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12) 06 8: OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12)
04 112: OCTET STRING, encapsulates { 04 112: OCTET STRING, encapsulates {
30 110: SEQUENCE { 30 110: SEQUENCE {
A1 108: [1] { A1 108: [1] {
A0 106: [0] { A0 106: [0] {
skipping to change at page 37, line 40 skipping to change at line 1705
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
B.3. Embedded Image Example B.3. Embedded Image Example
The following example displays a logotype extension containing one The following example displays a logotype certificate extension
Subject logotype using direct addressing. The subject logotype image containing one subject organization logotype using direct addressing.
uses image/svg+xml-compressed. The logotype image is embedded in the The subject organization logotype image uses image/svg+xml+gzip. The
certificate extension with a "data:" URI and the image is hashed by logotype image is embedded in the certificate extension with a
SHA-256. This technique produces a large certificate extension, but "data:" URI, and the image is hashed by SHA-256. This technique
offers reduced latency and improved privacy. produces a large certificate extension but offers reduced latency and
improved privacy.
The values on the left are the ASN.1 tag (in hexadecimal) and the The values on the left are the ASN.1 tag (in hexadecimal) and the
length (in decimal). length (in decimal).
30 2160: SEQUENCE { 30 2148: SEQUENCE {
06 8: OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12) 06 8: OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12)
04 2146: OCTET STRING, encapsulates { 04 2134: OCTET STRING, encapsulates {
30 2142: SEQUENCE { 30 2130: SEQUENCE {
A2 2138: [2] { A2 2126: [2] {
A0 2134: [0] { A0 2122: [0] {
30 2130: SEQUENCE { 30 2118: SEQUENCE {
30 2126: SEQUENCE { 30 2114: SEQUENCE {
30 2122: SEQUENCE { 30 2110: SEQUENCE {
16 24: IA5String 'image/svg+xml-compressed' 16 18: IA5String 'image/svg+xml+gzip'
30 49: SEQUENCE { 30 49: SEQUENCE {
30 47: SEQUENCE { 30 47: SEQUENCE {
30 11: SEQUENCE { 30 11: SEQUENCE {
06 9: OBJECT IDENTIFIER 06 9: OBJECT IDENTIFIER
: sha-256 (2 16 840 1 101 3 4 2 1) : sha-256 (2 16 840 1 101 3 4 2 1)
: } : }
04 32: OCTET STRING 04 32: OCTET STRING
: C5 AC 94 1A 0A 25 1F B3 16 6F 97 C5 52 40 9B 49 : C5 AC 94 1A 0A 25 1F B3 16 6F 97 C5 52 40 9B 49
: 9E 7B 92 61 5A B0 A2 6C 19 BF B9 D8 09 C5 D9 E7 : 9E 7B 92 61 5A B0 A2 6C 19 BF B9 D8 09 C5 D9 E7
: } : }
: } : }
30 2041: SEQUENCE { 30 2035: SEQUENCE {
16 2037: IA5String 16 2031: IA5String
: 'data:image/svg+xml-compressed;base64,H4sICIGpy2E' : 'data:image/svg+xml+gzip;base64,H4sICIGpy2EAA2xvZ'
: 'AA2xvZ28tY29weS5zdmcApVbbbhs3EH3nV0y3Lw2Q9fK2JLe' : '28tY29weS5zdmcApVbbbhs3EH3nV0y3Lw2Q9fK2JLewHDROU'
: 'wHDROUBRo2iBxW+RRlTa2UFkypIWV5ut7zlB2UqF9cuLlUkt' : 'BRo2iBxW+RRlTa2UFkypIWV5ut7zlB2UqF9cuLlUktyLmfOz'
: 'yLmfOzPD8xafbtdyPu/1qu5k17sw2sp/mm+V8vd2Ms2azbV5' : 'PD8xafbtdyPu/1qu5k17sw2sp/mm+V8vd2Ms2azbV5cmPNvX'
: 'cmPNvXv16efXh7WvZ31/L299e/vzTpTRt1/0RLrvu1dUref/' : 'v16efXh7WvZ31/L299e/vzTpTRt1/0RLrvu1dUref/7j+Ktd'
: '7j+KtdXawsete/9IYaW6m6e77rjscDmeHcLbdXXdX7zpu6t6' : 'Xawsete/9IYaW6m6e77rjscDmeHcLbdXXdX7zpu6t69vmxxo'
: '9vmxxon08AREdRDt7tpyWDRRSz7+tgp2b/ew/hEKI5WGoPKy' : 'n08AREdRDt7tpyWDRRSz7+tgp2b/ew/hEKI5WGoPKyW082s8'
: 'W082s8SmeWf13NzVyM66ub6ZZk+xXH+9X4+Hl9tOssWLly35' : 'SmeWf13NzVyM66ub6ZZk+xXH+9X4+Hl9tOssWLly3553ARpd'
: '53ARpd7txP+7uxx/2d+NiejefVttZ8+nNavkBj9yO40RLb8d' : '7txP+7uxx/2d+NiejefVttZ8+nNavkBj9yO40RLb8dpvpxP8'
: 'pvpxP8wtzuRvn07iUP/+Wu+20my9GcWfOPpfDbjVN44YLb8d' : 'wtzuRvn07iUP/+Wu+20my9GcWfOPpfDbjVN44YLb8dp3Mn7c'
: 'p3Mn7cb3aXGNCAICCc+a8+yLo/FpwfLP/uN3dzhqdriH5uwf' : 'b3aXGNCAICCc+a8+yLo/FpwfLP/uN3dzhqdriH5uwfbnj9a+'
: 'bnj9a+Uz2i/maK66utA+zZ435uFqvZ823R38Q1t32Lw3pZqT' : 'Uz2i/maK66utA+zZ435uFqvZ823R38Q1t32Lw3pZqThd/PpR'
: 'hd/PpRpaz5o2LNkocvCzaIm0vrQvSpog359lLy3my0ga+e3H' : 'paz5o2LNkocvCzaIm0vrQvSpog359lLy3my0ga+e3Hp+B4In'
: 'p+B4InjVFPD9awdhnrGEFW30Sl/Pnpvta2QBVxUEVxFbJ2VU' : 'jVFPD9awdhnrGEFW30Sl/Pnpvta2QBVxUEVxFbJ2VUFfYC01'
: 'FfYC01pUs+O4GK84V/k6CHUFyhvhiDVQF8Y5aPDbmnsrXbS7' : 'pUs+O4GK84V/k6CHUFyhvhiDVQF8Y5aPDbmnsrXbS74DANjg'
: '4DANjguwgENZLPwjUYVTRJQgEpiLR0ctiWj+Ig8rCvZAArxK' : 'uwgENZLPwjUYVTRJQgEpiLR0ctiWj+Ig8rCvZAArxKExEEWM'
: 'ExEEWMJLqMA1F+ggnsQDXgpQeomJPCVhtCRycNrAWxgAI+g1' : 'JLqMA1F+ggnsQDXgpQeomJPCVhtCRycNrAWxgAI+g1Qsr6IU'
: 'Qsr6IUxlomBswjydYBEgOeVCDoRreBjiFjX2SdSA60BP5DgQ' : 'xlomBswjydYBEgOeVCDoRreBjiFjX2SdSA60BP5DgQM63xoP'
: 'M63xoPlWHbNq+egAEeAzxyNAdCQz+sDEMOhaGisKJdSlS6gt' : 'lWHbNq+egAEeAzxyNAdCQz+sDEMOhaGisKJdSlS6gtWWm4M1'
: 'WWm4M1rQwP0egEBIhhFLoXuCJhR4mT5RJBaiLKqqFROUEzYr' : 'rQwP0egEBIhhFLoXuCJhR4mT5RJBaiLKqqFROUEzYr1idG0g'
: '1idG0gahwCzEnk+AMJLdp0FevQQ6VZ+SKOwGlOIJOh1MVjo0' : 'ahwCzEnk+AMJLdp0FevQQ6VZ+SKOwGlOIJOh1MVjo0eB6DRA'
: 'eB6DRA10SRpSY6il/eFFKAm+MKSIWNFqSo4OFnORfwH5wJHC' : '10SRpSY6il/eFFKAm+MKSIWNFqSo4OFnORfwH5wJHCMNM0ql'
: 'MNM0qlDRlcIwUEkDlgiSBhiEpBgMKOx5FdAYqI3KYewKKkAI' : 'DRlcIwUEkDlgiSBhiEpBgMKOx5FdAYqI3KYewKKkAItTABTk'
: 'tTABTkp5khI86kgbOgRywEBR0VGcwAjf8t9wqvdUMG6gLAbI' : 'p5khI86kgbOgRywEBR0VGcwAjf8t9wqvdUMG6gLAbI0QQ8Cb'
: '0QQ8CbzCTtCSn/DEhCbm++duQaiRG1mQkdWHnminHA+r5wpL' : 'zCTtCSn/DEhCbm++duQaiRG1mQkdWHnminHA+r5wpLvsJbCA'
: 'vsJbCALUKsDW5NAj43J+AD5vpfamUzJqiRJACmCWwIMhQq4H' : 'LUKsDW5NAj43J+AD5vpfamUzJqiRJACmCWwIMhQq4HmYGKai'
: 'mYGKaiiJPmIvpS80UzTtAjdSraApQZogslgFcJHw0y5WoEXD' : 'iJPmIvpS80UzTtAjdSraApQZogslgFcJHw0y5WoEXDYr/aTq'
: 'Yr/aTqfxk2qhcg3z6ETQL+S18llvHOZQvlEOVEVpzqCozE9V' : 'fxk2qhcg3z6ETQL+S18llvHOZQvlEOVEVpzqCozE9V6JZhh/'
: '6JZhh/lCslg7mUFY4AR7IlcApmgV6gz3DCSDe56fQ0SRS7el' : 'lCslg7mUFY4AR7IlcApmgV6gz3DCSDe56fQ0SRS7el0NJWO8'
: '0NJWO8mQ6mkc6ylPpaL7QUZ5IR/M/dEwoJiEp+L6iT4cdSyI' : 'mQ6mkc6ylPpaL7QUZ5IR/M/dEwoJiEp+L6iT4cdSyIp4ljDk'
: 'p4ljDkoaZpQlgMoz0ApahjTiTWbZYu9v+MUqVjY61j2Bxr68' : 'oaZpQlgMoz0ApahjTiTWbZYu9v+MUqVjY61j2Bxr68bPF3uS'
: 'bPF3uS1232qAyAQDMhr4MRyVZq5l2QcuwgY/oTozbgoIKycH' : '1232qAyAQDMhr4MRyVZq5l2QcuwgY/oTozbgoIKycH+yQxhz'
: '+yQxhzQsPJQ/ne9OmRKvYH1AeKA/EQRtzrmaYUiHUhpJOW4b' : 'QsPJQ/ne9OmRKvYH1AeKA/EQRtzrmaYUiHUhpJOW4breSaxZ'
: 'reSaxZ/TVc3ZAQJKOagAJiw6pRHVkBMIBa5E+SUMWi0ZNW1R' : '/TVc3ZAQJKOagAJiw6pRHVkBMIBa5E+SUMWi0ZNW1Rfn/xQX'
: 'fn/xQXywHXyMHN5G8WF6gZ2IVjANHMIJQ1lAJQE8MJjZHJiU' : 'ywHXyMHN5G8WF6gZ2IVjANHMIJQ1lAJQE8MJjZHJiUtQZAWz'
: 'tQZAWzmkisDywTVWSqLkkQG2NNB3wwyaerqRGLNKpvwUOhaQ' : 'mkisDywTVWSqLkkQG2NNB3wwyaerqRGLNKpvwUOhaQFiYcqv'
: 'FiYcqviSjvp1n8WnRRzXFs9IXDxiiDd8HU/ROoAGn9+QgTPE' : 'iSjvp1n8WnRRzXFs9IXDxiiDd8HU/ROoAGn9+QgTPEVu6HaN'
: 'Vu6HaN6i0VPuv1SCzwyZeHwBA1EjFYoAk2jJ3OFeJ5Gp1E+3' : '6i0VPuv1SCzwyZeHwBA1EjFYoAk2jJ3OFeJ5Gp1E+3Dlf3Aj'
: 'Dlf3Aj70bbvmag5oyKHunVyGPq6+EnvTua/JUn3iadMHlqUa' : '70bbvmag5oyKHunVyGPq6+EnvTua/JUn3iadMHlqUapsK2T8'
: 'psK2T8SwCBJUF1JnEmhu0ntBthJoQpZqumsBk5mA1hRc0LR5' : 'SwCBJUF1JnEmhu0ntBthJoQpZqumsBk5mA1hRc0LR5ZFerdj'
: 'ZFerdjksaCqt3IUWXcXW16vb6xdWyHLTgCaKXWKUKK1kOp9H' : 'ksaCqt3IUWXcXW16vb6xdWyHLTgCaKXWKUKK1kOp9HK5B3EL'
: 'K5B3ELjSdXb0loB5RYtS01L6h9yTPW51Wpqwgosr5I927aw6' : 'jSdXb0loB5RYtS01L6h9yTPW51Wpqwgosr5I927aw6401+Yf'
: '401+YfwDria4WoQwAAA==' : 'wDria4WoQwAAA=='
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
B.4. Embedded Certificate Image Example B.4. Embedded Certificate Image Example
The following example displays a logotype extension containing one The following example displays a logotype certificate extension
Certificate Image logotype using direct addressing. The Certificate containing one certificate image logotype using direct addressing.
Image logotype uses image/svg+xml-compressed. The logotype image is The certificate image logotype uses image/svg+xml+gzip. The logotype
embedded in the certificate extension with a "data:" URI and the image is embedded in the certificate extension with a "data:" URI,
image is hashed by SHA-256. This example contains the image from and the image is hashed by SHA-256. This example contains the image
Appendix B of RFC 6170, however, the media type used here is explicit from Appendix B of [RFC6170]; however, the media type used here is
about the use of GZIP compression [RFC1952]. explicit about the use of GZIP compression [RFC1952].
The values on the left are the ASN.1 tag (in hexadecimal) and the The values on the left are the ASN.1 tag (in hexadecimal) and the
length (in decimal). length (in decimal).
30 2914: SEQUENCE { 30 2902: SEQUENCE {
06 8: OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12) 06 8: OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12)
04 2900: OCTET STRING, encapsulates { 04 2888: OCTET STRING, encapsulates {
30 2896: SEQUENCE { 30 2884: SEQUENCE {
A3 2892: [3] { A3 2880: [3] {
30 2888: SEQUENCE { 30 2876: SEQUENCE {
30 2884: SEQUENCE { 30 2872: SEQUENCE {
06 8: OBJECT IDENTIFIER '1 3 6 1 5 5 7 20 3' 06 8: OBJECT IDENTIFIER '1 3 6 1 5 5 7 20 3'
A0 2870: [0] { A0 2858: [0] {
30 2866: SEQUENCE { 30 2854: SEQUENCE {
30 2862: SEQUENCE { 30 2850: SEQUENCE {
30 2858: SEQUENCE { 30 2846: SEQUENCE {
16 24: IA5String 'image/svg+xml-compressed' 16 18: IA5String 'image/svg+xml+gzip'
30 49: SEQUENCE { 30 49: SEQUENCE {
30 47: SEQUENCE { 30 47: SEQUENCE {
30 11: SEQUENCE { 30 11: SEQUENCE {
06 9: OBJECT IDENTIFIER 06 9: OBJECT IDENTIFIER
: sha-256 (2 16 840 1 101 3 4 2 1) : sha-256 (2 16 840 1 101 3 4 2 1)
: } : }
04 32: OCTET STRING 04 32: OCTET STRING
: 83 14 B3 26 9B D3 8B 0B 2A E6 6E 42 74 E2 A7 57 : 83 14 B3 26 9B D3 8B 0B 2A E6 6E 42 74 E2 A7 57
: 7A 40 B7 E1 2E 53 42 44 CC 7C AE 14 68 1B 0E B6 : 7A 40 B7 E1 2E 53 42 44 CC 7C AE 14 68 1B 0E B6
: } : }
: } : }
30 2777: SEQUENCE { 30 2771: SEQUENCE {
16 2773: IA5String 16 2767: IA5String
: 'data:image/svg+xml-compressed;base64,H4sICLXutU0' : 'data:image/svg+xml+gzip;base64,H4sICLXutU0AA0Nlc'
: 'AA0NlcnRJbWFnZURlbW8uc3ZnANVaW2/bOBZ+n19BqBigwdo' : 'nRJbWFnZURlbW8uc3ZnANVaW2/bOBZ+n19BqBigwdoS7xK9j'
: 'S7xK9jmeapB0EWHQHzez2WZZoR1tZMiQ5jvvr95CSL7Gl1Em' : 'meapB0EWHQHzez2WZZoR1tZMiQ5jvvr95CSL7Gl1Em8C9d9i'
: '8C9d9iERSPOd85+O5EB3+9jhL0YMuyiTPLh3iYgfpLMrjJJt' : 'ERSPOd85+O5EB3+9jhL0YMuyiTPLh3iYgfpLMrjJJteOv/66'
: 'eOv/661M/cFBZhVkcpnmmL50sd34b/TIsH6YoiS+da11UySS' : '1M/cFBZhVkcpnmmL50sd34b/TIsH6YoiS+da11UySSJwkqj2'
: 'Jwkqj21k41Q6CDbNyUMSTS+e+quYDz1sul+6SuXkx9YhSysP' : '1k41Q6CDbNyUMSTS+e+quYDz1sul+6SuXkx9YhSysPUo7QPK'
: 'Uo7QPK/rlKqvCx35Wvmu+a/uGYow9EOigh0Qvr/LHSwcjjDj' : '/rlKqvCx35Wvmu+a/uGYow9EOigh0Qvr/LHSwcjjDjGiGHQ9'
: 'GiGHQ914n0/sKlMf4Vwctk7i6X7/sGEYdNA5L/WeRT5IUDKm' : '14n0/sKlMf4Vwctk7i6X7/sGEYdNA5L/WeRT5IUDKmSbLVWN'
: 'SbLVWNoo2cqNCh1XyoKN8Nsuz0iqwVW8Qb1fOF0Vqp+PI06m' : 'oo2cqNCh1XyoKN8Nsuz0iqwVW8Qb1fOF0Vqp+PI06me6awqP'
: 'e6awqPeISzxn9goYzXYVxWIUWpfWLCMwcGoLpgy83n8wzGkb' : 'eISzxn9goYzXYVxWIUWpfWLCMwcGoLpgy83n8wzGkbR4Gtef'
: 'R4GtefENmMBznC7DEroKpOBpM8mIWVqPEYGtA+BvoMfS2E5u' : 'ENmMBznC7DEroKpOBpM8mIWVqPEYGtA+BvoMfS2E5uF1Wqu7'
: 'F1Wqu7R6FLvNFEelWReNolpiV3l2VpGntMW9nk6RKdf0+9Br' : 'R6FLvNFEelWReNolpiV3l2VpGntMW9nk6RKdf0+9BrFrMbeV'
: 'FrMbeVuWhtzbHvMR6UlobPyVpBWjXBk7six2vH5nCwY6nXCo' : 'uWhtzbHvMR6UlobPyVpBWjXBk7six2vH5nCwY6nXCo5xb7Yu'
: '5xb7YusvFVPqCOGh16fSxSxglmPkScLfvmDDmC4FlDc1wov8' : 'svFVPqCOGh16fSxSxglmPkScLfvmDDmC4FlDc1wov8IF2WZh'
: 'IF2WZhNlVumgEPRliimDD3PhGPyTgUUMC6lKqKAjxaptq1bo' : 'NlVumgEPRliimDD3PhGPyTgUUMC6lKqKAjxaptq1boUJvQFs'
: 'UJvQFsvi+LOJyxZkPE/vCwHuAmXmoj1AarnRBatzqkbv7cK5' : 'vi+LOJyxZkPE/vCwHuAmXmoj1AarnRBatzqkbv7cK5Ls2ORf'
: 'Ls2ORfwM/vsOG5lURZqXxOnDXPKZw5t5jVzIhFKO0B6D6hAR' : 'wM/vsOG5lURZqXxOnDXPKZw5t5jVzIhFKO0B6D6hARSXDR6F'
: 'SXDR6Fzqq7H7mQeJAOQiUSPvFIrUHOfuui3zrFI5dYVeAmpc' : 'zqq7H7mQeJAOQiUSPvFIrUHOfuui3zrFI5dYVeAmpcOcOb9u'
: 'OcOb9u63vLjae4kYX4yRifYPrTa2SlMigYdO+cEWeGADMLZL' : '63vLjae4kYX4yRifYPrTa2SlMigYdO+cEWeGADMLZLH96SH4'
: 'H96SH4R9xRYApl6q3Y02f+NzlRAl+cZSKhB6qSIVa80fsqMn' : 'R9xRYApl6q3Y02f+NzlRAl+cZSKhB6qSIVa80fsqMnWOqZJp'
: 'WOqZJpmsXwAPoyNaQ95uNIGasKPwhxGzQzOXzMIIzBKabmLI' : 'msXwAPoyNaQ95uNIGasKPwhxGzQzOXzMIIzBKabmLIil470z'
: 'il470zfSjWWn+kvpvLQ9g1l3yRIc8gukz0uysEcakcDfy3KM' : 'fSjWWn+kvpvLQ9g1l3yRIc8gukz0uysEcakcDfy3KMk+l0SO'
: 'k+l0SOXlOopltJL7EPtUlzZfP4tnM70k8xkKCySt92MwfIXP' : 'XlOopltJL7EPtUlzZfP4tnM70k8xkKCySt92MwfIXPoTe0pn'
: 'oTe0pnu4dYbp7hJ/kxWySN0ey0o/1qbiCsxDXJMWWo37QekB' : 'u4dYbp7hJ/kxWySN0ey0o/1qbiCsxDXJMWWo37QekBcAUFPS'
: 'cAUFPSGkPCnUJF5wwBacDK5cGlEp4BC2lYoJcrNNGVc7DzIq' : 'GkPCnUJF5wwBacDK5cGlEp4BC2lYoJcrNNGVc7DzIqxT4CKs'
: 'xT4CKsPlrAG8mL8whRejiQe9EmImIAoz3sds9NxP4RZEzugq' : 'PlrAG8mL8whRejiQe9EmImIAoz3sds9NxP4RZEzugqzb7c3Q'
: 'zb7c3Q89u3WQKY9aegbsA/AUJB/bJs6pfJt9BHFEuk5DWITz' : '89u3WQKY9aegbsA/AUJB/bJs6pfJt9BHFEuk5DWITzOH5uZS'
: 'OH5uZSThLUsDjQ5GE6RMsyihMTaQLfA6BIiAQMAhnHHN1sd6' : 'ThLUsDjQ5GE6RMsyihMTaQLfA6BIiAQMAhnHHN1sd61WtUhD'
: '1WtUhDVJiuhkrdBXd740+hLB9Vm1HjQe4ywLOBLWOMMiyQAX' : 'VJiuhkrdBXd740+hLB9Vm1HjQe4ywLOBLWOMMiyQAXNB8sm9'
: 'NB8sm9Gx2qdGgGkMG6wY8aLfqgH4dfnmrVc+pPrE/Z/QnZOs' : 'Gx2qdGgGkMG6wY8aLfqgH4dfnmrVc+pPrE/Z/QnZOs8C1Okb'
: '8C1Okb2/ggwLdxlDC1D6DFPZDD98txv8xQf5TEc7Ax6ZyaDf' : '2/ggwLdxlDC1D6DFPZDD98txv8xQf5TEc7Ax6ZyaDf6BC4Sy'
: '6BC4SylWKCMqtizp80+UMchATal63qHq0M3ZTs83Ob/XO6LY' : 'lWKCMqtizp80+UMchATal63qHq0M3ZTs83Ob/XO6LYsFzpGV'
: 'sFzpGVY5+iLxdWvwY+NaKoR/0iJIXL3dBjT2hG+wO+NXm53X' : 'Y5+iLxdWvwY+NaKoR/0iJIXL3dBjT2hG+wO+NXm53XStSh1e'
: 'StSh1eogfeojV35BTOaqh/cmPUe2Mdp91pQp2CjWOO2k7Oam' : 'ogfeojV35BTOaqh/cmPUe2Mdp91pQp2CjWOO2k7OamhjU1HB'
: 'hjU1HB3DLGm66n6iajz4bqn2oICmNFxDR/x2mC5s+rKhlkUA' : '3DLGm66n6iajz4bqn2oICmNFxDR/x2mC5s+rKhlkUA3Ne3P8'
: '3Ne3P8lgP0qJfjf9uvu+HWXSfFwNoH4uqGUmTadYMtOc7yjE' : 'lgP0qJfjf9uvu+HWXSfFwNoH4uqGUmTadYMtOc7yjEEd9EUh'
: 'Ed9EUhkwEEOcDSHKQ+yhnSvUYRH8miQo2FK5TCjWZZGWKB8i' : 'kwEEOcDSHKQ+yhnSvUYRH8miQo2FK5TCjWZZGWKB8iHPud16'
: 'HPud16wApnCvTOzjIFAj9TQdCxa+ddOTizaa1xJvD0qMrKx+' : 'wApnCvTOzjIFAj9TQdCxa+ddOTizaa1xJvD0qMrKx+Ydaj6i'
: 'Ydaj6iwJQG0vaSdYWpTv4HwVRAP3Z6ONjOJunEIeKRVmhujp' : 'wJQG0vaSdYWpTv4HwVRAP3Z6ONjOJunEIeKRVmhujpA2+wPm'
: 'A2+wPmQR9WFQAFhh9bGQzFEXX+WwOnXq8pV35P2Acdn0pGeb' : 'QR9WFQAFhh9bGQzFEXX+WwOnXq8pV35P2Acdn0pGebcMg7Og'
: 'cMg7OgQKaEdOKEAkFlk/9HuEKGBVwucc4AjnJ/LBYU09hVwW' : 'QKaEdOKEAkFlk/9HuEKGBVwucc4AjnJ/LBYU09hVwWY1F0Hl'
: 'Y1F0HlBUC2lbyIuYF58O8p+adMwUt9YAoX/IwRtAC9NAdBAy' : 'BUC2lbyIuYF58O8p+adMwUt9YAoX/IwRtAC9NAdBAyGuEB3V'
: 'GuEB3VR59u8/TGYx9/Xjz8bPB/Z/F9B0SghBK+4xxfiwtr0G' : 'R59u8/TGYx9/Xjz8bPB/Z/F9B0SghBK+4xxfiwtr0GXECqed'
: 'XECqedQQ9PRVpEAQ+26MidbGSmPm8RwRzcQsT17EPSmoorH3' : 'QQ9PRVpEAQ+26MidbGSmPm8RwRzcQsT17EPSmoorH3+av4Jc'
: '+av4Jcj78O/vIp/uzMEkHKAE6/F7VHHSj8HddR0Q3ymcGZfR' : 'j78O/vIp/uzMEkHKAE6/F7VHHSj8HddR0Q3ymcGZfRVjwfmO'
: 'VjwfmOnNn3GuWR+FzhcPmPqiptHcayacT28T8j3Cs0/LQCwo' : 'nNn3GuWR+FzhcPmPqiptHcayacT28T8j3Cs0/LQCwo6J2iYx'
: '6J2iYxP4R58AsobjFegusoJhuq7VNS2evRPcqASvQki+gbkB' : 'P4R58AsobjFegusoJhuq7VNS2evRPcqASvQki+gbkBYwETNP'
: 'YwETNPt/1A2pT6UErR1zMzUITZRvF5Lp5basO1fk2U4aBSjk' : 't/1A2pT6UErR1zMzUITZRvF5Lp5basO1fk2U4aBSjkji8quL'
: 'ji8quL3cDyW7TpI3unxezMcSTNhQJhfpGctKgKN2Amo7/7Sh' : '3cDyW7TpI3unxezMcSTNhQJhfpGctKgKN2Amo7/7ShSev4oX'
: 'Sev4oXicPSYS+6GkCm9a1Qw3VEchCUA+z5HtTcbQhK6F14YF' : 'icPSYS+6GkCm9a1Qw3VEchCUA+z5HtTcbQhK6F14YFUp+Yn7'
: 'Up+Yn7WgmzwpZCDf5DDiXT9B7U6RdHAHpdb7IqmLVjqZSLnT' : 'WgmzwpZCDf5DDiXT9B7U6RdHAHpdb7IqmLVjqZSLnTW61zjQ'
: 'W61zjQ7/G7D3hm9E846uTDZoNMADmLlm7IG2ieXfUtu1US9T' : '7/G7D3hm9E846uTDZoNMADmLlm7IG2ieXfUtu1US9TeNGUHi'
: 'eNGUHibE9Nv//2jRJGZfQmK3v7ykJJOv1IXjBsDCPpmgWppe' : 'bE9Nv//2jRJGZfQmK3v7ykJJOv1IXjBsDCPpmgWppe6sHxR3'
: '6sHxR3KVSQKqp+WIqammuJbtqkxZmMHry4oS/9pLhdCXKq8u' : 'KVSQKqp+WIqammuJbtqkxZmMHry4oS/9pLhdCXKq8uR0R+LD'
: 'R0R+LDEqCKRxqc5VXdvPvIP+ggwR0RkyBfO9iKZvrWGAKVdz' : 'EqCKRxqc5VXdvPvIP+ggwR0RkyBfO9iKZvrWGAKVdz31cuoc'
: '31cuocvoO/qemClFMYEFEH7oI+vpkek4s4bCMBqK+5mHQUlD' : 'voO/qemClFMYEFEH7oI+vpkek4s4bCMBqK+5mHQUlDpE/oyl'
: 'pE/oylpy+2/6pWXK31PEYagP04epV1cE50UMy6IQZeQM7+Ol' : 'py+2/6pWXK31PEYagP04epV1cE50UMy6IQZeQM7+Ol74Z+eH'
: '74Z+eHfpHNc7OjffQ/HeV0X8BopoDkGEkAAA=' : 'fpHNc7OjffQ/HeV0X8BopoDkGEkAAA='
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
B.5. Full Certificate Example B.5. Full Certificate Example
The following example contains a certificate for Alice; it is The following example contains a certificate for Alice; it is
essentially a renewal of the certificate that appears in [RFC9216]. essentially a renewal of the certificate that appears in [RFC9216].
Of course, the serial number and issue dates are different. In Of course, the serial number and issue dates are different. In
addition, Alice's certificate now has a logotype extension. The addition, Alice's certificate now has a logotype certificate
extension contains URLs for two community logotype images, both at extension. The extension contains URLs for two community logotype
fictional URLs. The extension also contains URLs for two subject images, both at fictional URLs. The extension also contains URLs for
logotype images, both at fictional URLs. An implementation would two subject organization logotype images, both at fictional URLs. An
display at most three of these images, both of the community logotype implementation would display at most three of these images, both of
images and one of the subject logotype images. Direct addressing is the community logotype images and one of the subject organization
used for all of the images, and the images are hashed by SHA-256. logotype images. Direct addressing is used for all of the images,
and the images are hashed by SHA-256.
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIIFpTCCBI2gAwIBAgITN0EFee11f0Kpolw69Phqzpqx1zANBgkqhkiG9w0BAQ0F MIIFpTCCBI2gAwIBAgITN0EFee11f0Kpolw69Phqzpqx1zANBgkqhkiG9w0BAQ0F
ADBVMQ0wCwYDVQQKEwRJRVRGMREwDwYDVQQLEwhMQU1QUyBXRzExMC8GA1UEAxMo ADBVMQ0wCwYDVQQKEwRJRVRGMREwDwYDVQQLEwhMQU1QUyBXRzExMC8GA1UEAxMo
U2FtcGxlIExBTVBTIFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAgFw0yMjA2 U2FtcGxlIExBTVBTIFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAgFw0yMjA2
MTUxODE4MThaGA8yMDUyMDkyNzA2NTQxOFowOzENMAsGA1UEChMESUVURjERMA8G MTUxODE4MThaGA8yMDUyMDkyNzA2NTQxOFowOzENMAsGA1UEChMESUVURjERMA8G
A1UECxMITEFNUFMgV0cxFzAVBgNVBAMTDkFsaWNlIExvdmVsYWNlMIIBIjANBgkq A1UECxMITEFNUFMgV0cxFzAVBgNVBAMTDkFsaWNlIExvdmVsYWNlMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtPSJ6Fg4Fj5Nmn9PkrYo0jTkfCv4TfA/ hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtPSJ6Fg4Fj5Nmn9PkrYo0jTkfCv4TfA/
pdO/KLpZbJOAEr0sI7AjaO7B1GuMUFJeSTulamNfCwDcDkY63PQWl+DILs7GxVwX pdO/KLpZbJOAEr0sI7AjaO7B1GuMUFJeSTulamNfCwDcDkY63PQWl+DILs7GxVwX
urhYdZlaV5hcUqVAckPvedDBc/3rz4D/esFfs+E7QMFtmd+K04s+A8TCNO12DRVB urhYdZlaV5hcUqVAckPvedDBc/3rz4D/esFfs+E7QMFtmd+K04s+A8TCNO12DRVB
skipping to change at page 43, line 4 skipping to change at line 1948
bXBsZS9sb2dvLmdpZjBmMGQWCmltYWdlL2pwZWcwMTAvMAsGCWCGSAFlAwQCAQQg bXBsZS9sb2dvLmdpZjBmMGQWCmltYWdlL2pwZWcwMTAvMAsGCWCGSAFlAwQCAQQg
vct7dXJtjBszpCzerHly2krZ8nmEClhYas4vAoDq16UwIxYhaHR0cDovL3d3dy5z vct7dXJtjBszpCzerHly2krZ8nmEClhYas4vAoDq16UwIxYhaHR0cDovL3d3dy5z
bWltZS5leGFtcGxlL2xvZ28uanBnMA0GCSqGSIb3DQEBDQUAA4IBAQBbjdCNVFA/ bWltZS5leGFtcGxlL2xvZ28uanBnMA0GCSqGSIb3DQEBDQUAA4IBAQBbjdCNVFA/
emCc5uKX5WSPrdvRFZSs57SEhE0odxvhTrOs13VM8Om0TxhNJ0Pl6d9CJdbUxtFw emCc5uKX5WSPrdvRFZSs57SEhE0odxvhTrOs13VM8Om0TxhNJ0Pl6d9CJdbUxtFw
SSnSu9fnghDO7OZDJnPiIYLNY5eTTzY6sx85mde9TLaBTE7RZf0W7NV0hqDqcfM+ SSnSu9fnghDO7OZDJnPiIYLNY5eTTzY6sx85mde9TLaBTE7RZf0W7NV0hqDqcfM+
9HnQrU4TtPSvtPS5rr5SvqkaMM0k89bpbkgZlh9HH14+x+DIeT0dLythiXJvkVod 9HnQrU4TtPSvtPS5rr5SvqkaMM0k89bpbkgZlh9HH14+x+DIeT0dLythiXJvkVod
qEfyZTcdplQHQ4szWO7lsjmvHrUIbS1tdAJnah8AZRZfqiJEFeiUp06hvAWnPc3y qEfyZTcdplQHQ4szWO7lsjmvHrUIbS1tdAJnah8AZRZfqiJEFeiUp06hvAWnPc3y
1TMwYI8onfwPIVzyT6YLgjiT6PuLwSB/wtlhI+vWfdINaHdotegjawLm/3jZ+ceN 1TMwYI8onfwPIVzyT6YLgjiT6PuLwSB/wtlhI+vWfdINaHdotegjawLm/3jZ+ceN
tu39FvbV0uKJ tu39FvbV0uKJ
-----END CERTIFICATE----- -----END CERTIFICATE-----
The following displays the logotype extension from Alice's
certificate. The values on the left are the ASN.1 tag (in The following displays the logotype certificate extension from
Alice's certificate. The values on the left are the ASN.1 tag (in
hexadecimal) and the length (in decimal). hexadecimal) and the length (in decimal).
30 464: SEQUENCE { 30 464: SEQUENCE {
06 8: OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12) 06 8: OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12)
04 450: OCTET STRING, encapsulates { 04 450: OCTET STRING, encapsulates {
30 446: SEQUENCE { 30 446: SEQUENCE {
A0 227: [0] { A0 227: [0] {
30 224: SEQUENCE { 30 224: SEQUENCE {
A0 111: [0] { A0 111: [0] {
30 109: SEQUENCE { 30 109: SEQUENCE {
skipping to change at page 45, line 14 skipping to change at line 2055
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
Appendix C. Changes Since RFC 3709 and RFC 6170 Appendix C. Changes since RFCs 3709 and 6170
This appendix summarizes the changes since RFC 3709. The changes This appendix summarizes the changes since [RFC3709]. The changes
are: are:
* Combine RFC 3709 and RFC 6170 into one document, and encourage * Combine RFCs 3709 and 6170 into one document, and encourage
implementers to support the "data" URI scheme (data:...) that was implementers to support the "data" URI scheme (data:...) that was
originally specified in RFC 6170. Merging RFC 3709 and RFC 6170 originally specified in RFC 6170. Merging RFCs 3709 and 6170 led
lead to many editoral changes throughout the document. to many editorial changes throughout the document.
* Drop SHA-1 as the mandatory-to-implement hash algorithm, and * Drop SHA-1 as the mandatory-to-implement hash algorithm, and
encourage use of the one-way hash function that is employed by the encourage use of the one-way hash function that is employed by the
certificate signature algorithm. certificate signature algorithm.
* RFC 3709 required client applications to support both direct and * RFC 3709 required client applications to support both direct and
indirect addressing. This requirement is changed to SHOULD indirect addressing. This requirement is changed to SHOULD
support both direct and indirect addressing to allow support both direct and indirect addressing to allow
implementations to be more privacy preserving. implementations to be more privacy preserving.
skipping to change at page 45, line 47 skipping to change at line 2088
instead of the now obsolete RFC 2396. instead of the now obsolete RFC 2396.
* Update the reference for the application/pdf media type to be RFC * Update the reference for the application/pdf media type to be RFC
8118 instead of the now obsolete RFC 3778. 8118 instead of the now obsolete RFC 3778.
* No longer require support for the FTP scheme (ftp://...) URI. * No longer require support for the FTP scheme (ftp://...) URI.
* Require support for the HTTP scheme (http://...) URI and the HTTPS * Require support for the HTTP scheme (http://...) URI and the HTTPS
scheme (https://...) URI. scheme (https://...) URI.
* Provide syntax of the "data" URI scheme using modern ABNF.
* Require support for the compressed SVG image format with the * Require support for the compressed SVG image format with the
image/svg+xml+gzip media type. image/svg+xml+gzip media type.
* Media types MUST follow the ABNF [RFC5234] that is provided in * Media types MUST follow the ABNF [RFC5234] that is provided in
Section 4.2 of [RFC6838]. This change resolves Errata ID 2679. Section 8.3.1 of [RFC9110]. This change resolves Errata ID 2679.
* Remove the requirement that the LogotypeData file name have a file * Remove the requirement that the LogotypeData file name have a file
extension of ".LTD". This change resolves Errata ID 2325. extension of ".LTD". This change resolves Errata ID 2325.
* Encourage, instead of requiring, each logotype to be represented * Encourage, instead of requiring, each logotype to be represented
by at least one image. by at least one image.
* Encourage the inclusion of text-based audio data suitable for * Encourage the inclusion of text-based audio data suitable for
processing by a text-to-speech software using the MIME type of processing by a text-to-speech software using the media type of
"text/plain;charset=UTF-8". "text/plain;charset=UTF-8".
* Encourage the use of dithering if an image needs to be scaled. * Encourage the use of dithering if an image needs to be scaled.
* Require that the logotype extension not contain more than one * Require that the logotype certificate extension not contain more
certificate image logotype. than one certificate image logotype.
* Privacy-related topics that were previously discussed in the * Privacy-related topics that were previously discussed in the
Security Considerations section are now covered in a separate Security Considerations section are now covered in a separate
Privacy Considerations section. Additional topics are covered in Privacy Considerations section. Additional topics are covered in
both sections. both sections.
* Provide ASN.1 modules for both the older syntax [OLD-ASN1] and the * Provide ASN.1 modules for both the older syntax [OLD-ASN1] and the
most recent ASN.1 syntax [NEW-ASN1]. most recent ASN.1 syntax [NEW-ASN1].
* Provide additional references. * Provide additional references.
* Provide additional examples. * Provide additional examples.
* Several editorial changes to improve clarity. * Several editorial changes to improve clarity.
* The example in Appendix B.1 was changed to use SHA-256 instead of * The example in Appendix B.1 was changed to use SHA-256 instead of
SHA-1. SHA-1.
Acknowledgments
* Acknowledgments from RFC 3709
This document is the result of contributions from many
professionals. The authors appreciate contributions from all
members of the IETF PKIX Working Group. We extend a special
thanks to Al Arsenault, David Cross, Tim Polk, Russel Weiser,
Terry Hayes, Alex Deacon, Andrew Hoag, Randy Sabett, Denis Pinkas,
Magnus Nystrom, Ryan Hurst, and Phil Griffin for their efforts and
support.
Russ Housley thanks the management at RSA Laboratories, especially
Burt Kaliski, who supported the development of this specification.
The vast majority of the work on this specification was done while
Russ was employed at RSA Laboratories.
* Acknowledgments from RFC 6170
The authors recognize valuable contributions from members of the
PKIX working group, the CA Browser Forum, and James Manger, for
their review and sample data.
* Additional Acknowledgments
Combining RFCs 3709 and 6170 has produced an improved
specification. The authors appreciate contributions from all
members of the IETF LAMPS Working Group. We extend a special
thanks to Alexey Melnikov for his guidance on media types. We
extend a special thanks to Tim Geiser for his careful checking of
the new examples in Appendices B.4 and B.5. We extend a special
thanks to Corey Bonnell, Daniel Kahn Gillmor, Roman Danyliw, Paul
Wouters, Paul Kyzivat, Shuping Peng, Sheng Jiang, Rob Wilton, Éric
Vyncke, Donald Eastlake 3rd, and Dan Harkins for their careful
review and helpful comments.
Authors' Addresses Authors' Addresses
Stefan Santesson Stefan Santesson
IDsec Solutions AB IDsec Solutions AB
Forskningsbyn Ideon Forskningsbyn Ideon
SE-223 70 Lund SE-223 70 Lund
Sweden Sweden
Email: sts@aaa-sec.com Email: sts@aaa-sec.com
Russ Housley Russ Housley
Vigil Security, LLC Vigil Security, LLC
516 Dranesville Road 516 Dranesville Road
Herndon, VA, 20170 Herndon, VA 20170
United States of America United States of America
Email: housley@vigilsec.com Email: housley@vigilsec.com
Trevor Freeman Trevor Freeman
Amazon Web Services Amazon Web Services
1918 8th Ave 1918 8th Ave
Seattle, WA, 98101 Seattle, WA 98101
United States of America United States of America
Email: frtrevor@amazon.com Email: frtrevor@amazon.com
Leonard Rosenthol Leonard Rosenthol
Adobe Adobe
345 Park Avenue 345 Park Avenue
San Jose, CA, 95110 San Jose, CA 95110
United States of America United States of America
Email: lrosenth@adobe.com Email: lrosenth@adobe.com
 End of changes. 160 change blocks. 
483 lines changed or deleted 537 lines changed or added

This html diff was produced by rfcdiff 1.48.