1 /* v3_pcia.c -*- mode:C; c-file-style: "eay" -*- */
   2 /* Contributed to the OpenSSL Project 2004
   3  * by Richard Levitte (richard@levitte.org)
   4  */
   5 /* Copyright (c) 2004 Kungliga Tekniska Högskolan
   6  * (Royal Institute of Technology, Stockholm, Sweden).
   7  * All rights reserved.
   8  *
   9  * Redistribution and use in source and binary forms, with or without
  10  * modification, are permitted provided that the following conditions
  11  * are met:
  12  *
  13  * 1. Redistributions of source code must retain the above copyright
  14  *    notice, this list of conditions and the following disclaimer.
  15  *
  16  * 2. Redistributions in binary form must reproduce the above copyright
  17  *    notice, this list of conditions and the following disclaimer in the
  18  *    documentation and/or other materials provided with the distribution.
  19  *
  20  * 3. Neither the name of the Institute nor the names of its contributors
  21  *    may be used to endorse or promote products derived from this software
  22  *    without specific prior written permission.
  23  *
  24  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
  25  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  26  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  27  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
  28  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  29  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  30  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  31  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  32  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  33  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  34  * SUCH DAMAGE.
  35  */
  36 
  37 #include <openssl/asn1.h>
  38 #include <openssl/asn1t.h>
  39 #include <openssl/x509v3.h>
  40 
  41 ASN1_SEQUENCE(PROXY_POLICY) =
  42         {
  43         ASN1_SIMPLE(PROXY_POLICY,policyLanguage,ASN1_OBJECT),
  44         ASN1_OPT(PROXY_POLICY,policy,ASN1_OCTET_STRING)
  45 } ASN1_SEQUENCE_END(PROXY_POLICY)
  46 
  47 IMPLEMENT_ASN1_FUNCTIONS(PROXY_POLICY)
  48 
  49 ASN1_SEQUENCE(PROXY_CERT_INFO_EXTENSION) =
  50         {
  51         ASN1_OPT(PROXY_CERT_INFO_EXTENSION,pcPathLengthConstraint,ASN1_INTEGER),
  52         ASN1_SIMPLE(PROXY_CERT_INFO_EXTENSION,proxyPolicy,PROXY_POLICY)
  53 } ASN1_SEQUENCE_END(PROXY_CERT_INFO_EXTENSION)
  54 
  55 IMPLEMENT_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION)