RFC 7229 INFORMATIONAL CERTIFICATES · TESTING

Object Identifiers for Test Certificate Policies

Test certificate policy identifiers for software testing

On rfc-editor.org ↗
PUBLISHED
May 2014
AUTHORS
R. Housley
STREAM
IETF
TEST OIDS
8
PARENT NODE
id-pkix 13
USE
Testing only
DOI
10.17487/RFC7229

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                        R. Housley
Request for Comments: 7229                                Vigil Security
Category: Informational                                         May 2014
ISSN: 2070-1721


            Object Identifiers for Test Certificate Policies

Abstract

   This document provides several certificate policy identifiers for
   testing certificate handling software.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   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).  Not all documents
   approved by the IESG are a candidate for any level of Internet
   Standard; see Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc7229.

Copyright Notice

   Copyright (c) 2014 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
   (http://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 Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

1.  Introduction

   This document provides several certificate policy identifiers for
   testing certificate handling software.  These certificate policy
   identifiers are not intended for use in the public Internet.

   The certificate policy identifiers provided in this document are
   consistent with the certificate profile specified in [RFC5280].  They
   are appropriate for testing the certificate policy processing,
   especially the handling of the certificate policy extension, the
   policy constraints extension, and the policy mapping extension.

2.  Certificate Policy Identifiers for Testing

   The following certificate policy identifiers are provided for testing
   certificate handling software.  ASN.1 [ASN1-2008] object identifiers
   are used to name certificate policies.

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

      id-TEST OBJECT IDENTIFIER ::= { id-pkix 13 }

      -- Object Identifiers used ONLY for TESTING
      id-TEST-certPolicyOne       OBJECT IDENTIFIER ::= { id-TEST 1 }
      id-TEST-certPolicyTwo       OBJECT IDENTIFIER ::= { id-TEST 2 }
      id-TEST-certPolicyThree     OBJECT IDENTIFIER ::= { id-TEST 3 }
      id-TEST-certPolicyFour      OBJECT IDENTIFIER ::= { id-TEST 4 }
      id-TEST-certPolicyFive      OBJECT IDENTIFIER ::= { id-TEST 5 }
      id-TEST-certPolicySix       OBJECT IDENTIFIER ::= { id-TEST 6 }
      id-TEST-certPolicySeven     OBJECT IDENTIFIER ::= { id-TEST 7 }
      id-TEST-certPolicyEight     OBJECT IDENTIFIER ::= { id-TEST 8 }

3.  Security Considerations

   This specification does not identify particular certificate policies
   for use in the Internet public key infrastructure.  The actual
   policies used for production certificates can have a significant
   impact on the confidence that one can place in the certificate.  No
   confidence should be placed in any certificate that makes use of
   these certificate policy identifiers, since they are intended only
   for testing.

4.  IANA Considerations

   The object identifiers used in this document are defined in an arc
   delegated by IANA to the PKIX Working Group.  No further action by
   IANA is necessary for this document or any anticipated updates.

5.  Normative References

   [ASN1-2008]  International Telecommunications Union, "Abstract Syntax
                Notation One (ASN.1): Specification of basic notation",
                ITU-T Recommendation X.680, November 2008.

   [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, May 2008.

Appendix A.  ASN.1 Module

   This appendix provides the certificate policy identifiers (object
   identifiers) in an ASN.1 module.  No fancy structures are needed, so
   this module is compatible with [ASN1-2008].

   PKIXTestCertPolicies { iso(1) identified-organization(3) dod(6)
      internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
      id-mod-TEST-certPolicies(83) }

   DEFINITIONS IMPLICIT TAGS ::=

   BEGIN

   -- EXPORTS ALL --
   -- IMPORTS NONE --

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

   id-TEST OBJECT IDENTIFIER ::= { id-pkix 13 }

   -- Object Identifiers used ONLY for TESTING
   id-TEST-certPolicyOne       OBJECT IDENTIFIER ::= { id-TEST 1 }
   id-TEST-certPolicyTwo       OBJECT IDENTIFIER ::= { id-TEST 2 }
   id-TEST-certPolicyThree     OBJECT IDENTIFIER ::= { id-TEST 3 }
   id-TEST-certPolicyFour      OBJECT IDENTIFIER ::= { id-TEST 4 }
   id-TEST-certPolicyFive      OBJECT IDENTIFIER ::= { id-TEST 5 }
   id-TEST-certPolicySix       OBJECT IDENTIFIER ::= { id-TEST 6 }
   id-TEST-certPolicySeven     OBJECT IDENTIFIER ::= { id-TEST 7 }
   id-TEST-certPolicyEight     OBJECT IDENTIFIER ::= { id-TEST 8 }

   END

Author's Address

   Russell Housley
   Vigil Security, LLC
   918 Spring Knoll Drive
   Herndon, VA  20170
   USA

   EMail: housley@vigilsec.com

AI ELI5

On this page
PROBLEMDevelopers need certificate policy identifiers to test how their software processes certificates, but using production identifiers is dangerous.
MECHANISMThis RFC allocates eight test-only object identifiers in the PKIX arc, all marked for testing use only, with no deployment value.
WHY IT MATTERSTest and development systems can use these identifiers without affecting real certificate processing or trust decisions.

§1Testing Certificate Policies

X.509 certificates use certificate policies to indicate what purpose a certificate is trusted for. The policy is identified by an object identifier (OID). Applications that process certificates must handle certificate policy extensions correctly, including the certificate policy extension, the policy constraints extension, and the policy mapping extension.

Testing this logic requires test identifiers. This RFC allocates eight test-only OIDs in the PKIX tree, suitable only for development and testing, not production use.

A certificate says what it is allowed to do. Programmers need fake labels to test that their software checks this correctly.

§2The Eight Test OIDs

The RFC defines eight test certificate policy identifiers under the id-TEST node (id-pkix 13). They are named id-TEST-certPolicyOne through id-TEST-certPolicySeven and id-TEST-certPolicyEight. Each is a numbered object identifier that can appear in a certificate's policy extension.

The identifiers follow the ASN.1 structure used by all PKIX certificate policies and are appropriate for testing the certificate policy processing logic defined in RFC 5280.

Eight numbered practice labels that software can use in test certificates.

§3Test-Only Use

The RFC emphasizes that these identifiers are for testing only. No confidence should be placed in any certificate using these policy identifiers. They are not intended for production certificates or internet public key infrastructure use. Developers must not accidentally deploy test certificates that use these test identifiers to production systems.

Do not use these labels in real certificates. They are for practice only.

§4References