summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc9399.txt
blob: 89277ec501340bc08f1f295610586fbb69bff784 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
Internet Engineering Task Force (IETF)                      S. Santesson
Request for Comments: 9399                               IDsec Solutions
Obsoletes: 3709, 6170                                         R. Housley
Category: Standards Track                                 Vigil Security
ISSN: 2070-1721                                               T. Freeman
                                                     Amazon Web Services
                                                            L. Rosenthol
                                                                   Adobe
                                                                May 2023


      Internet X.509 Public Key Infrastructure: Logotypes in X.509
                              Certificates

Abstract

   This document specifies a certificate extension for including
   logotypes in public key certificates and attribute certificates.
   This document obsoletes RFCs 3709 and 6170.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   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 (c) 2023 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Revised BSD License text as described in Section 4.e of the
   Trust Legal Provisions and are provided without warranty as described
   in the Revised BSD License.

Table of Contents

   1.  Introduction
     1.1.  Certificate-Based Identification
     1.2.  Selection of Certificates
     1.3.  Combination of Verification Techniques
     1.4.  Requirements Language
   2.  Different Types of Logotypes in Certificates
   3.  Logotype Data
   4.  Logotype Certificate Extension
     4.1.  Extension Format
     4.2.  Conventions for LogotypeImageInfo
     4.3.  Embedded Images
     4.4.  Other Logotypes
       4.4.1.  Loyalty Logotype
       4.4.2.  Certificate Background Logotype
       4.4.3.  Certificate Image Logotype
   5.  Type of Certificates
   6.  Use in Clients
   7.  Image Formats
   8.  Audio Formats
   9.  Security Considerations
   10. Privacy Considerations
   11. IANA Considerations
   12. References
     12.1.  Normative References
     12.2.  Informative References
   Appendix A.  ASN.1 Modules
     A.1.  ASN.1 Modules with 1988 Syntax
     A.2.  ASN.1 Module with 2002 Syntax
   Appendix B.  Examples
     B.1.  Example from RFC 3709
     B.2.  Issuer Organization Logotype Example
     B.3.  Embedded Image Example
     B.4.  Embedded Certificate Image Example
     B.5.  Full Certificate Example
   Appendix C.  Changes since RFCs 3709 and 6170
   Acknowledgments
   Authors' Addresses

1.  Introduction

   This specification supplements [RFC5280], which profiles public key
   certificates and certificate revocation lists (CRLs) for use in the
   Internet, and it supplements [RFC5755], which profiles attribute
   certificates for use in the Internet.

   This document obsoletes [RFC3709] and [RFC6170].  Appendix C provides
   a summary of the changes since the publication of [RFC3709] and
   [RFC6170].

   The basic function of a certificate is to bind a public key to the
   identity of an entity (the subject).  From a strictly technical
   viewpoint, this goal could be achieved by signing the identity of the
   subject together with its public key.  However, the art of Public Key
   Infrastructure (PKI) has developed certificates far beyond this
   functionality in order to meet the needs of modern global networks
   and heterogeneous information and operational technology structures.

   Certificate users must be able to determine certificate policies,
   appropriate key usage, assurance level, and name form constraints.
   Before a relying party can make an informed decision whether a
   particular certificate is trustworthy and relevant for its intended
   usage, a certificate may be examined from several different
   perspectives.

   Systematic processing is necessary to determine whether a particular
   certificate meets the predefined prerequisites for an intended usage.
   Much of the information contained in certificates is appropriate and
   effective for machine processing; however, this information is not
   suitable for a corresponding human trust and recognition process.

   Humans prefer to structure information into categories and symbols.
   Most humans associate complex structures of reality with easily
   recognizable logotypes and marks.  Humans tend to trust things that
   they recognize from previous experiences.  Humans may examine
   information to confirm their initial reaction.  Very few consumers
   actually read all terms and conditions they agree to in accepting a
   service; instead, they commonly act on trust derived from previous
   experience and recognition.

   A big part of this process is branding.  Service providers and
   product vendors invest a lot of money and resources into creating a
   strong relation between positive user experiences and easily
   recognizable trademarks, servicemarks, and logotypes.

   Branding is also pervasive in identification instruments, including
   identification cards, passports, driver's licenses, credit cards,
   gasoline cards, and loyalty cards.  Identification instruments are
   intended to identify the holder as a particular person or as a member
   of the community.  The community may represent the subscribers of a
   service or any other group.  Identification instruments, in physical
   form, commonly use logotypes and symbols, solely to enhance human
   recognition and trust in the identification instrument itself.  They
   may also include a registered trademark to allow legal recourse for
   unauthorized duplication.

   Since certificates play an equivalent role in electronic exchanges,
   we examine the inclusion of logotypes in certificates.  We consider
   certificate-based identification and certificate selection.

1.1.  Certificate-Based Identification

   The need for human recognition depends on the manner in which
   certificates are used and whether certificates need to be visible to
   human users.  If certificates are to be used in open environments and
   in applications that bring the user in conscious contact with the
   result of a certificate-based identification process, then human
   recognition is highly relevant and may be a necessity.

   Examples of such applications include:

   *  Web server identification where a user identifies the owner of the
      website.

   *  Peer email exchange in business-to-business (B2B), business-to-
      consumer (B2C), and private communications.

   *  Exchange of medical records and system for medical prescriptions.

   *  Unstructured e-business applications (i.e., non-EDI applications).

   *  Wireless client authenticating to a service provider.

   Most applications provide the human user with an opportunity to view
   the results of a successful certificate-based identification process.
   When the user takes the steps necessary to view these results, the
   user is presented with a view of a certificate.  This solution has
   two major problems.  First, the function to view a certificate is
   often rather hard to find for a non-technical user.  Second, the
   presentation of the certificate is too technical and is not user
   friendly.  It contains no graphic symbols or logotypes to enhance
   human recognition.

   Many investigations have shown that users of today's applications do
   not take the steps necessary to view certificates.  This could be due
   to poor user interfaces.  Further, many applications are structured
   to hide certificates from users.  The application designers do not
   want to expose certificates to users at all.

1.2.  Selection of Certificates

   One situation where software applications must expose human users to
   certificates is when the user must select a single certificate from a
   portfolio of certificates.  In some cases, the software application
   can use information within the certificates to filter the list for
   suitability; however, the user must be queried if more than one
   certificate is suitable.  The human user must select one of them.

   This situation is comparable to a person selecting a suitable plastic
   card from their wallet.  In this situation, substantial assistance is
   provided by card color, location, and branding.

   In order to provide similar support for certificate selection, the
   users need tools to easily recognize and distinguish certificates.
   Introduction of logotypes into certificates provides the necessary
   graphic.

1.3.  Combination of Verification Techniques

   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
   be a distinct and clear architectural and functional distinction
   between the processes and objectives of the automated certificate
   verification and human recognition.

   Since logotypes are only aimed for human interpretation and contain
   data that is inappropriate for computer-based verification schemes,
   the logotype certificate extension MUST NOT be an active component in
   automated certification path validation, as specified in Section 6 of
   [RFC5280].

   Automated certification path verification determines whether the end
   entity certificate can be verified according to defined policy.  The
   algorithm for this verification is specified in [RFC5280].

   The automated processing provides assurance that the certificate is
   valid.  It does not indicate whether the subject is entitled to any
   particular information or whether the subject ought to be trusted to
   perform a particular service.  These are authorization decisions.
   Automatic processing will make some authorization decisions, but
   others, depending on the application context, involve the human user.

   In some situations, where automated procedures have failed to
   establish the suitability of the certificate to the task, the human
   user is the final arbitrator of the post certificate verification
   authorization decisions.  In the end, the human will decide whether
   or not to accept an executable email attachment, to release personal
   information, or to follow the instructions displayed by a web
   browser.  This decision will often be based on recognition and
   previous experience.

   The distinction between systematic processing and human processing is
   rather straightforward.  They can be complementary.  While the
   systematic process is focused on certification path construction and
   verification, the human acceptance process is focused on recognition
   and related previous experience.

   There are some situations where systematic processing and human
   processing interfere with each other.  These issues are discussed in
   the Section 9.

1.4.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

2.  Different Types of Logotypes in Certificates

   This specification defines the inclusion of three standard logotype
   types:

   *  community logotype

   *  issuer organization logotype

   *  subject organization logotype

   The community logotype is the general mark for a community.  It
   identifies a service concept for entity identification and
   certificate issuance.  Many issuers may use a community logotype to
   co-brand with a global community in order to gain global recognition
   of its local service provision.  This type of community branding is
   very common in the credit card business, where local independent card
   issuers include a globally recognized brand (such as Visa and
   Mastercard).  Certificate issuers may include more than one community
   logotype to indicate participation in more than one global community.

   The issuer organization logotype is a logotype representing the
   organization identified as part of the issuer name in the
   certificate.

   The subject organization logotype is a logotype representing the
   organization identified in the subject name in the certificate.

   In addition to the standard logotype types, this specification
   accommodates inclusion of other logotype types where each class of
   logotype is defined by an object identifier.  The object identifier
   can be either locally defined or an identifier defined in Section 4.4
   of this document.

3.  Logotype Data

   This specification defines two types of logotype data: image data and
   audio data.  Implementations MUST support image data; however,
   support for audio data is OPTIONAL.

   Image and audio data for logotypes can be provided by reference by
   including a URI that identifies the location to the logotype data and
   a one-way hash of the referenced data in the certificate.  The
   privacy-related properties for remote logotype data depend on four
   parties: the certificate relying parties that use the information in
   the certificate extension to fetch the logotype data, the certificate
   issuers that populate the certificate extension, certificate
   subscribers that request certificates that include the certificate
   extension, and server operators that provide the logotype data.

   Alternatively, embedding the logotype data in the certificate with
   direct addressing (as defined in Section 4.3) provides improved
   privacy properties and depends upon fewer parties.  However, this
   approach can significantly increase the size of the certificate.

   Several image objects, representing the same visual content in
   different formats, sizes, and color palates, may represent each
   logotype image.  At least one of the image objects representing a
   logotype SHOULD contain an image with a width between 60 pixels and
   200 pixels and a height between 45 pixels and 150 pixels.

   Several instances of audio data may further represent the same audio
   sequence in different formats, resolutions, and languages.  At least
   one of the audio objects representing a logotype SHOULD provide text-
   based audio data suitable for processing by text-to-speech software.

   A typical use of text-based audio data is inclusion in web
   applications where the audio text is placed as the "alt" attribute
   value of an HTML image (img) element, and the language value obtained
   from LogotypeAudioInfo is included as the "lang" attribute of that
   image.

   If a logotype of a certain type (as defined in Section 2) is
   represented by more than one image object, then each image object
   MUST contain variants of roughly the same visual content.  Likewise,
   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
   audio information.  A spoken message in different languages is
   considered a variation of the same audio information.  When more than
   one image object or more than one audio object for the same logotype
   type is included in the certificate, the certificate issuer is
   responsible for ensuring that the objects contain roughly the same
   content.  Compliant applications MUST NOT display more than one of
   the image objects and MUST NOT play more than one of the audio
   objects for any logotype type (see Section 2) at the same time.

   A client MAY simultaneously display multiple logotypes of different
   logotype types.  For example, it may display one subject organization
   logotype while also displaying a community logotype, but it MUST NOT
   display multiple image variants of the same community logotype.

   Each logotype present in a certificate MUST be represented by at
   least one image data object.

   Client applications SHOULD enhance processing and off-line
   functionality by caching logotype data.

