Internet X.509 Public Key Infrastructure Operational Protocols: FTP and HTTP
How to publish and fetch X.509 certificates and revocation lists with plain FTP and HTTP.
Housley, R. and P. Hoffman, "Internet X.509 Public Key Infrastructure Operational Protocols: FTP and HTTP", RFC 2585, DOI 10.17487/RFC2585, May 1999, <https://www.rfc-editor.org/info/rfc2585>.
@misc{rfc2585,
series = {Request for Comments},
number = 2585,
howpublished = {RFC 2585},
publisher = {RFC Editor},
doi = {10.17487/RFC2585},
url = {https://www.rfc-editor.org/info/rfc2585},
author = {R. Housley and P. Hoffman},
title = {{Internet X.509 Public Key Infrastructure Operational Protocols: FTP and HTTP}},
pagetotal = 8,
year = 1999,
month = may,
} RFC text
Contents
Network Working Group R. Housley
Request for Comments: 2585 SPYRUS
Category: Standards Track P. Hoffman
IMC
May 1999
Internet X.509 Public Key Infrastructure
Operational Protocols: FTP and HTTP
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (1999). All Rights Reserved.
Abstract
The protocol conventions described in this document satisfy some of
the operational requirements of the Internet Public Key
Infrastructure (PKI). This document specifies the conventions for
using the File Transfer Protocol (FTP) and the Hypertext Transfer
Protocol (HTTP) to obtain certificates and certificate revocation
lists (CRLs) from PKI repositories. Additional mechanisms addressing
PKIX operational requirements are specified in separate documents.
1 Introduction
This specification is part of a multi-part standard for the Internet
Public Key Infrastructure (PKI) using X.509 certificates and
certificate revocation lists (CRLs). This document specifies the
conventions for using the File Transfer Protocol (FTP) and the
Hypertext Transfer Protocol (HTTP) to obtain certificates and CRLs
from PKI repositories. Additional mechanisms addressing PKI
repository access are specified in separate documents.
1.1. Model
The following is a simplified view of the architectural model assumed
by the Internet PKI specifications.
+---+
| C | +------------+
| e | <-------------------->| End entity |
| r | Operational +------------+
| t | transactions ^
| | and management | Management
| / | transactions | transactions
| | | PKI users
| C | v
| R | -------------------+--+-----------+-----------------
| L | ^ ^
| | | | PKI management
| | v | entities
| R | +------+ |
| e | <---------------------| RA | <---+ |
| p | Publish certificate +------+ | |
| o | | |
| s | | |
| I | v v
| t | +------------+
| o | <------------------------------| CA |
| r | Publish certificate +------------+
| y | Publish CRL ^
| | |
+---+ Management |
transactions |
v
+------+
| CA |
+------+
The components in this model are:
End Entity: user of PKI certificates and/or end user system that is
the subject of a certificate;
CA: certification authority;
RA: registration authority, i.e., an optional system to
which a CA delegates certain management functions;
Repository: a system or collection of distributed systems that store
certificates and CRLs and serves as a means of
distributing these certificates and CRLs to end
entities.
1.2. Certificate and CRL Repository
Some CAs mandate the use of on-line validation services, while others
distribute CRLs to allow certificate users to perform certificate
validation themselves. In general, CAs make CRLs available to
certificate users by publishing them in the Directory. The Directory
is also the normal distribution mechanism for certificates. However,
Directory Services are not available in many parts of the Internet
today. The File Transfer Protocol (FTP) defined in RFC 959 and the
Hypertext Transfer Protocol (HTTP) defined in RFC 2068 offer
alternate methods for certificate and CRL distribution.
End entities and CAs may retrieve certificates and CRLs from the
repository using FTP or HTTP. End entities may publish their own
certificate in the repository using FTP or HTTP, and RAs and CAs may
publish certificates and CRLs in the repository using FTP or HTTP.
2 FTP Conventions
Within certificate extensions and CRL extensions, the URI form of
GeneralName is used to specify the location where issuer certificates
and CRLs may be obtained. For instance, a URI identifying the
subject of a certificate may be carried in subjectAltName certificate
extension. An IA5String describes the use of anonymous FTP to fetch
certificate or CRL information. For example:
ftp://ftp.netcom.com/sp/spyrus/housley.cer
ftp://ftp.your.org/pki/id48.cer
ftp://ftp.your.org/pki/id48.no42.crl
Internet users may publish the URI reference to a file that contains
their certificate on their business card. This practice is useful
when there is no Directory entry for that user. FTP is widely
deployed, and anonymous FTP are accommodated by many firewalls.
Thus, FTP is an attractive alternative to Directory access protocols
for certificate and CRL distribution. While this service satisfies
the requirement to retrieve information related to a certificate
which is already identified by a URI, it is not intended to satisfy
the more general problem of finding a certificate for a user about
whom some other information, such as their electronic mail address or
corporate affiliation, is known.
For convenience, the names of files that contain certificates should
have a suffix of ".cer". Each ".cer" file contains exactly one
certificate, encoded in DER format. Likewise, the names of files
that contain CRLs should have a suffix of ".crl". Each ".crl" file
contains exactly one CRL, encoded in DER format.
3 HTTP Conventions
Within certificate extensions and CRL extensions, the URI form of
GeneralName is used to specify the location where issuer certificates
and CRLs may be obtained. For instance, a URI identifying the
subject of a certificate may be carried in subjectAltName certificate
extension. An IA5String describes the use of HTTP to fetch
certificate or CRL information. For example:
http://www.netcom.com/sp/spyrus/housley.cer
http://www.your.org/pki/id48.cer
http://www.your.org/pki/id48.no42.crl
Internet users may publish the URI reference to a file that contains
their certificate on their business card. This practice is useful
when there is no Directory entry for that user. HTTP is widely
deployed, and HTTP is accommodated by many firewalls. Thus, HTTP is
an attractive alternative to Directory access protocols for
certificate and CRL distribution. While this service satisfies the
requirement to retrieve information related to a certificate which is
already identified by a URI, it is not intended to satisfy the more
general problem of finding a certificate for a user about whom some
other information, such as their electronic mail address or corporate
affiliation, is known.
For convenience, the names of files that contain certificates should
have a suffix of ".cer". Each ".cer" file contains exactly one
certificate, encoded in DER format. Likewise, the names of files
that contain CRLs should have a suffix of ".crl". Each ".crl" file
contains exactly one CRL, encoded in DER format.
4 MIME registrations
Two MIME types are defined to support the transfer of certificates
and CRLs. They are:
application/pkix-cert
application/pkix-crl
4.1. application/pkix-cert
To: ietf-types@iana.org
Subject: Registration of MIME media type application/pkix-cert
MIME media type name: application
MIME subtype name: pkix-cert
Required parameters: None
Optional parameters: version (default value is "1")
Encoding considerations: will be none for 8-bit transports and most
likely Base64 for SMTP or other 7-bit transports
Security considerations: Carries a cryptographic certificate
Interoperability considerations: None
Published specification: draft-ietf-pkix-ipki-part1
Applications which use this media type: Any MIME-complaint transport
Additional information:
Magic number(s): None
File extension(s): .CER
Macintosh File Type Code(s): none
Person & email address to contact for further information:
Russ Housley <housley@spyrus.com>
Intended usage: COMMON
Author/Change controller:
Russ Housley <housley@spyrus.com>
4.2. application/pkix-crl
To: ietf-types@iana.org
Subject: Registration of MIME media type application/pkix-crl
MIME media type name: application
MIME subtype name: pkix-crl
Required parameters: None
Optional parameters: version (default value is "1")
Encoding considerations: will be none for 8-bit transports and most
likely Base64 for SMTP or other 7-bit transports
Security considerations: Carries a cryptographic certificate
revocation list
Interoperability considerations: None
Published specification: draft-ietf-pkix-ipki-part1
Applications which use this media type: Any MIME-complaint transport
Additional information:
Magic number(s): None
File extension(s): .CRL
Macintosh File Type Code(s): none
Person & email address to contact for further information:
Russ Housley <housley@spyrus.com>
Intended usage: COMMON
Author/Change controller:
Russ Housley <housley@spyrus.com>
References
[RFC 959] Postel, J. and J. Reynolds, "File Transfer Protocol (FTP)",
STD 5, RFC 959, October 1985.
[RFC 1738] Berners-Lee, T., Masinter, L. and M. McCahill, "Uniform
Resource Locators (URL)", RFC 1738, December 1994.
[RFC 2068] Fielding, R., Gettys, J., Mogul, J., Frystyk, H. and
T. Berners-Lee; "Hypertext Transfer Protocol -- HTTP/1.1",
RFC 2068, January 1997.
Security Considerations
Since certificates and CRLs are digitally signed, no additional
integrity service is necessary. Neither certificates nor CRLs need
be kept secret, and anonymous access to certificates and CRLs is
generally acceptable. Thus, no privacy service is necessary.
HTTP caching proxies are common on the Internet, and some proxies do
not check for the latest version of an object correctly. If an HTTP
request for a certificate or CRL goes through a misconfigured or
otherwise broken proxy, the proxy may return an out-of-date response.
Operators of FTP sites and World Wide Web servers should authenticate
end entities who publish certificates as well as CAs and RAs who
publish certificates and CRLs. However, authentication is not
necessary to retrieve certificates and CRLs.
Authors' Addresses
Russell Housley
SPYRUS
381 Elden Street, Suite 1120
Herndon, VA 20170 USA
EMail: housley@spyrus.com
Paul Hoffman
Internet Mail Consortium
127 Segre Place
Santa Cruz, CA 95060 USA
EMail: phoffman@imc.org
Full Copyright Statement
Copyright (C) The Internet Society (1999). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
AI ELI5
On this page
§1Where This Fits in the Internet PKI
RFC 2585 is one part of a multi-part standard for the Internet Public Key Infrastructure (PKI) built on X.509 certificates and certificate revocation lists (CRLs). It specifies conventions for using FTP and HTTP to obtain certificates and CRLs from PKI repositories. Other mechanisms for repository access are specified in separate documents.
The RFC describes a simplified model with these components: the end entity (a certificate user or the subject of a certificate), the CA (certification authority), the optional RA (registration authority, to which a CA delegates some management functions) and the repository, a system or set of systems that stores certificates and CRLs and distributes them to end entities.
There is a system for handing out digital ID cards. This note covers one small job in it: how to get hold of the cards and the cancelled-card lists.
§1.2Why Use FTP and HTTP
Some CAs require online validation services, while others distribute CRLs so certificate users can validate certificates themselves. CRLs and certificates are generally published in the Directory. The RFC notes, however, that Directory services are not available in many parts of the Internet today, so FTP (RFC 959) and HTTP (RFC 2068) are offered as alternatives.
End entities and CAs may retrieve certificates and CRLs from the repository with FTP or HTTP. End entities may publish their own certificate, and RAs and CAs may publish certificates and CRLs, the same way.
The usual place to find these cards is not reachable from everywhere. Ordinary file and web servers are, so they make a good backup place.
§2FTP and HTTP Conventions
Certificate and CRL extensions can carry a URI in the GeneralName form to say where issuer certificates and CRLs may be obtained. An IA5String describes the use of anonymous FTP or of HTTP. The examples are ftp://ftp.your.org/pki/id48.cer and http://www.your.org/pki/id48.no42.crl.
File names should carry a suffix: .cer for certificates and .crl for CRLs. Each .cer file holds exactly one certificate and each .crl file exactly one CRL, both in DER format.
The RFC says people may print the URI of their certificate file on a business card, which helps when there is no Directory entry for them. FTP and HTTP are widely deployed and accommodated by many firewalls. The service only retrieves information tied to a certificate already identified by a URI. It is not meant to find a certificate for a user known only by other details such as an e-mail address or corporate affiliation.
Each card or list sits in its own file, named ending in .cer or .crl. If you know the web address of the file, you can just download it.
- .cerapplication/pkix-cert — One certificate per file, DER encoded.
- .crlapplication/pkix-crl — One CRL per file, DER encoded.
§4The Two MIME Types
The RFC registers two MIME media types so certificates and CRLs can be transferred with the right label: application/pkix-cert and application/pkix-crl. Each registration has an optional parameter version with a default of 1, and no required parameters.
The encoding is none for 8-bit transports and most likely Base64 for SMTP or other 7-bit transports. The file extensions are .CER and .CRL, and the intended usage is COMMON. The security note for each says it carries a cryptographic certificate or a cryptographic certificate revocation list.
Each file gets a label saying whether it is a card or a cancelled-cards list, so a program knows what to do when it arrives.
§5Security Considerations
Certificates and CRLs are digitally signed, so no extra integrity service is needed. They need not be kept secret and anonymous access is generally acceptable, so no privacy service is needed either.
HTTP caching proxies are common, and some do not check for the latest version of an object correctly. A request for a certificate or CRL through a misconfigured or broken proxy may return an out-of-date response. Operators of FTP sites and web servers should authenticate end entities who publish certificates, and CAs and RAs who publish certificates and CRLs, but authentication is not necessary to retrieve them.
The cards are signed, so nobody can change them without it showing. Anyone may look at them. The thing to watch is a lazy middleman who hands you an old copy of the list.