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.
ISO Plain Language
On this page
§1What the Memo Adds
RFC 2585 is part of a multi-part standard for the Internet Public Key Infrastructure (PKI) built on X.509 certificates and certificate revocation lists. It fixes the conventions for using the File Transfer Protocol, RFC 959, and the Hypertext Transfer Protocol, RFC 2068, to obtain certificates and revocation lists from PKI repositories. Other documents cover additional mechanisms for reaching a repository, and the memo says so rather than trying to be complete on its own.
The conventions it defines satisfy some of the operational requirements of the Internet PKI, and in practice they amount to a small set of agreements: how the location of a file is written into a certificate, what the file is called, and what is inside it. That is enough for the two protocols to carry PKI material without any change to the protocols themselves.
The memo is one piece of a larger set of rules for running a public key infrastructure. It covers the part where certificates and revocation lists are fetched or published with FTP or HTTP, and leaves the other ways of reaching a repository to other documents.
§1.1The PKI Model
The memo gives a simplified view of the architectural model the Internet PKI specifications assume. It has four kinds of component.
An end entity is a user of PKI certificates, or the end user system that a certificate names. A certification authority is the CA in the model: it issues certificates to end entities and publishes certificates and revocation lists. A registration authority, or RA, is an optional system to which a CA delegates certain management functions. A repository is a system, or a collection of distributed systems, that stores certificates and revocation lists and serves as the means of distributing them to end entities.
The arrows in the model show the flow. An end entity performs operational transactions with the repository, which is where it fetches certificates and revocation lists from. A registration authority publishes a certificate into the repository, and a certification authority publishes both certificates and revocation lists there. The end entity and the CA also take part in management transactions, and the CA publishes its own certificate to the repository, which is how the chain of trust is made available.
Four roles appear in the model. The end entity is the person or device that holds a certificate. The certification authority issues certificates and revocation lists. The registration authority is an optional helper that checks and processes requests for the authority. The repository is where the certificates and lists are kept and where people fetch them from.
- Internet PKI model The simplified architectural model in RFC 2585.
- End entity A user of PKI certificates, or the end user system a certificate names.
- Certification authority Issues certificates and publishes certificates and revocation lists.
- Registration authority Optional. A system to which a CA delegates certain management functions.
- Repository Stores certificates and revocation lists and distributes them to end entities.
§1.2The Repository and Why FTP or HTTP
Some certification authorities require the use of on-line validation services, while others distribute revocation lists so that certificate users can do the validation themselves. In general, CAs make revocation lists available by publishing them in the Directory, and the Directory is also the normal distribution mechanism for certificates. The problem the memo names is that Directory Services are not available in many parts of the Internet today.
FTP and HTTP are offered as alternate methods for certificate and revocation list distribution. End entities and CAs may retrieve certificates and revocation lists from the repository using either protocol, end entities may publish their own certificate in the repository using either protocol, and RAs and CAs may publish certificates and revocation lists there using either protocol.
Both protocols are described as attractive alternatives to Directory access protocols for two reasons: FTP is widely deployed and anonymous FTP is accommodated by many firewalls, and the same is true of HTTP. The memo also points out a practice that the conventions support: an Internet user may publish the URI of the file holding their certificate on their business card, which is useful when there is no Directory entry for that user.
The memo is careful about what this service does not do. It satisfies the requirement to retrieve information related to a certificate that 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 is known, such as an electronic mail address or a corporate affiliation.
Certificates usually travel through the Directory, but the Directory does not reach everywhere. FTP and HTTP do, and both are usually allowed through firewalls, so the memo uses them instead. The catch is that the certificate has to be found by its URI first, so this cannot be used to look up a certificate from someone's email address.
| Aspect | FTP | HTTP |
|---|---|---|
| URI scheme | ftp:// | http:// |
| Example in the memo | ftp://ftp.your.org/pki/id48.cer | http://www.your.org/pki/id48.cer |
| Certificate file suffix | .cer | .cer |
| Revocation list file suffix | .crl | .crl |
| Content of a .cer file | Exactly one certificate, in DER | Exactly one certificate, in DER |
| Content of a .crl file | Exactly one revocation list, in DER | Exactly one revocation list, in DER |
§2FTP Conventions
Within certificate extensions and CRL extensions, the URI form of GeneralName is used to give the location where issuer certificates and revocation lists may be obtained. A URI identifying the subject of a certificate may be carried in the subjectAltName certificate extension. An IA5String then describes the use of anonymous FTP to fetch the certificate or revocation list information.
The memo gives three example URIs: ftp://ftp.netcom.com/sp/spyrus/housley.cer, ftp://ftp.your.org/pki/id48.cer and ftp://ftp.your.org/pki/id48.no42.crl. The first is a certificate belonging to a person, the second a certificate file in a directory of PKI files, and the third a revocation list in the same directory.
For convenience, the names of files that contain certificates should end in .cer, and each such file holds exactly one certificate, encoded in DER format. The names of files that contain revocation lists should end in .crl, and each such file holds exactly one revocation list, also in DER format.
With FTP, the certificate points at its own location with an ftp URI, and the file that URI names ends in .cer and holds one certificate. A revocation list works the same way with a .crl file.
ftp://ftp.netcom.com/sp/spyrus/housley.cer
ftp://ftp.your.org/pki/id48.cer
ftp://ftp.your.org/pki/id48.no42.crl
http://www.netcom.com/sp/spyrus/housley.cer
http://www.your.org/pki/id48.cer
http://www.your.org/pki/id48.no42.crl§3HTTP Conventions
The HTTP conventions mirror the FTP ones. The URI form of GeneralName is again used inside certificate extensions and CRL extensions to say where issuer certificates and revocation lists may be obtained, and a URI identifying the subject of a certificate may be carried in the subjectAltName extension. An IA5String describes the use of HTTP to fetch the certificate or revocation list information.
The three example URIs are http://www.netcom.com/sp/spyrus/housley.cer, http://www.your.org/pki/id48.cer and http://www.your.org/pki/id48.no42.crl.
The file naming rules are the same as for FTP: a file containing a certificate should end in .cer and hold exactly one certificate in DER format, and a file containing a revocation list should end in .crl and hold exactly one revocation list in DER format. The memo repeats the reason for choosing HTTP, that it is widely deployed and accommodated by many firewalls, and repeats the limit of the service, that it finds a certificate already identified by a URI and not a certificate found from some other piece of information about a person.
With HTTP the rules are the same, with http URIs in place of ftp ones. A .cer file holds one certificate and a .crl file holds one revocation list, both in DER encoding.
§4MIME Types for Certificates and Revocation Lists
Two MIME types are defined to support the transfer of certificates and revocation lists: application/pkix-cert and application/pkix-crl.
For application/pkix-cert the media type name is application and the subtype name is pkix-cert. There are no required parameters, and the one optional parameter is version, whose default value is 1. The encoding considerations say that there will be no encoding for 8-bit transports and most likely Base64 for SMTP or other 7-bit transports. The security consideration recorded is that it carries a cryptographic certificate. There is no interoperability consideration and no magic number, and the file extension given is .CER.
For application/pkix-crl the media type name is application and the subtype name is pkix-crl. Again there are no required parameters, and the optional parameter is version with a default value of 1. The encoding considerations and the interoperability considerations are the same. The security consideration recorded is that it carries a certificate revocation list, and the file extension given is .CRL.
Both types are registered with the same intended usage, COMMON, and both are intended for use by any MIME-compliant transport. The published specification given for each is the draft of the Internet PKI part 1 document, and the change controller named for both is Russ Housley.
Two media types are registered so that a mail program or another MIME-aware tool can recognise these files. One says the file holds a certificate, the other says it holds a revocation list. Each has an optional version number that defaults to 1.
- application/pkix-certCertificate — Carries a cryptographic certificate. File extension .CER. No required parameters; the optional parameter version defaults to 1.
- application/pkix-crlRevocation list — Carries a certificate revocation list. File extension .CRL. No required parameters; the optional parameter version defaults to 1.
§5Security Considerations
Because certificates and revocation lists are digitally signed, the memo says no additional integrity service is necessary. Neither has to be kept secret, and anonymous access to them is generally acceptable, so no privacy service is necessary either.
Two practical points follow. HTTP caching proxies are common on the Internet, and some of them do not check correctly for the latest version of an object. If a request for a certificate or revocation list goes through a misconfigured or otherwise broken proxy, the proxy may return an out-of-date response, which is a problem for revocation lists in particular since a stale list does not list recently revoked certificates.
Operators of FTP sites and web servers should authenticate the end entities that publish certificates, and the CAs and RAs that publish certificates and revocation lists. Authentication is not necessary in order to retrieve certificates and revocation lists, which are the operations that most happen.
The files carry their own signature, so they need no extra protection on the wire, and they need not be secret. Two things still matter. A caching proxy can hand back an out-of-date copy, which matters for revocation lists. And whoever publishes a file should be checked, although fetching one needs no check at all.