4.  Logotype Certificate Extension

   This section specifies the syntax and semantics of the logotype
   certificate extension.

4.1.  Extension Format

   The logotype certificate extension MAY be included in public key
   certificates [RFC5280] or attribute certificates [RFC5755].  The
   logotype certificate extension MUST be identified by the following
   object identifier:

      id-pe-logotype  OBJECT IDENTIFIER  ::=
         { iso(1) identified-organization(3) dod(6) internet(1)
           security(5) mechanisms(5) pkix(7) id-pe(1) 12 }

   This extension MUST NOT be marked critical.

   Logotype data may be referenced through either direct or indirect
   addressing.  Client applications SHOULD support both direct and
   indirect addressing.  Certificate issuing applications MUST support
   direct addressing, and certificate issuing applications SHOULD
   support indirect addressing.

   The direct addressing includes information about each logotype in the
   certificate, and URIs point to the image and audio data object.
   Multiple URIs MAY be included for locations for obtaining the same
   logotype object.  Multiple hash values MAY be included, each computed
   with a different one-way hash function.  Direct addressing supports
   cases where just one or a few alternative images and audio objects
   are referenced.

   The indirect addressing includes one or more references to an
   external hashed data structure that contains information on the type,
   content, and location of each image and audio object.  Indirect
   addressing supports cases where each logotype is represented by many
   alternative audio or image objects.

   Both direct and indirect addressing accommodate alternative URIs to
   obtain exactly the same logotype data.  This opportunity for
   replication is intended to improve availability.  Therefore, if a
   client is unable to fetch the item from one URI, the client SHOULD
   try another URI in the sequence.  All direct addressing URIs SHOULD
   use the HTTPS scheme (https://...), the HTTP scheme (http://...), or
   the DATA scheme (data://...) [RFC3986].  However, the "data" URI
   scheme MUST NOT be used with the indirect addressing.  Clients MUST
   support retrieval of the referenced LogotypeData with HTTP [RFC9110],
   HTTP with TLS [RFC8446], or subsequent versions of these protocols.
   Client applications SHOULD also support the "data" URI scheme
   [RFC2397] for direct addressing with embedded logotype data within
   the extension.

   Note that the HTTPS scheme (https://...) requires the validation of
   other certificates to establish a secure connection.  For this
   reason, the HTTP scheme (http://...) may be easier for a client to
   handle.  Also, the hash of the logotype data provides data integrity.

   The logotype certificate extension MUST have the following syntax:

   LogotypeExtn ::= SEQUENCE {
      communityLogos  [0] EXPLICIT SEQUENCE OF LogotypeInfo OPTIONAL,
      issuerLogo      [1] EXPLICIT LogotypeInfo OPTIONAL,
      subjectLogo     [2] EXPLICIT LogotypeInfo OPTIONAL,
      otherLogos      [3] EXPLICIT SEQUENCE OF OtherLogotypeInfo
                             OPTIONAL }

   LogotypeInfo ::= CHOICE {
      direct          [0] LogotypeData,
      indirect        [1] LogotypeReference }

   LogotypeData ::= SEQUENCE {
      image           SEQUENCE OF LogotypeImage OPTIONAL,
      audio           [1] SEQUENCE OF LogotypeAudio OPTIONAL }

   LogotypeImage ::= SEQUENCE {
      imageDetails    LogotypeDetails,
      imageInfo       LogotypeImageInfo OPTIONAL }

   LogotypeAudio ::= SEQUENCE {
      audioDetails    LogotypeDetails,
      audioInfo       LogotypeAudioInfo OPTIONAL }

   LogotypeDetails ::= SEQUENCE {
      mediaType       IA5String, -- Media type name and optional
                                 -- parameters
      logotypeHash    SEQUENCE SIZE (1..MAX) OF HashAlgAndValue,
      logotypeURI     SEQUENCE SIZE (1..MAX) OF IA5String }

   LogotypeImageInfo ::= SEQUENCE {
      type            [0] LogotypeImageType DEFAULT color,
      fileSize        INTEGER,  -- In octets, 0=unspecified
      xSize           INTEGER,  -- Horizontal size in pixels
      ySize           INTEGER,  -- Vertical size in pixels
      resolution      LogotypeImageResolution OPTIONAL,
      language        [4] IA5String OPTIONAL }  -- RFC 5646 Language Tag

   LogotypeImageType ::= INTEGER { grayScale(0), color(1) }

   LogotypeImageResolution ::= CHOICE {
      numBits         [1] INTEGER,   -- Resolution in bits per pixel
      tableSize       [2] INTEGER }  -- Number of colors or grey tones

   LogotypeAudioInfo ::= SEQUENCE {
      fileSize        INTEGER,  -- In octets, 0=unspecified
      playTime        INTEGER,  -- In milliseconds, 0=unspecified
      channels        INTEGER,  -- 0=unspecified,
                                -- 1=mono, 2=stereo, 4=quad
      sampleRate      [3] INTEGER OPTIONAL,  -- Samples per second
      language        [4] IA5String OPTIONAL }  -- RFC 5646 Language Tag

   OtherLogotypeInfo ::= SEQUENCE {
      logotypeType    OBJECT IDENTIFIER,
      info            LogotypeInfo }

   LogotypeReference ::= SEQUENCE {
      refStructHash   SEQUENCE SIZE (1..MAX) OF HashAlgAndValue,
      refStructURI    SEQUENCE SIZE (1..MAX) OF IA5String }
                       -- Places to get the same LogotypeData
                       -- image or audio object

   HashAlgAndValue ::= SEQUENCE {
      hashAlg         AlgorithmIdentifier,
      hashValue       OCTET STRING }

   When using indirect addressing, the URI (refStructURI) pointing to
   the external data structure MUST point to a resource that contains
   the DER-encoded data with the syntax LogotypeData.

   At least one of the optional elements in the LogotypeExtn structure
   MUST be present.

   When using direct addressing, at least one of the optional elements
   in the LogotypeData structure MUST be present.

   The LogotypeReference and LogotypeDetails structures explicitly
   identify one or more one-way hash functions employed to authenticate
   referenced image or audio objects.  Certification Authorities (CAs)
   MUST include a hash value for each referenced object, calculated on
   the whole object.  CAs MUST use the one-way hash function that is
   associated with the certificate signature to compute one hash value,
   and CAs MAY include other hash values.  Clients MUST compute a one-
   way hash value using one of the identified functions, and clients
   MUST discard the logotype data if the computed hash value does not
   match the hash value in the certificate extension.

   A media type is used to specify the format of the image or audio
   object containing the logotype data.  The mediaType field MUST
   contain a string that is constructed according to the ABNF [RFC5234]
   rule for media-type provided in Section 8.3.1 of [RFC9110].  Media
   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
   format requirements are specified in Section 8.

   When language is specified, the language tag MUST use the syntax in
   [RFC5646].

   The following logotype types are defined in this specification:

   *  community logotype: If communityLogos is present, the logotypes
      MUST represent one or more communities with which the certificate
      issuer is affiliated.  The communityLogos MAY be present in an end
      entity certificate, a CA certificate, or an attribute certificate.
      The communityLogos contains a sequence of community logotypes,
      each representing a different community.  If more than one
      community logotype is present, they MUST be placed in order of
      preferred appearance.  Some clients MAY choose to display a subset
      of the present community logos; therefore, the placement within
      the sequence aids the client selection.  The most preferred
      logotype MUST be first in the sequence, and the least preferred
      logotype MUST be last in the sequence.

   *  issuer organization logotype: If issuerLogo is present, the
      logotype MUST represent the issuer's organization.  The logotype
      MUST be consistent with, and require the presence of, an
      organization name stored in the organization attribute in the
      issuer field (for either a public key certificate or attribute
      certificate).  The issuerLogo MAY be present in an end entity
      certificate, a CA certificate, or an attribute certificate.

   *  subject organization logotype: If subjectLogo is present, the
      logotype MUST represent the subject's organization.  The logotype
      MUST be consistent with, and require the presence of, an
      organization name stored in the organization attribute in the
      subject field (for either a public key certificate or attribute
      certificate).  The subjectLogo MAY be present in an end entity
      certificate, a CA certificate, or an attribute certificate.

   The relationship between the subject organization and the subject
   organization logotype, and the relationship between the issuer and
   either the issuer organization logotype or the community logotype,
   are relationships asserted by the issuer.  The policies and practices
   employed by the issuer that check subject organization logotypes or
   claims about its issuer and community logotypes are outside the scope
   of this document.

4.2.  Conventions for LogotypeImageInfo

   When the optional LogotypeImageInfo is included with a logotype
   image, the parameters MUST be used with the following semantics and
   restrictions.

   The xSize and ySize fields represent the recommended display size for
   the logotype image.  When a value of 0 (zero) is present, no
   recommended display size is specified.  When non-zero values are
   present and these values differ from corresponding size values in the
   referenced image object, then the referenced image SHOULD be scaled
   to fit within the size parameters of LogotypeImageInfo while
   preserving the x and y ratio.  Dithering may produce a more
   appropriate image than linear scaling.

   The resolution field is redundant for all logotype image formats
   listed in Section 7.  The optional resolution field SHOULD be omitted
   when the image format already contains this information.

4.3.  Embedded Images

   If the logotype image is provided through direct addressing, then the
   image MAY be stored within the logotype certificate extension using
   the "data" scheme [RFC2397].  The syntax of the "data" URI scheme is
   shown below, which incorporates Errata ID 2045 and uses modern ABNF
   [RFC5234]:

        dataurl    = "data:" [ media-type ] [ ";base64" ] "," data
        data       = *(reserved / unreserved / escaped)
        reserved   = ";" / "/" / "?" / ":" / "@" / "&" / "=" / "+" /
                     "$" / ","
        unreserved = alphanum / mark
        alphanum   = ALPHA / DIGIT
        mark       = "-" / "_" / "." / "!" / "~" / "*" / "'" / "(" / ")"
        escaped    = "%" hex hex
        hex        = HEXDIG / "a" / "b" / "c" / "d" / "e" / "f"

   where media-type is defined in Section 8.3.1 of [RFC9110] and ALPHA,
   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
      media type value in the "data" URL.

   *  The hash of the image MUST be included in logotypeHash and MUST be
      calculated over the same data as it would have been if the image
      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 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

   Logotypes identified by otherLogos (as defined in Section 4.1) can be
   used to enhance the display of logotypes and marks that represent
   partners, products, services, or any other characteristic associated
   with the certificate or its intended application environment when the
   standard logotype types are insufficient.

   The conditions and contexts of the intended use of these logotypes
   are defined at the discretion of the local client application.

   Three other logotype types are defined in the follow subsections.

4.4.1.  Loyalty Logotype

   When a loyalty logotype appears in otherLogos, it MUST be identified
   by the id-logo-loyalty object identifier.

      id-logo OBJECT IDENTIFIER ::= { id-pkix 20 }

      id-logo-loyalty    OBJECT IDENTIFIER ::= { id-logo 1 }

   A loyalty logotype, if present, MUST contain a logotype associated
   with a loyalty program related to the certificate or its use.  The
   relation between the certificate and the identified loyalty program
   is beyond the scope of this document.  The logotype certificate
   extension MAY contain more than one loyalty logotype.

   If more than one loyalty logotype is present, they MUST be placed in
   order of preferred appearance.  Some clients MAY choose to display a
   subset of the present loyalty logotype data; therefore, the placement
   within the sequence aids the client selection.  The most preferred
   loyalty logotype data MUST be first in the sequence, and the least
   preferred loyalty logotype data MUST be last in the sequence.

4.4.2.  Certificate Background Logotype

   When a certificate background logotype appears in otherLogos, it MUST
   be identified by the id-logo-background object identifier.

      id-logo-background OBJECT IDENTIFIER ::= { id-logo 2 }

   The certificate background logotype, if present, MUST contain a
   graphical image intended as a background image for the certificate
   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
   the background image.  The logotype certificate extension MUST NOT
   contain more than one certificate background logotype.

4.4.3.  Certificate Image Logotype

   When a certificate image logotype appears in otherLogos, it MUST be
   identified by the id-logo-certImage object identifier.

      id-logo-certImage OBJECT IDENTIFIER ::= { id-logo 3 }

   The certificate image logotype, if present, aids human interpretation
   of a certificate by providing meaningful visual information to the
   user interface (UI).  The logotype certificate extension MUST NOT
   contain more than one certificate image logotype.

   Typical situations when a human needs to examine the visual
   representation of a certificate are:

   *  A person establishes a secured channel with an authenticated
      service.  The person needs to determine the identity of the
      service based on the authenticated credentials.

   *  A person validates the signature on critical information, such as
      signed executable code, and needs to determine the identity of the
      signer based on the signer's certificate.

   *  A person is required to select an appropriate certificate to be
      used when authenticating to a service or identity management
      infrastructure.  The person needs to see the available
      certificates in order to distinguish between them in the selection
      process.

   The display of certificate information to humans is challenging due
   to lack of well-defined semantics for critical identity attributes.
   Unless the application has out-of-band knowledge about a particular
   certificate, the application will not know the exact nature of the
   data stored in common identification attributes, such as
   serialNumber, organizationName, country, etc.  Consequently, the
   application can display the actual data but faces the problem of
   labeling that data in the UI and informing the human about the exact
   nature (semantics) of that data.  It is also challenging for the
   application to determine which identification attributes are
   important to display and how to organize them in a logical order.

   When present, the certificate image MUST be a complete visual
   representation of the certificate.  This means that the display of
   this certificate image represents all information about the
   certificate that the issuer subjectively defines as relevant to show
   to a typical human user within the typical intended use of the
   certificate, giving adequate information about at least the following
   three aspects of the certificate:

   *  certificate context

   *  certificate issuer

   *  certificate subject

   Certificate context information is visual marks and/or textual
   information that helps the typical user to understand the typical
   usage and/or purpose of the certificate.

   It is up to the issuer to decide what information -- in the form of
   text, graphical symbols, and elements -- represents a complete visual
   representation of the certificate.  However, the visual
   representation of certificate subject and certificate issuer
   information from the certificate MUST have the same meaning as the
   textual representation of that information in the certificate itself.

   Applications providing a Graphical User Interface (GUI) to the
   certificate user MAY present a certificate image as the only visual
   representation of a certificate; however, the certificate user SHOULD
   be able to easily obtain the details of the certificate content.

5.  Type of Certificates

   Logotypes MAY be included in public key certificates and attribute
   certificates at the discretion of the certificate issuer; however,
   the relying party MUST NOT use the logotypes as part of certification
   path validation or automated trust decisions.  The sole purpose of
   logotypes is to enhance the display of a particular certificate,
   regardless of its position in a certification path.

6.  Use in Clients

   All PKI implementations require relying party software to have some
   mechanism to determine whether a trusted CA issues a particular
   certificate.  This is an issue for certification path validation,
   including consistent policy and name checking.

   After a certification path is successfully validated, the replying
   party trusts the information that the CA includes in the certificate,
   including any certificate extensions.  The client software can choose
   to make use of such information, or the client software can ignore
   it.  If the client is unable to support a provided logotype, the
   client MUST NOT report an error; instead, the client MUST behave as
   though no logotype certificate extension was included in the
   certificate.  Current standards do not provide any mechanism for
   cross-certifying CAs to constrain subordinate CAs from including
   private extensions (see Section 9).

   Consequently, if relying party software accepts a CA, then it should
   be prepared to (unquestioningly) display the associated logotypes to
   its human user, given that it is configured to do so.  Information
   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.
   This choice depends on the abilities of the human user, as well as
   the capabilities of the platform on which the replaying party
   software is running.  If none of the provided logotypes meets the
   needs of the human user or matches the capabilities of the platform,
   then the logotypes can be ignored.

   A client MAY, subject to local policy, choose to display none, one,
   or any number of the logotypes in the logotype certificate extension.
   In many cases, a client will be used in an environment with a good
   network connection and also used in an environment with little or no
   network connectivity.  For example, a laptop computer can be docked
   with a high-speed LAN connection, or it can be disconnected from the
   network altogether.  In recognition of this situation, the client
   MUST include the ability to disable the fetching of logotypes.
   However, locally cached logotypes can still be displayed when the
   user disables the fetching of additional logotypes.

   A client MAY, subject to local policy, choose any combination of
   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
   a sound with or without displaying an image.  A client MUST NOT play
   more than one logotype audio sequence at the same time.

   The logotype is to be displayed in conjunction with other identity
   information contained in the certificate.  The logotype is not a
   replacement for this identity information.

   Care is needed when designing replying party software to ensure that
   an appropriate context of logotype information is provided.  This is
   especially difficult with audio logotypes.  It is important that the
   human user be able to recognize the context of the logotype, even if
   other audio streams are being played.

   If the relying party software is unable to successfully validate a
   particular certificate, then it MUST NOT display any logotype data
   associated with that certificate.

7.  Image Formats

   Animated images SHOULD NOT be used.

   The following table lists common image formats and the corresponding
   media type.  The table also indicates the support requirements for
   these image formats.  The file name extensions commonly used for each
   of these formats is also provided.  Implementations MAY support other
   image formats.

      +========+==============+===========+============+============+
      | Format | Media Type   | Extension | References | Implement? |
      +========+==============+===========+============+============+
      | JPEG   | image/jpeg   | .jpg      | [JPEG]     | MUST       |
      |        |              | .jpeg     | [RFC2046]  | support    |
      +--------+--------------+-----------+------------+------------+
      | GIF    | image/gif    | .gif      | [GIF]      | MUST       |
      |        |              |           | [RFC2046]  | support    |
      +--------+--------------+-----------+------------+------------+
      | SVG    | image/       | .svg      | [SVGT]     | SHOULD     |
      |        | svg+xml      |           | [SVGR]     | support    |
      +--------+--------------+-----------+------------+------------+
      | SVG +  | image/       | .svgz     | [SVGT]     | MUST       |
      | GZIP   | svg+xml+gzip | .svg.gz   | [SVGZR]    | support    |
      +--------+--------------+-----------+------------+------------+
      | PNG    | image/png    | .png      | [ISO15948] | SHOULD     |
      |        |              |           | [PNGR]     | support    |
      +--------+--------------+-----------+------------+------------+
      | PDF    | application/ | .pdf      | [ISO32000] | MAY        |
      |        | pdf          |           | [ISO19005] | support    |
      |        |              |           | [RFC8118]  |            |
      +--------+--------------+-----------+------------+------------+

                           Table 1: Image Formats

      |  NOTE: The image/svg+xml-compressed media type is widely
      |  implemented, but it has not yet been registered with IANA.

   When a Scalable Vector Graphics (SVG) image is used, whether the
   image is compressed or not, the SVG Tiny profile [SVGT] MUST be
   followed, with these additional restrictions:

   *  The SVG image MUST NOT contain any Internationalized Resource
      Identifier (IRI) references to information stored outside of the
      SVG image of type B, C, or D, according to Section 14.1.4 of
      [SVGT].

   *  The SVG image MUST NOT contain any script element, according to
      Section 15.2 of [SVGT].

   *  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
      image.

   When a GZIP-compressed SVG image is fetched with HTTP, the client
   will receive a response that includes these headers:

      Content-Type: image/svg+xml
      Content-Encoding: gzip

   In this case, the octet stream of type image/svg+xml is compressed
   with GZIP [RFC1952], as specified in [SVGR].

   When an uncompressed SVG image is fetched with HTTP, the client will
   receive a response with the same Content-Type header but no Content-
   Encoding header.

   Whether the SVG image is GZIP-compressed or uncompressed, the hash
   value for the SVG image is calculated over the uncompressed SVG
   content with canonicalized EOL characters, as specified above.

   When an SVG image is embedded in the certificate extension using the
   "data" URL scheme, the SVG image data MUST be provided in GZIP-
   compressed form, and the XML structure, prior to compression, SHOULD
   use linefeed (0x0A) as the end-of-line (EOL) character.

   When a bitmap image is used, the PNG [ISO15948] format SHOULD be
   used.

   According to [ISO32000], when a Portable Document Format (PDF)
   document is used, it MUST also be formatted according to the profile
   PDF/A [ISO19005].

8.  Audio Formats

   Implementations that support audio MUST support the MP3 audio format
   [MP3] with a media type of "audio/mpeg" [RFC3003].  Implementations
   SHOULD support text-based audio data with a media type of "text/
   plain;charset=UTF-8".  Implementations MAY support other audio
   formats.

   Text-based audio data using the media type of "text/
   plain;charset=UTF-8" is intended to be used by text-to-speech
   software.  When this audio type is used, the following requirements
   apply:

   *  LogotypeAudioInfo MUST be present and specify the language of the
      text.

   *  The fileSize, playTime, and channels elements of LogotypeAudioInfo
      MUST have the value of 0.

   *  The sampleRate element of LogotypeAudioInfo MUST be absent.

9.  Security Considerations

   Implementations that simultaneously display multiple logotype types
   (subject organization, issuer organization, community, or other) MUST
   ensure that there is no ambiguity as to the binding between the image
   and the type of logotype that the image represents.  "Logotype type"
   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
   the image or audio.

   Logotypes are very difficult to securely and accurately define.
   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
   legitimate logotype of an organization.  There is an entire legal
   structure around this issue, and it will not be repeated here.
   However, issuers should be aware of the implications of including
   images associated with a trademark or servicemark before doing so.
   As logotypes can be difficult (and sometimes expensive) to verify,
   the possibility of errors related to assigning wrong logotypes to
   organizations is increased.

   This is not a new issue for electronic identification instruments.
   It is already dealt with in a number of similar situations in the
   physical world, including physical employee identification cards.  In
   addition, there are situations where identification of logotypes is
   rather simple and straightforward, such as logotypes for well-known
   industries and institutes.  These issues should not stop those
   service providers who want to issue logotypes from doing so, where
   relevant.

   It is impossible to prevent fraudulent creation of certificates by
   dishonest or badly performing issuers, containing names and logotypes
   that the issuer has no claim to or has failed to check correctly.
   Such certificates could be created in an attempt to socially engineer
   a user into accepting a certificate.  The premise used for the
   logotype work is thus that logotype graphics in a certificate are
   trusted only if the certificate is successfully validated within a
   valid path.  It is thus imperative that the representation of any
   certificate that fails to validate is not enhanced in any way by
   using the logotype data.

   This underlines the necessity for CAs to provide reliable services
   and the relying party's responsibility and need to carefully select
   which CAs are trusted to provide public key certificates.

   This also underlines the general necessity for relying parties to use
   up-to-date software libraries to render or dereference data from
   external sources, including logotype data in certificates, to
   minimize risks related to processing potentially malicious data
   before it has been adequately verified and validated.  Implementers
   should review the guidance in Section 7 of [RFC3986].

   Referenced image objects are hashed in order to bind the image to the
   signature of the certificate.  Some image types, such as SVG, allow
   part of the image to be collected from an external source by
   incorporating a reference to an external file that contains the
   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
   file but not the referenced image data.  Clients SHOULD verify that
   SVG images meet all requirements listed in Section 7 and reject
   images that contain references to external data.

   CAs issuing certificates with embedded logotype images should be
   cautious when accepting graphics from the certificate requester for
   inclusion in the certificate if the hash algorithm used to sign the
   certificate is vulnerable to collision attacks, as described in
   [RFC6151].  In such a case, the accepted image may contain data that
   could help an attacker to obtain colliding certificates with
   identical certificate signatures.

   Certification paths may also impose name constraints that are
   systematically checked during certification path processing, which,
   in theory, may be circumvented by logotypes.

   Certificate path processing, as defined in [RFC5280], does not
   constrain the inclusion of logotype data in certificates.  A parent
   CA can constrain certification path validation such that subordinate
   CAs cannot issue valid certificates to end entities outside a limited
   name space or outside specific certificate policies.  A malicious CA
   can comply with these name and policy requirements and still include
   inappropriate logotypes in the certificates that it issues.  These
   certificates will pass the certification path validation algorithm,
   which means the client will trust the logotypes in the certificates.
   Since there is no technical mechanism to prevent or control
   subordinate CAs from including the logotype certificate extension or
   its contents, where appropriate, a parent CA could employ a legal
   agreement to impose a suitable restriction on the subordinate CA.
   This situation is not unique to the logotype certificate extension.

   When a relying party fetches remote logotype data, a mismatch between
   the media type provided in the mediaType field of the LogotypeDetails
   and the Content-Type HTTP header of the retrieved object MUST 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
   remote logotype data is provided in the certificate extension, the
   relying party MAY try to fetch the remote logotype data from an
   alternate location to resolve the failure.

   When a subscriber requests the inclusion of remote logotype data in a
   certificate, the CA cannot be sure that any logotype data will be
   available at the provided URI for the entire validity period of the
   certificate.  To mitigate this concern, the CA may provide the
   logotype data from a server under its control, rather than a
   subscriber-controlled server.

   The controls available to a parent CA to protect itself from rogue
   subordinate CAs are non-technical.  They include:

   *  Contractual agreements of suitable behavior, including terms of
      liability in case of material breach.

   *  Control mechanisms and procedures to monitor and follow the
      behavior of subordinate CAs, including Certificate Transparency
      [RFC9162].

   *  Use of certificate policies to declare an assurance level of
      logotype data, as well as to guide applications on how to treat
      and display logotypes.

   *  Use of revocation functions to revoke any misbehaving CA.

   There is not a simple, straightforward, and absolute technical
   solution.  Rather, involved parties must settle some aspects of PKI
   outside the scope of technical controls.  As such, issuers need to
   clearly identify and communicate the associated risks.

10.  Privacy Considerations

   Certificates are commonly public objects, so the inclusion of
   privacy-sensitive information in certificates should be avoided.  The
   more information that is included in a certificate, the greater the
   likelihood that the certificate will reveal privacy-sensitive
   information.  The inclusion of logotype data needs to be considered
   in this context.

   Logotype data might be fetched from a server when it is needed.  By
   watching activity on the network, an observer can determine which
   clients are making use of certificates that contain particular
   logotype data.  Since clients are expected to locally cache logotype
   data, network traffic to the server containing the logotype data will
   not be generated every time the certificate is used.  Further, when
   logotype data is not cached, activity on the network might reveal
   certificate usage frequency.  Even when logotype data is cached,
   regardless of whether direct or indirect addressing is employed,
   network traffic monitoring could reveal when logotype data is fetched
   for the first time.  Implementations MAY encrypt fetches of logotype
   data using HTTPS, padding the data to a common size to reduce
   visibility into the data that is being fetched.  Likewise, servers
   MAY reduce visibility into the data that is being returned by
   encrypting with HTTPS and padding to a few common sizes.

   Similarly, when fetching logotype data from a server, the server
   operator can determine which clients are making use of certificates
   that contain particular logotype data.  As above, locally caching
   logotype data will eliminate the need to fetch the logotype data each
   time the certificate is used, and lack of caching would reveal usage
   frequency.  Even when implementations cache logotype data, regardless
   of whether direct or indirect addressing is employed, the server
   operator could observe when logotype data is fetched for the first
   time.

   In addition, the use of an encrypted DNS mechanism, such as DNS over
   TLS (DoT) [RFC7858] or DNS over HTTPS (DoH) [RFC9230], hides the name
   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
   no network traffic to fetch logotype data, which avoids the
   observations of network traffic or server operations described above.
   To obtain this benefit, the certificate will be larger than one that
   contains a URL.  Due to the improved privacy posture, the "data" URI
   scheme with direct addressing will be the only one that is supported
   by some CAs.  Privacy-aware certificate subscribers MAY wish to
   insist that logotype data is embedded in the certificate with the
   "data" URI scheme with direct addressing.

   In cases where logotype data is cached by the relying party, the
   cache index should include the hash values of the associated logotype
   data with the goal of fetching the logotype data only once, even when
   it is referenced by multiple URIs.  The index should include hash
   values for all supported hash algorithms.  The cached data should
   include the media type as well as the logotype data.  Implementations
   should give preference to logotype data that is already in the cache
   when multiple alternatives are offered in the LogotypeExtn
   certificate extension.

   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
   to fetch the logotype data if it is referenced by a URL in another
   certificate.

   When fetching remote logotype data, relying parties should use the
   most privacy-preserving options that are available to minimize the
   opportunities for servers to "fingerprint" clients.  For example,
   avoid cookies, ETags, and client certificates.

   When a relying party encounters a new certificate, the lack of
   network traffic to fetch logotype data might indicate that a
   certificate with references to the same logotype data has been
   previously processed and cached.

   TLS 1.3 [RFC8446] includes the ability to encrypt 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
   the server's certificate includes remote logotype data, the client
   fetching that data might disclose the otherwise protected server
   identity.

11.  IANA Considerations

   For the new ASN.1 module in Appendix A.2, IANA has assigned the
   following OID in the "SMI Security for PKIX Module Identifier"
   registry (1.3.6.1.5.5.7.0):

   +=========+======================+============+
   | Decimal | Description          | References |
   +=========+======================+============+
   | 107     | id-mod-logotype-2022 | RFC 9399   |
   +---------+----------------------+------------+

                       Table 2

   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.

   From the "SMI Security for PKIX Module Identifier" registry
   (1.3.6.1.5.5.7.0):

   +=========+===========================+============+
   | Decimal | Description               | References |
   +=========+===========================+============+
   | 22      | id-mod-logotype           | RFC 9399   |
   +---------+---------------------------+------------+
   | 68      | id-mod-logotype-certimage | RFC 9399   |
   +---------+---------------------------+------------+

                         Table 3

   From the "SMI Security for PKIX Certificate Extension" registry
   (1.3.6.1.5.5.7.1):

   +=========+================+============+
   | Decimal | Description    | References |
   +=========+================+============+
   | 12      | id-pe-logotype | RFC 9399   |
   +---------+----------------+------------+

                    Table 4

   From the "SMI Security for PKIX Other Logotype Identifiers" registry
   (1.3.6.1.5.5.7.20):

   +=========+====================+============+
   | Decimal | Description        | References |
   +=========+====================+============+
   | 1       | id-logo-loyalty    | RFC 9399   |
   +---------+--------------------+------------+
   | 2       | id-logo-background | RFC 9399   |
   +---------+--------------------+------------+
   | 3       | id-logo-certImage  | RFC 9399   |
   +---------+--------------------+------------+

                      Table 5

12.  References

12.1.  Normative References

   [GIF]      CompuServe Incorporated, "Graphics Interchange Format",
              Version 89a, July 1990,
              <https://www.w3.org/Graphics/GIF/spec-gif89a.txt>.

   [ISO15948] ISO/IEC, "Information technology -- Computer graphics and
              image processing -- Portable Network Graphics (PNG):
              Functional specification", ISO/IEC 15948:2004, March 2004.

   [JPEG]     ITU-T, "Information technology -- Digital compression and
              coding of continuous-tone still images: JPEG File
              Interchange Format (JFIF)", ITU-T Recommendation T.871,
              ISO/IEC 10918-5:2013, May 2013.

   [MP3]      ISO/IEC, "Information technology -- Generic coding of
              moving pictures and associated audio information -- Part
              3: Audio", ISO/IEC 13818-3:1998, April 1998.

   [NEW-ASN1] ITU-T, "Information technology -- Abstract Syntax Notation
              One (ASN.1): Specification of basic notation", ITU-T
              Recommendation X.680, ISO/IEC 8824-1:2021, February 2021,
              <https://www.itu.int/rec/T-REC-X.680>.

   [RFC1952]  Deutsch, P., "GZIP file format specification version 4.3",
              RFC 1952, DOI 10.17487/RFC1952, May 1996,
              <https://www.rfc-editor.org/info/rfc1952>.

   [RFC2046]  Freed, N. and N. Borenstein, "Multipurpose Internet Mail
              Extensions (MIME) Part Two: Media Types", RFC 2046,
              DOI 10.17487/RFC2046, November 1996,
              <https://www.rfc-editor.org/info/rfc2046>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC2397]  Masinter, L., "The "data" URL scheme", RFC 2397,
              DOI 10.17487/RFC2397, August 1998,
              <https://www.rfc-editor.org/info/rfc2397>.

   [RFC3003]  Nilsson, M., "The audio/mpeg Media Type", RFC 3003,
              DOI 10.17487/RFC3003, November 2000,
              <https://www.rfc-editor.org/info/rfc3003>.

   [RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
              Resource Identifier (URI): Generic Syntax", STD 66,
              RFC 3986, DOI 10.17487/RFC3986, January 2005,
              <https://www.rfc-editor.org/info/rfc3986>.

   [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", STD 68, RFC 5234,
              DOI 10.17487/RFC5234, January 2008,
              <https://www.rfc-editor.org/info/rfc5234>.

   [RFC5280]  Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
              Housley, R., and W. Polk, "Internet X.509 Public Key
              Infrastructure Certificate and Certificate Revocation List
              (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
              <https://www.rfc-editor.org/info/rfc5280>.

   [RFC5646]  Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying
              Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646,
              September 2009, <https://www.rfc-editor.org/info/rfc5646>.

   [RFC5755]  Farrell, S., Housley, R., and S. Turner, "An Internet
              Attribute Certificate Profile for Authorization",
              RFC 5755, DOI 10.17487/RFC5755, January 2010,
              <https://www.rfc-editor.org/info/rfc5755>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8446]  Rescorla, E., "The Transport Layer Security (TLS) Protocol
              Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
              <https://www.rfc-editor.org/info/rfc8446>.

   [RFC9110]  Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,
              Ed., "HTTP Semantics", STD 97, RFC 9110,
              DOI 10.17487/RFC9110, June 2022,
              <https://www.rfc-editor.org/info/rfc9110>.

   [SVGT]     World Wide Web Consortium, "Scalable Vector Graphics (SVG)
              Tiny 1.2 Specification", W3C REC-SVGTiny12-20081222,
              December 2008,
              <http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/>.

12.2.  Informative References

   [ISO19005] ISO, "Document management -- Electronic document file
              format for long-term preservation -- Part 1: Use of PDF
              1.4 (PDF/A-1)", ISO 19005-1:2005, October 2005.

   [ISO32000] ISO, "Document management -- Portable document format --
              Part 1: PDF 1.7", ISO 32000-1:2008, July 2008.

   [OLD-ASN1] CCITT, "Specification of Abstract Syntax Notation One
              (ASN.1)", CCITT Recommendation X.208, November 1988,
              <https://www.itu.int/rec/T-REC-X.208/en>.

   [PNGR]     World Wide Web Consortium, "Media Type Registration for
              image/png",
              <https://www.iana.org/assignments/media-types/image/png>.

   [RFC3709]  Santesson, S., Housley, R., and T. Freeman, "Internet
              X.509 Public Key Infrastructure: Logotypes in X.509
              Certificates", RFC 3709, DOI 10.17487/RFC3709, February
              2004, <https://www.rfc-editor.org/info/rfc3709>.

   [RFC5912]  Hoffman, P. and J. Schaad, "New ASN.1 Modules for the
              Public Key Infrastructure Using X.509 (PKIX)", RFC 5912,
              DOI 10.17487/RFC5912, June 2010,
              <https://www.rfc-editor.org/info/rfc5912>.

   [RFC6151]  Turner, S. and L. Chen, "Updated Security Considerations
              for the MD5 Message-Digest and the HMAC-MD5 Algorithms",
              RFC 6151, DOI 10.17487/RFC6151, March 2011,
              <https://www.rfc-editor.org/info/rfc6151>.

   [RFC6170]  Santesson, S., Housley, R., Bajaj, S., and L. Rosenthol,
              "Internet X.509 Public Key Infrastructure -- Certificate
              Image", RFC 6170, DOI 10.17487/RFC6170, May 2011,
              <https://www.rfc-editor.org/info/rfc6170>.

   [RFC6268]  Schaad, J. and S. Turner, "Additional New ASN.1 Modules
              for the Cryptographic Message Syntax (CMS) and the Public
              Key Infrastructure Using X.509 (PKIX)", RFC 6268,
              DOI 10.17487/RFC6268, July 2011,
              <https://www.rfc-editor.org/info/rfc6268>.

   [RFC7858]  Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D.,
              and P. Hoffman, "Specification for DNS over Transport
              Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May
              2016, <https://www.rfc-editor.org/info/rfc7858>.

   [RFC8118]  Hardy, M., Masinter, L., Markovic, D., Johnson, D., and M.
              Bailey, "The application/pdf Media Type", RFC 8118,
              DOI 10.17487/RFC8118, March 2017,
              <https://www.rfc-editor.org/info/rfc8118>.

   [RFC9162]  Laurie, B., Messeri, E., and R. Stradling, "Certificate
              Transparency Version 2.0", RFC 9162, DOI 10.17487/RFC9162,
              December 2021, <https://www.rfc-editor.org/info/rfc9162>.

   [RFC9216]  Gillmor, D. K., Ed., "S/MIME Example Keys and
              Certificates", RFC 9216, DOI 10.17487/RFC9216, April 2022,
              <https://www.rfc-editor.org/info/rfc9216>.

   [RFC9230]  Kinnear, E., McManus, P., Pauly, T., Verma, T., and C.A.
              Wood, "Oblivious DNS over HTTPS", RFC 9230,
              DOI 10.17487/RFC9230, June 2022,
              <https://www.rfc-editor.org/info/rfc9230>.

   [SVGR]     World Wide Web Consortium, "Media Type Registration for
              image/svg+xml", <https://www.iana.org/assignments/media-
              types/image/svg+xml>.

   [SVGZR]    "A separate MIME type for svgz files is needed",
              <https://github.com/w3c/svgwg/issues/701>.

Appendix A.  ASN.1 Modules

A.1.  ASN.1 Modules with 1988 Syntax

   This appendix contains two ASN.1 modules, both using the old syntax
   [OLD-ASN1].

   The first ASN.1 module provides the syntax for the logotype
   certificate extension.  Only comments have changed in the module from
   [RFC3709] and the IMPORTS now come from [RFC5280].

   The second ASN.1 module provides the certificate image object
   identifier.  The module is unchanged from [RFC6170].

   <CODE BEGINS>
   LogotypeCertExtn
     { iso(1) identified-organization(3) dod(6) internet(1)
       security(5) mechanisms(5) pkix(7) id-mod(0)
       id-mod-logotype(22) }

   DEFINITIONS IMPLICIT TAGS ::=
   BEGIN

   IMPORTS
      AlgorithmIdentifier FROM PKIX1Explicit88 -- RFC 5280
        { iso(1) identified-organization(3) dod(6) internet(1)
          security(5) mechanisms(5) pkix(7) id-mod(0)
          id-pkix1-explicit(18) };

   -- Logotype Certificate Extension OID

   id-pe-logotype  OBJECT IDENTIFIER  ::=
      { iso(1) identified-organization(3) dod(6) internet(1)
        security(5) mechanisms(5) pkix(7) id-pe(1) 12 }


   -- Logotype Certificate Extension Syntax

   LogotypeExtn ::= SEQUENCE {
      communityLogos  [0] EXPLICIT SEQUENCE OF LogotypeInfo OPTIONAL,
      issuerLogo      [1] EXPLICIT LogotypeInfo OPTIONAL,
      subjectLogo     [2] EXPLICIT LogotypeInfo OPTIONAL,
      otherLogos      [3] EXPLICIT SEQUENCE OF OtherLogotypeInfo
                             OPTIONAL }

   -- Note: At least one of the OPTIONAL components MUST be present

   LogotypeInfo ::= CHOICE {
      direct          [0] LogotypeData,
      indirect        [1] LogotypeReference }

   LogotypeData ::= SEQUENCE {
      image           SEQUENCE OF LogotypeImage OPTIONAL,
      audio           [1] SEQUENCE OF LogotypeAudio OPTIONAL }

   -- Note: At least one of the OPTIONAL components MUST be present

   LogotypeImage ::= SEQUENCE {
      imageDetails    LogotypeDetails,
      imageInfo       LogotypeImageInfo OPTIONAL }

   LogotypeAudio ::= SEQUENCE {
      audioDetails    LogotypeDetails,
      audioInfo       LogotypeAudioInfo OPTIONAL }

   LogotypeDetails ::= SEQUENCE {
      mediaType       IA5String, -- Media type name and optional
                                 -- parameters
      logotypeHash    SEQUENCE SIZE (1..MAX) OF HashAlgAndValue,
      logotypeURI     SEQUENCE SIZE (1..MAX) OF IA5String }

   LogotypeImageInfo ::= SEQUENCE {
      type            [0] LogotypeImageType DEFAULT color,
      fileSize        INTEGER,  -- In octets, 0=unspecified
      xSize           INTEGER,  -- Horizontal size in pixels
      ySize           INTEGER,  -- Vertical size in pixels
      resolution      LogotypeImageResolution OPTIONAL,
      language        [4] IA5String OPTIONAL }  -- RFC 5646 Language Tag

   LogotypeImageType ::= INTEGER { grayScale(0), color(1) }

   LogotypeImageResolution ::= CHOICE {
      numBits         [1] INTEGER,   -- Resolution in bits per pixel
      tableSize       [2] INTEGER }  -- Number of colors or grey tones

   LogotypeAudioInfo ::= SEQUENCE {
      fileSize        INTEGER,  -- In octets, 0=unspecified
      playTime        INTEGER,  -- In milliseconds, 0=unspecified
      channels        INTEGER,  -- 0=unspecified,
                                -- 1=mono, 2=stereo, 4=quad
      sampleRate      [3] INTEGER OPTIONAL,  -- Samples per second
      language        [4] IA5String OPTIONAL }  -- RFC 5646 Language Tag

   OtherLogotypeInfo ::= SEQUENCE {
      logotypeType    OBJECT IDENTIFIER,
      info            LogotypeInfo }

   LogotypeReference ::= SEQUENCE {
      refStructHash   SEQUENCE SIZE (1..MAX) OF HashAlgAndValue,
      refStructURI    SEQUENCE SIZE (1..MAX) OF IA5String }
                       -- Places to get the same LogotypeData
                       -- image or audio object

   -- Note: The referenced LogotypeData binary file contains a
   --       DER-encoded LogotypeData type

   HashAlgAndValue ::= SEQUENCE {
      hashAlg         AlgorithmIdentifier,
      hashValue       OCTET STRING }

   -- Other logotype type OIDs

   id-logo OBJECT IDENTIFIER ::= { iso(1) identified-organization(3)
      dod(6) internet(1) security(5) mechanisms(5) pkix(7) 20 }

   id-logo-loyalty    OBJECT IDENTIFIER ::= { id-logo 1 }

   id-logo-background OBJECT IDENTIFIER ::= { id-logo 2 }

   END


   CERT-IMAGE-MODULE { iso(1) identified-organization(3) dod(6)
       internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
       id-mod-logotype-certimage(68) }

   DEFINITIONS EXPLICIT TAGS ::=
   BEGIN

   EXPORTS ALL;   -- export all items from this module

   id-logo-certImage  OBJECT IDENTIFIER  ::=
      { iso(1) identified-organization(3) dod(6) internet(1)
        security(5) mechanisms(5) pkix(7) id-logo(20) 3 }

   END
   <CODE ENDS>

A.2.  ASN.1 Module with 2002 Syntax

   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
   uses the ASN.1 syntax defined in [NEW-ASN1], and it follows the
   conventions established in [RFC5912] and [RFC6268].

   This ASN.1 module incorporates the module from [RFC3709] and the
   module from [RFC6170].

   Note that [NEW-ASN1] was published in 2021, and all of the features
   used in this module are backward compatible with the specification
   that was published in 2002.

   <CODE BEGINS>
   LogotypeCertExtn-2022
     { iso(1) identified-organization(3) dod(6) internet(1)
       security(5) mechanisms(5) pkix(7) id-mod(0)
       id-mod-logotype-2022(107) }

   DEFINITIONS IMPLICIT TAGS ::=
   BEGIN

   IMPORTS
     EXTENSION
     FROM PKIX-CommonTypes-2009  -- RFC 5912
       { iso(1) identified-organization(3) dod(6) internet(1)
         security(5) mechanisms(5) pkix(7) id-mod(0)
         id-mod-pkixCommon-02(57) }

     AlgorithmIdentifier{}, DIGEST-ALGORITHM
     FROM AlgorithmInformation-2009
       { iso(1) identified-organization(3) dod(6) internet(1)
         security(5) mechanisms(5) pkix(7) id-mod(0)
         id-mod-algorithmInformation-02(58) } ;


   -- Logotype Certificate Extension

   ext-logotype EXTENSION ::= {
      SYNTAX LogotypeExtn
      IDENTIFIED BY id-pe-logotype }

   -- Logotype Certificate Extension OID

   id-pe-logotype  OBJECT IDENTIFIER  ::=
      { iso(1) identified-organization(3) dod(6) internet(1)
        security(5) mechanisms(5) pkix(7) id-pe(1) 12 }

   -- Logotype Certificate Extension Syntax

   LogotypeExtn ::= SEQUENCE {
      communityLogos  [0] EXPLICIT SEQUENCE OF LogotypeInfo OPTIONAL,
      issuerLogo      [1] EXPLICIT LogotypeInfo OPTIONAL,
      subjectLogo     [2] EXPLICIT LogotypeInfo OPTIONAL,
      otherLogos      [3] EXPLICIT SEQUENCE OF OtherLogotypeInfo
                             OPTIONAL }
         -- At least one of the OPTIONAL components MUST be present
         ( WITH COMPONENTS { ..., communityLogos PRESENT } |
           WITH COMPONENTS { ..., issuerLogo PRESENT } |
           WITH COMPONENTS { ..., subjectLogo PRESENT } |
           WITH COMPONENTS { ..., otherLogos PRESENT } )

   LogotypeInfo ::= CHOICE {
      direct          [0] LogotypeData,
      indirect        [1] LogotypeReference }

   LogotypeData ::= SEQUENCE {
      image           SEQUENCE OF LogotypeImage OPTIONAL,
      audio           [1] SEQUENCE OF LogotypeAudio OPTIONAL }
         -- At least one image component MUST be present
         ( WITH COMPONENTS { ..., image PRESENT } )

   LogotypeImage ::= SEQUENCE {
      imageDetails    LogotypeDetails,
      imageInfo       LogotypeImageInfo OPTIONAL }

   LogotypeAudio ::= SEQUENCE {
      audioDetails    LogotypeDetails,
      audioInfo       LogotypeAudioInfo OPTIONAL }

   LogotypeDetails ::= SEQUENCE {
      mediaType       IA5String, -- Media type name and optional
                                 -- parameters
      logotypeHash    SEQUENCE SIZE (1..MAX) OF HashAlgAndValue,
      logotypeURI     SEQUENCE SIZE (1..MAX) OF IA5String }

   LogotypeImageInfo ::= SEQUENCE {
      type            [0] LogotypeImageType DEFAULT color,
      fileSize        INTEGER,  -- In octets, 0=unspecified
      xSize           INTEGER,  -- Horizontal size in pixels
      ySize           INTEGER,  -- Vertical size in pixels
      resolution      LogotypeImageResolution OPTIONAL,
      language        [4] IA5String OPTIONAL }  -- RFC 5646 Language Tag

   LogotypeImageType ::= INTEGER { grayScale(0), color(1) }

   LogotypeImageResolution ::= CHOICE {
      numBits         [1] INTEGER,   -- Resolution in bits
      tableSize       [2] INTEGER }  -- Number of colors or grey tones

   LogotypeAudioInfo ::= SEQUENCE {
      fileSize        INTEGER,  -- In octets, 0=unspecified
      playTime        INTEGER,  -- In milliseconds, 0=unspecified
      channels        INTEGER,  -- 0=unspecified
                                -- 1=mono, 2=stereo, 4=quad
      sampleRate      [3] INTEGER OPTIONAL,  -- Samples per second
      language        [4] IA5String OPTIONAL }  -- RFC 5646 Language Tag

   OtherLogotypeInfo ::= SEQUENCE {
      logotypeType    OBJECT IDENTIFIER,
      info            LogotypeInfo }

   LogotypeReference ::= SEQUENCE {
      refStructHash   SEQUENCE SIZE (1..MAX) OF HashAlgAndValue,
      refStructURI    SEQUENCE SIZE (1..MAX) OF IA5String }
                       -- Places to get the same LogotypeData
                       -- image or audio object

   -- Note: The referenced LogotypeData binary file contains a
   --       DER-encoded LogotypeData type

   HashAlgAndValue ::= SEQUENCE {
      hashAlg         AlgorithmIdentifier{DIGEST-ALGORITHM, {...}},
      hashValue       OCTET STRING }

   -- Other logotype type OIDs

   id-logo OBJECT IDENTIFIER ::= { iso(1) identified-organization(3)
      dod(6) internet(1) security(5) mechanisms(5) pkix(7) 20 }

   id-logo-loyalty    OBJECT IDENTIFIER ::= { id-logo 1 }

   id-logo-background OBJECT IDENTIFIER ::= { id-logo 2 }

   id-logo-certImage  OBJECT IDENTIFIER  ::= { id-logo 3 }

   END
   <CODE ENDS>

Appendix B.  Examples

B.1.  Example from RFC 3709

   The following example displays a logotype certificate extension
   containing one issuer organization logotype using direct addressing.
   The issuer organization logotype image is of the type image/gif.  The
   logotype image is referenced through one URI, and the image is hashed
   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
   length (in decimal).

   30 122: SEQUENCE {
   06   8:  OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12)
   04 110:  OCTET STRING, encapsulates {
   30 108:   SEQUENCE {
   A1 106:    [1] {
   A0 104:     [0] {
   30 102:      SEQUENCE {
   30 100:       SEQUENCE {
   30  98:        SEQUENCE {
   16   9:         IA5String 'image/gif'
   30  49:         SEQUENCE {
   30  47:          SEQUENCE {
   30  11:           SEQUENCE {
   06   9:            OBJECT IDENTIFIER
         :             sha-256 (2 16 840 1 101 3 4 2 1)
         :             }
   04  32:           OCTET STRING
         :            6A 58 50 2E 59 67 F9 DD D1 8A FE BD 0D B1 FE 60
         :            A5 13 1B DF 0F B2 BE F0 B5 73 45 50 BA 1B BF 19
         :            }
         :           }
   30  34:         SEQUENCE {
   16  32:          IA5String 'http://logo.example.com/logo.gif'
         :           }
         :          }
         :         }
         :        }
         :       }
         :      }
         :     }
         :    }
         :   }

B.2.  Issuer Organization Logotype Example

   The following example displays a logotype certificate extension
   containing one issuer organization logotype using direct addressing.
   The issuer organization logotype image is of the type image/jpeg.
   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
   length (in decimal).

   30 124: SEQUENCE {
   06   8:  OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12)
   04 112:  OCTET STRING, encapsulates {
   30 110:   SEQUENCE {
   A1 108:    [1] {
   A0 106:     [0] {
   30 104:      SEQUENCE {
   30 102:       SEQUENCE {
   30 100:        SEQUENCE {
   16  10:         IA5String 'image/jpeg'
   30  49:         SEQUENCE {
   30  47:          SEQUENCE {
   30  11:           SEQUENCE {
   06   9:            OBJECT IDENTIFIER
         :             sha-256 (2 16 840 1 101 3 4 2 1)
         :             }
   04  32:           OCTET STRING
         :            1E 8F 96 FD D3 50 53 EF C6 1C 9F FC F0 00 2E 53
         :            B4 9C 24 9A 32 C5 E9 0C 2C 39 39 D3 AD 6D A9 09
         :            }
         :           }
   30  35:         SEQUENCE {
   16  33:          IA5String 'http://logo.example.com/logo.jpeg'
         :           }
         :          }
         :         }
         :        }
         :       }
         :      }
         :     }
         :    }
         :   }

B.3.  Embedded Image Example

   The following example displays a logotype certificate extension
   containing one subject organization logotype using direct addressing.
   The subject organization logotype image uses image/svg+xml+gzip.  The
   logotype image is embedded in the certificate extension with a
   "data:" URI, and the image is hashed by SHA-256.  This technique
   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
   length (in decimal).

   30 2148: SEQUENCE {
   06    8:  OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12)
   04 2134:  OCTET STRING, encapsulates {
   30 2130:   SEQUENCE {
   A2 2126:    [2] {
   A0 2122:     [0] {
   30 2118:      SEQUENCE {
   30 2114:       SEQUENCE {
   30 2110:        SEQUENCE {
   16   18:         IA5String 'image/svg+xml+gzip'
   30   49:         SEQUENCE {
   30   47:          SEQUENCE {
   30   11:           SEQUENCE {
   06    9:            OBJECT IDENTIFIER
          :             sha-256 (2 16 840 1 101 3 4 2 1)
          :             }
   04   32:           OCTET STRING
          :           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
          :            }
          :           }
   30 2035:         SEQUENCE {
   16 2031:          IA5String
          :          'data:image/svg+xml+gzip;base64,H4sICIGpy2EAA2xvZ'
          :          '28tY29weS5zdmcApVbbbhs3EH3nV0y3Lw2Q9fK2JLewHDROU'
          :          'BRo2iBxW+RRlTa2UFkypIWV5ut7zlB2UqF9cuLlUktyLmfOz'
          :          'PD8xafbtdyPu/1qu5k17sw2sp/mm+V8vd2Ms2azbV5cmPNvX'
          :          'v16efXh7WvZ31/L299e/vzTpTRt1/0RLrvu1dUref/7j+Ktd'
          :          'Xawsete/9IYaW6m6e77rjscDmeHcLbdXXdX7zpu6t69vmxxo'
          :          'n08AREdRDt7tpyWDRRSz7+tgp2b/ew/hEKI5WGoPKyW082s8'
          :          'SmeWf13NzVyM66ub6ZZk+xXH+9X4+Hl9tOssWLly3553ARpd'
          :          '7txP+7uxx/2d+NiejefVttZ8+nNavkBj9yO40RLb8dpvpxP8'
          :          'wtzuRvn07iUP/+Wu+20my9GcWfOPpfDbjVN44YLb8dp3Mn7c'
          :          'b3aXGNCAICCc+a8+yLo/FpwfLP/uN3dzhqdriH5uwfbnj9a+'
          :          'Uz2i/maK66utA+zZ435uFqvZ823R38Q1t32Lw3pZqThd/PpR'
          :          'paz5o2LNkocvCzaIm0vrQvSpog359lLy3my0ga+e3Hp+B4In'
          :          'jVFPD9awdhnrGEFW30Sl/Pnpvta2QBVxUEVxFbJ2VUFfYC01'
          :          'pUs+O4GK84V/k6CHUFyhvhiDVQF8Y5aPDbmnsrXbS74DANjg'
          :          'uwgENZLPwjUYVTRJQgEpiLR0ctiWj+Ig8rCvZAArxKExEEWM'
          :          'JLqMA1F+ggnsQDXgpQeomJPCVhtCRycNrAWxgAI+g1Qsr6IU'
          :          'xlomBswjydYBEgOeVCDoRreBjiFjX2SdSA60BP5DgQM63xoP'
          :          'lWHbNq+egAEeAzxyNAdCQz+sDEMOhaGisKJdSlS6gtWWm4M1'
          :          'rQwP0egEBIhhFLoXuCJhR4mT5RJBaiLKqqFROUEzYr1idG0g'
          :          'ahwCzEnk+AMJLdp0FevQQ6VZ+SKOwGlOIJOh1MVjo0eB6DRA'
          :          '10SRpSY6il/eFFKAm+MKSIWNFqSo4OFnORfwH5wJHCMNM0ql'
          :          'DRlcIwUEkDlgiSBhiEpBgMKOx5FdAYqI3KYewKKkAItTABTk'
          :          'p5khI86kgbOgRywEBR0VGcwAjf8t9wqvdUMG6gLAbI0QQ8Cb'
          :          'zCTtCSn/DEhCbm++duQaiRG1mQkdWHnminHA+r5wpLvsJbCA'
          :          'LUKsDW5NAj43J+AD5vpfamUzJqiRJACmCWwIMhQq4HmYGKai'
          :          'iJPmIvpS80UzTtAjdSraApQZogslgFcJHw0y5WoEXDYr/aTq'
          :          'fxk2qhcg3z6ETQL+S18llvHOZQvlEOVEVpzqCozE9V6JZhh/'
          :          'lCslg7mUFY4AR7IlcApmgV6gz3DCSDe56fQ0SRS7el0NJWO8'
          :          'mQ6mkc6ylPpaL7QUZ5IR/M/dEwoJiEp+L6iT4cdSyIp4ljDk'
          :          'oaZpQlgMoz0ApahjTiTWbZYu9v+MUqVjY61j2Bxr68bPF3uS'
          :          '1232qAyAQDMhr4MRyVZq5l2QcuwgY/oTozbgoIKycH+yQxhz'
          :          'QsPJQ/ne9OmRKvYH1AeKA/EQRtzrmaYUiHUhpJOW4breSaxZ'
          :          '/TVc3ZAQJKOagAJiw6pRHVkBMIBa5E+SUMWi0ZNW1Rfn/xQX'
          :          'ywHXyMHN5G8WF6gZ2IVjANHMIJQ1lAJQE8MJjZHJiUtQZAWz'
          :          'mkisDywTVWSqLkkQG2NNB3wwyaerqRGLNKpvwUOhaQFiYcqv'
          :          'iSjvp1n8WnRRzXFs9IXDxiiDd8HU/ROoAGn9+QgTPEVu6HaN'
          :          '6i0VPuv1SCzwyZeHwBA1EjFYoAk2jJ3OFeJ5Gp1E+3Dlf3Aj'
          :          '70bbvmag5oyKHunVyGPq6+EnvTua/JUn3iadMHlqUapsK2T8'
          :          'SwCBJUF1JnEmhu0ntBthJoQpZqumsBk5mA1hRc0LR5ZFerdj'
          :          'ksaCqt3IUWXcXW16vb6xdWyHLTgCaKXWKUKK1kOp9HK5B3EL'
          :          'jSdXb0loB5RYtS01L6h9yTPW51Wpqwgosr5I927aw6401+Yf'
          :          'wDria4WoQwAAA=='
          :           }
          :          }
          :         }
          :        }
          :       }
          :      }
          :     }
          :    }
          :   }

B.4.  Embedded Certificate Image Example

   The following example displays a logotype certificate extension
   containing one certificate image logotype using direct addressing.
   The certificate image logotype uses image/svg+xml+gzip.  The logotype
   image is embedded in the certificate extension with a "data:" URI,
   and the image is hashed by SHA-256.  This example contains the image
   from Appendix B of [RFC6170]; however, the media type used here is
   explicit about the use of GZIP compression [RFC1952].

   The values on the left are the ASN.1 tag (in hexadecimal) and the
   length (in decimal).

   30 2902: SEQUENCE {
   06    8:  OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12)
   04 2888:  OCTET STRING, encapsulates {
   30 2884:   SEQUENCE {
   A3 2880:    [3] {
   30 2876:     SEQUENCE {
   30 2872:      SEQUENCE {
   06    8:       OBJECT IDENTIFIER '1 3 6 1 5 5 7 20 3'
   A0 2858:       [0] {
   30 2854:        SEQUENCE {
   30 2850:         SEQUENCE {
   30 2846:          SEQUENCE {
   16   18:           IA5String 'image/svg+xml+gzip'
   30   49:           SEQUENCE {
   30   47:            SEQUENCE {
   30   11:             SEQUENCE {
   06    9:              OBJECT IDENTIFIER
          :               sha-256 (2 16 840 1 101 3 4 2 1)
          :               }
   04   32:             OCTET STRING
          :           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
          :              }
          :             }
   30 2771:           SEQUENCE {
   16 2767:            IA5String
          :          'data:image/svg+xml+gzip;base64,H4sICLXutU0AA0Nlc'
          :          'nRJbWFnZURlbW8uc3ZnANVaW2/bOBZ+n19BqBigwdoS7xK9j'
          :          'meapB0EWHQHzez2WZZoR1tZMiQ5jvvr95CSL7Gl1Em8C9d9i'
          :          'ERSPOd85+O5EB3+9jhL0YMuyiTPLh3iYgfpLMrjJJteOv/66'
          :          '1M/cFBZhVkcpnmmL50sd34b/TIsH6YoiS+da11UySSJwkqj2'
          :          '1k41Q6CDbNyUMSTS+e+quYDz1sul+6SuXkx9YhSysPUo7QPK'
          :          '/rlKqvCx35Wvmu+a/uGYow9EOigh0Qvr/LHSwcjjDjGiGHQ9'
          :          '14n0/sKlMf4Vwctk7i6X7/sGEYdNA5L/WeRT5IUDKmSbLVWN'
          :          'oo2cqNCh1XyoKN8Nsuz0iqwVW8Qb1fOF0Vqp+PI06me6awqP'
          :          'eISzxn9goYzXYVxWIUWpfWLCMwcGoLpgy83n8wzGkbR4Gtef'
          :          'ENmMBznC7DEroKpOBpM8mIWVqPEYGtA+BvoMfS2E5uF1Wqu7'
          :          'R6FLvNFEelWReNolpiV3l2VpGntMW9nk6RKdf0+9BrFrMbeV'
          :          'uWhtzbHvMR6UlobPyVpBWjXBk7six2vH5nCwY6nXCo5xb7Yu'
          :          'svFVPqCOGh16fSxSxglmPkScLfvmDDmC4FlDc1wov8IF2WZh'
          :          'NlVumgEPRliimDD3PhGPyTgUUMC6lKqKAjxaptq1boUJvQFs'
          :          'vi+LOJyxZkPE/vCwHuAmXmoj1AarnRBatzqkbv7cK5Ls2ORf'
          :          'wM/vsOG5lURZqXxOnDXPKZw5t5jVzIhFKO0B6D6hARSXDR6F'
          :          'zqq7H7mQeJAOQiUSPvFIrUHOfuui3zrFI5dYVeAmpcOcOb9u'
          :          '63vLjae4kYX4yRifYPrTa2SlMigYdO+cEWeGADMLZLH96SH4'
          :          'R9xRYApl6q3Y02f+NzlRAl+cZSKhB6qSIVa80fsqMnWOqZJp'
          :          'msXwAPoyNaQ95uNIGasKPwhxGzQzOXzMIIzBKabmLIil470z'
          :          'fSjWWn+kvpvLQ9g1l3yRIc8gukz0uysEcakcDfy3KMk+l0SO'
          :          'XlOopltJL7EPtUlzZfP4tnM70k8xkKCySt92MwfIXPoTe0pn'
          :          'u4dYbp7hJ/kxWySN0ey0o/1qbiCsxDXJMWWo37QekBcAUFPS'
          :          'GkPCnUJF5wwBacDK5cGlEp4BC2lYoJcrNNGVc7DzIqxT4CKs'
          :          'PlrAG8mL8whRejiQe9EmImIAoz3sds9NxP4RZEzugqzb7c3Q'
          :          '89u3WQKY9aegbsA/AUJB/bJs6pfJt9BHFEuk5DWITzOH5uZS'
          :          'ThLUsDjQ5GE6RMsyihMTaQLfA6BIiAQMAhnHHN1sd61WtUhD'
          :          'VJiuhkrdBXd740+hLB9Vm1HjQe4ywLOBLWOMMiyQAXNB8sm9'
          :          'Gx2qdGgGkMG6wY8aLfqgH4dfnmrVc+pPrE/Z/QnZOs8C1Okb'
          :          '2/ggwLdxlDC1D6DFPZDD98txv8xQf5TEc7Ax6ZyaDf6BC4Sy'
          :          'lWKCMqtizp80+UMchATal63qHq0M3ZTs83Ob/XO6LYsFzpGV'
          :          'Y5+iLxdWvwY+NaKoR/0iJIXL3dBjT2hG+wO+NXm53XStSh1e'
          :          'ogfeojV35BTOaqh/cmPUe2Mdp91pQp2CjWOO2k7OamhjU1HB'
          :          '3DLGm66n6iajz4bqn2oICmNFxDR/x2mC5s+rKhlkUA3Ne3P8'
          :          'lgP0qJfjf9uvu+HWXSfFwNoH4uqGUmTadYMtOc7yjEEd9EUh'
          :          'kwEEOcDSHKQ+yhnSvUYRH8miQo2FK5TCjWZZGWKB8iHPud16'
          :          'wApnCvTOzjIFAj9TQdCxa+ddOTizaa1xJvD0qMrKx+Ydaj6i'
          :          'wJQG0vaSdYWpTv4HwVRAP3Z6ONjOJunEIeKRVmhujpA2+wPm'
          :          'QR9WFQAFhh9bGQzFEXX+WwOnXq8pV35P2Acdn0pGebcMg7Og'
          :          'QKaEdOKEAkFlk/9HuEKGBVwucc4AjnJ/LBYU09hVwWY1F0Hl'
          :          'BUC2lbyIuYF58O8p+adMwUt9YAoX/IwRtAC9NAdBAyGuEB3V'
          :          'R59u8/TGYx9/Xjz8bPB/Z/F9B0SghBK+4xxfiwtr0GXECqed'
          :          'QQ9PRVpEAQ+26MidbGSmPm8RwRzcQsT17EPSmoorH3+av4Jc'
          :          'j78O/vIp/uzMEkHKAE6/F7VHHSj8HddR0Q3ymcGZfRVjwfmO'
          :          'nNn3GuWR+FzhcPmPqiptHcayacT28T8j3Cs0/LQCwo6J2iYx'
          :          'P4R58AsobjFegusoJhuq7VNS2evRPcqASvQki+gbkBYwETNP'
          :          't/1A2pT6UErR1zMzUITZRvF5Lp5basO1fk2U4aBSjkji8quL'
          :          '3cDyW7TpI3unxezMcSTNhQJhfpGctKgKN2Amo7/7ShSev4oX'
          :          'icPSYS+6GkCm9a1Qw3VEchCUA+z5HtTcbQhK6F14YFUp+Yn7'
          :          'WgmzwpZCDf5DDiXT9B7U6RdHAHpdb7IqmLVjqZSLnTW61zjQ'
          :          '7/G7D3hm9E846uTDZoNMADmLlm7IG2ieXfUtu1US9TeNGUHi'
          :          'bE9Nv//2jRJGZfQmK3v7ykJJOv1IXjBsDCPpmgWppe6sHxR3'
          :          'KVSQKqp+WIqammuJbtqkxZmMHry4oS/9pLhdCXKq8uR0R+LD'
          :          'EqCKRxqc5VXdvPvIP+ggwR0RkyBfO9iKZvrWGAKVdz31cuoc'
          :          'voO/qemClFMYEFEH7oI+vpkek4s4bCMBqK+5mHQUlDpE/oyl'
          :          'py+2/6pWXK31PEYagP04epV1cE50UMy6IQZeQM7+Ol74Z+eH'
          :          'fpHNc7OjffQ/HeV0X8BopoDkGEkAAA='
          :             }
          :            }
          :           }
          :          }
          :         }
          :        }
          :       }
          :      }
          :     }
          :    }
          :   }

B.5.  Full Certificate Example

   The following example contains a certificate for Alice; it is
   essentially a renewal of the certificate that appears in [RFC9216].
   Of course, the serial number and issue dates are different.  In
   addition, Alice's certificate now has a logotype certificate
   extension.  The extension contains URLs for two community logotype
   images, both at fictional URLs.  The extension also contains URLs for
   two subject organization logotype images, both at fictional URLs.  An
   implementation would display at most three of these images, both of
   the community logotype images and one of the subject organization
   logotype images.  Direct addressing is used for all of the images,
   and the images are hashed by SHA-256.

   -----BEGIN CERTIFICATE-----
   MIIFpTCCBI2gAwIBAgITN0EFee11f0Kpolw69Phqzpqx1zANBgkqhkiG9w0BAQ0F
   ADBVMQ0wCwYDVQQKEwRJRVRGMREwDwYDVQQLEwhMQU1QUyBXRzExMC8GA1UEAxMo
   U2FtcGxlIExBTVBTIFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAgFw0yMjA2
   MTUxODE4MThaGA8yMDUyMDkyNzA2NTQxOFowOzENMAsGA1UEChMESUVURjERMA8G
   A1UECxMITEFNUFMgV0cxFzAVBgNVBAMTDkFsaWNlIExvdmVsYWNlMIIBIjANBgkq
   hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtPSJ6Fg4Fj5Nmn9PkrYo0jTkfCv4TfA/
   pdO/KLpZbJOAEr0sI7AjaO7B1GuMUFJeSTulamNfCwDcDkY63PQWl+DILs7GxVwX
   urhYdZlaV5hcUqVAckPvedDBc/3rz4D/esFfs+E7QMFtmd+K04s+A8TCNO12DRVB
   DpbP4JFD9hsc8prDtpGmFk7rd0q8gqnhxBW2RZAeLqzJOMayCQtws1q7ktkNBR2w
   ZX5ICjecF1YJFhX4jrnHwp/iELGqqaNXd3/Y0pG7QFecN7836IPPdfTMSiPR+peC
   rhJZwLSewbWXLJe3VMvbvQjoBMpEYlaJBUIKkO1zQ1Pq90njlsJLOwIDAQABo4IC
   hDCCAoAwDAYDVR0TAQH/BAIwADAXBgNVHSAEEDAOMAwGCmCGSAFlAwIBMAEwHgYD
   VR0RBBcwFYETYWxpY2VAc21pbWUuZXhhbXBsZTATBgNVHSUEDDAKBggrBgEFBQcD
   BDAOBgNVHQ8BAf8EBAMCBsAwHQYDVR0OBBYEFLv2zLItHQYSHJeuKWqQENMgZmZz
   MB8GA1UdIwQYMBaAFJEwjnwHFwyn8QkoZTYaZxxodvRZMIIB0AYIKwYBBQUHAQwE
   ggHCMIIBvqCB4zCB4KBvMG0wazBpFgppbWFnZS9qcGVnMDEwLzALBglghkgBZQME
   AgEEIK/8EBZGy1YltJl95Yk+rjqEb1oC04LW2o7U7vh8vR3tMCgWJmh0dHA6Ly93
   d3cuZXhhbXBsZS5uZXQvaW1hZ2VzL2xvZ28uanBnoG0wazBpMGcWCWltYWdlL2dp
   ZjAxMC8wCwYJYIZIAWUDBAIBBCCIkIGBrftmri9m0EmgTY6g7E6oZEI4WzZKvyyL
   0unpZjAnFiVodHRwOi8vd3d3LmV4YW1wbGUub3JnL2xvZ28taW1hZ2UuZ2lmooHV
   oIHSMIHPMGUwYxYJaW1hZ2UvZ2lmMDEwLzALBglghkgBZQMEAgEEIGpYUC5ZZ/nd
   0Yr+vQ2x/mClExvfD7K+8LVzRVC6G78ZMCMWIWh0dHA6Ly93d3cuc21pbWUuZXhh
   bXBsZS9sb2dvLmdpZjBmMGQWCmltYWdlL2pwZWcwMTAvMAsGCWCGSAFlAwQCAQQg
   vct7dXJtjBszpCzerHly2krZ8nmEClhYas4vAoDq16UwIxYhaHR0cDovL3d3dy5z
   bWltZS5leGFtcGxlL2xvZ28uanBnMA0GCSqGSIb3DQEBDQUAA4IBAQBbjdCNVFA/
   emCc5uKX5WSPrdvRFZSs57SEhE0odxvhTrOs13VM8Om0TxhNJ0Pl6d9CJdbUxtFw
   SSnSu9fnghDO7OZDJnPiIYLNY5eTTzY6sx85mde9TLaBTE7RZf0W7NV0hqDqcfM+
   9HnQrU4TtPSvtPS5rr5SvqkaMM0k89bpbkgZlh9HH14+x+DIeT0dLythiXJvkVod
   qEfyZTcdplQHQ4szWO7lsjmvHrUIbS1tdAJnah8AZRZfqiJEFeiUp06hvAWnPc3y
   1TMwYI8onfwPIVzyT6YLgjiT6PuLwSB/wtlhI+vWfdINaHdotegjawLm/3jZ+ceN
   tu39FvbV0uKJ
   -----END CERTIFICATE-----

   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).

   30 464: SEQUENCE {
   06   8:  OBJECT IDENTIFIER logotype (1 3 6 1 5 5 7 1 12)
   04 450:  OCTET STRING, encapsulates {
   30 446:   SEQUENCE {
   A0 227:    [0] {
   30 224:     SEQUENCE {
   A0 111:      [0] {
   30 109:       SEQUENCE {
   30 107:        SEQUENCE {
   30 105:         SEQUENCE {
   16  10:          IA5String 'image/jpeg'
   30  49:          SEQUENCE {
   30  47:           SEQUENCE {
   30  11:            SEQUENCE {
   06   9:             OBJECT IDENTIFIER
         :              sha-256 (2 16 840 1 101 3 4 2 1)
         :              }
   04  32:            OCTET STRING
         :            AF FC 10 16 46 CB 56 25 B4 99 7D E5 89 3E AE 3A
         :            84 6F 5A 02 D3 82 D6 DA 8E D4 EE F8 7C BD 1D ED
         :             }
         :            }
   30  40:          SEQUENCE {
   16  38:           IA5String 'http://www.example.net/images/logo.jpg'
         :            }
         :           }
         :          }
         :         }
         :        }
   A0 109:      [0] {
   30 107:       SEQUENCE {
   30 105:        SEQUENCE {
   30 103:         SEQUENCE {
   16   9:          IA5String 'image/gif'
   30  49:          SEQUENCE {
   30  47:           SEQUENCE {
   30  11:            SEQUENCE {
   06   9:             OBJECT IDENTIFIER
         :              sha-256 (2 16 840 1 101 3 4 2 1)
         :              }
   04  32:            OCTET STRING
         :            88 90 81 81 AD FB 66 AE 2F 66 D0 49 A0 4D 8E A0
         :            EC 4E A8 64 42 38 5B 36 4A BF 2C 8B D2 E9 E9 66
         :             }
         :            }
   30  39:          SEQUENCE {
   16  37:           IA5String 'http://www.example.org/logo-image.gif'
         :            }
         :           }
         :          }
         :         }
         :        }
         :       }
         :      }
   A2 213:    [2] {
   A0 210:     [0] {
   30 207:      SEQUENCE {
   30 101:       SEQUENCE {
   30  99:        SEQUENCE {
   16   9:         IA5String 'image/gif'
   30  49:         SEQUENCE {
   30  47:          SEQUENCE {
   30  11:           SEQUENCE {
   06   9:            OBJECT IDENTIFIER
         :             sha-256 (2 16 840 1 101 3 4 2 1)
         :             }
   04  32:           OCTET STRING
         :            6A 58 50 2E 59 67 F9 DD D1 8A FE BD 0D B1 FE 60
         :            A5 13 1B DF 0F B2 BE F0 B5 73 45 50 BA 1B BF 19
         :            }
         :           }
   30  35:         SEQUENCE {
   16  33:          IA5String 'http://www.smime.example/logo.gif'
         :           }
         :          }
         :         }
   30 102:       SEQUENCE {
   30 100:        SEQUENCE {
   16  10:         IA5String 'image/jpeg'
   30  49:         SEQUENCE {
   30  47:          SEQUENCE {
   30  11:           SEQUENCE {
   06   9:            OBJECT IDENTIFIER
         :             sha-256 (2 16 840 1 101 3 4 2 1)
         :             }
   04  32:           OCTET STRING
         :            BD CB 7B 75 72 6D 8C 1B 33 A4 2C DE AC 79 72 DA
         :            4A D9 F2 79 84 0A 58 58 6A CE 2F 02 80 EA D7 A5
         :            }
         :           }
   30  35:         SEQUENCE {
   16  33:          IA5String 'http://www.smime.example/logo.jpg'
         :           }
         :          }
         :         }
         :        }
         :       }
         :      }
         :     }
         :    }
         :   }

Appendix C.  Changes since RFCs 3709 and 6170

   This appendix summarizes the changes since [RFC3709].  The changes
   are:

   *  Combine RFCs 3709 and 6170 into one document, and encourage
      implementers to support the "data" URI scheme (data:...) that was
      originally specified in RFC 6170.  Merging RFCs 3709 and 6170 led
      to many editorial changes throughout the document.

   *  Drop SHA-1 as the mandatory-to-implement hash algorithm, and
      encourage use of the one-way hash function that is employed by the
      certificate signature algorithm.

   *  RFC 3709 required client applications to support both direct and
      indirect addressing.  This requirement is changed to SHOULD
      support both direct and indirect addressing to allow
      implementations to be more privacy preserving.

   *  Update the reference for language tags to be RFC 5646 instead of
      the now obsolete RFC 3066.

   *  Update the reference for the URI Generic Syntax to be RFC 3986
      instead of the now obsolete RFC 2396.

   *  Update the reference for the application/pdf media type to be RFC
      8118 instead of the now obsolete RFC 3778.

   *  No longer require support for the FTP scheme (ftp://...) URI.

   *  Require support for the HTTP scheme (http://...) URI and the HTTPS
      scheme (https://...) URI.

   *  Provide syntax of the "data" URI scheme using modern ABNF.

   *  Require support for the compressed SVG image format with the
      image/svg+xml+gzip media type.

   *  Media types MUST follow the ABNF [RFC5234] that is provided in
      Section 8.3.1 of [RFC9110].  This change resolves Errata ID 2679.

   *  Remove the requirement that the LogotypeData file name have a file
      extension of ".LTD".  This change resolves Errata ID 2325.

   *  Encourage, instead of requiring, each logotype to be represented
      by at least one image.

   *  Encourage the inclusion of text-based audio data suitable for
      processing by a text-to-speech software using the media type of
      "text/plain;charset=UTF-8".

   *  Encourage the use of dithering if an image needs to be scaled.

   *  Require that the logotype certificate extension not contain more
      than one certificate image logotype.

   *  Privacy-related topics that were previously discussed in the
      Security Considerations section are now covered in a separate
      Privacy Considerations section.  Additional topics are covered in
      both sections.

   *  Provide ASN.1 modules for both the older syntax [OLD-ASN1] and the
      most recent ASN.1 syntax [NEW-ASN1].

   *  Provide additional references.

   *  Provide additional examples.

   *  Several editorial changes to improve clarity.

   *  The example in Appendix B.1 was changed to use SHA-256 instead of
      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

   Stefan Santesson
   IDsec Solutions AB
   Forskningsbyn Ideon
   SE-223 70 Lund
   Sweden
   Email: sts@aaa-sec.com


   Russ Housley
   Vigil Security, LLC
   516 Dranesville Road
   Herndon, VA 20170
   United States of America
   Email: housley@vigilsec.com


   Trevor Freeman
   Amazon Web Services
   1918 8th Ave
   Seattle, WA 98101
   United States of America
   Email: frtrevor@amazon.com


   Leonard Rosenthol
   Adobe
   345 Park Avenue
   San Jose, CA 95110
   United States of America
   Email: lrosenth@adobe.com