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
CERTIFICATE FILE SUFFIX
.cer
CRL FILE SUFFIX
.crl
FILE ENCODING
DER
CERTIFICATE MIME TYPE
application/pkix-cert
CRL MIME TYPE
application/pkix-crl
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.

AI ELI5

On this page
PROBLEMCertificates and CRLs are normally distributed through the Directory, but Directory services are not available in many parts of the Internet.
MECHANISMPut each certificate or CRL in a file with a .cer or .crl suffix, DER encoded, reachable by an ftp or http URI, and register two MIME types, application/pkix-cert and application/pkix-crl.
THE CATCHAnyone who has a URI can fetch a certificate or CRL with tools that are widely deployed and accepted by many firewalls. It does not help find a certificate for a person you only know by e-mail address.

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

FILE NAMING AND MIME TYPES (RFC 2585)
  • .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.

§6References