RFC 2585 PROPOSED STANDARD PKI · CERTIFICATES · FTP · HTTP

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.

On rfc-editor.org ↗
PUBLISHED
May 1999
AUTHORS
R. Housley, P. Hoffman
STREAM
IETF
MIME TYPES
application/pkix-cert and application/pkix-crl
CERTIFICATE FILE SUFFIX
.cer
REVOCATION LIST FILE SUFFIX
.crl
FILE CONTENT
Exactly one certificate or CRL, in DER format
MIME OPTIONAL PARAMETER
version, default value 1
PKI MODEL COMPONENTS
End entity, CA, RA, repository
DOI
10.17487/RFC2585
ERRATA
Reported errata

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
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
PROBLEMCertificates and revocation lists have to reach the people holding them, but the Directory, which is the normal way to publish them, is not available in many parts of the Internet.
MECHANISMThe memo fixes the conventions for using FTP and HTTP instead: a certificate goes in a file ending in .cer, a revocation list in a file ending in .crl, each holding exactly one item in DER encoding, and the location is written into the certificate as a URI. It also registers two MIME types for the same content.
THE LIMITBecause FTP and HTTP are widely deployed and pass through many firewalls, the memo argues they are an attractive alternative to Directory access. The service only helps when the certificate is already identified by a URI, so it does not solve the problem of finding a certificate for someone whose address you know.

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

THE FOUR COMPONENTS OF THE PKI MODEL
  • 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.

THE SAME RULES FOR FTP AND HTTP
AspectFTPHTTP
URI schemeftp://http://
Example in the memoftp://ftp.your.org/pki/id48.cerhttp://www.your.org/pki/id48.cer
Certificate file suffix.cer.cer
Revocation list file suffix.crl.crl
Content of a .cer fileExactly one certificate, in DERExactly one certificate, in DER
Content of a .crl fileExactly one revocation list, in DERExactly 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.

EXAMPLE URIS, VERBATIM FROM RFC 2585
Certificate and revocation list locations
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.

THE TWO REGISTERED MIME TYPES
  • 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.

§8References