LCOV - code coverage report
Current view: top level - third_party/openssl/crypto/ocsp - ocsp_asn.c (source / functions) Hit Total Coverage
Test: tmp.zDYK9MVh93 Lines: 0 15 0.0 %
Date: 2015-10-10 Functions: 0 60 0.0 %

          Line data    Source code
       1             : /* ocsp_asn.c */
       2             : /*
       3             :  * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project
       4             :  * 2000.
       5             :  */
       6             : /* ====================================================================
       7             :  * Copyright (c) 2000 The OpenSSL Project.  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
      18             :  *    the documentation and/or other materials provided with the
      19             :  *    distribution.
      20             :  *
      21             :  * 3. All advertising materials mentioning features or use of this
      22             :  *    software must display the following acknowledgment:
      23             :  *    "This product includes software developed by the OpenSSL Project
      24             :  *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
      25             :  *
      26             :  * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
      27             :  *    endorse or promote products derived from this software without
      28             :  *    prior written permission. For written permission, please contact
      29             :  *    licensing@OpenSSL.org.
      30             :  *
      31             :  * 5. Products derived from this software may not be called "OpenSSL"
      32             :  *    nor may "OpenSSL" appear in their names without prior written
      33             :  *    permission of the OpenSSL Project.
      34             :  *
      35             :  * 6. Redistributions of any form whatsoever must retain the following
      36             :  *    acknowledgment:
      37             :  *    "This product includes software developed by the OpenSSL Project
      38             :  *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
      39             :  *
      40             :  * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
      41             :  * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
      42             :  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
      43             :  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
      44             :  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
      45             :  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
      46             :  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
      47             :  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
      48             :  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
      49             :  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
      50             :  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
      51             :  * OF THE POSSIBILITY OF SUCH DAMAGE.
      52             :  * ====================================================================
      53             :  *
      54             :  * This product includes cryptographic software written by Eric Young
      55             :  * (eay@cryptsoft.com).  This product includes software written by Tim
      56             :  * Hudson (tjh@cryptsoft.com).
      57             :  *
      58             :  */
      59             : #include <openssl/asn1.h>
      60             : #include <openssl/asn1t.h>
      61             : #include <openssl/ocsp.h>
      62             : 
      63             : ASN1_SEQUENCE(OCSP_SIGNATURE) = {
      64             :         ASN1_SIMPLE(OCSP_SIGNATURE, signatureAlgorithm, X509_ALGOR),
      65             :         ASN1_SIMPLE(OCSP_SIGNATURE, signature, ASN1_BIT_STRING),
      66             :         ASN1_EXP_SEQUENCE_OF_OPT(OCSP_SIGNATURE, certs, X509, 0)
      67             : } ASN1_SEQUENCE_END(OCSP_SIGNATURE)
      68             : 
      69           0 : IMPLEMENT_ASN1_FUNCTIONS(OCSP_SIGNATURE)
      70             : 
      71             : ASN1_SEQUENCE(OCSP_CERTID) = {
      72             :         ASN1_SIMPLE(OCSP_CERTID, hashAlgorithm, X509_ALGOR),
      73             :         ASN1_SIMPLE(OCSP_CERTID, issuerNameHash, ASN1_OCTET_STRING),
      74             :         ASN1_SIMPLE(OCSP_CERTID, issuerKeyHash, ASN1_OCTET_STRING),
      75             :         ASN1_SIMPLE(OCSP_CERTID, serialNumber, ASN1_INTEGER)
      76             : } ASN1_SEQUENCE_END(OCSP_CERTID)
      77             : 
      78           0 : IMPLEMENT_ASN1_FUNCTIONS(OCSP_CERTID)
      79             : 
      80             : ASN1_SEQUENCE(OCSP_ONEREQ) = {
      81             :         ASN1_SIMPLE(OCSP_ONEREQ, reqCert, OCSP_CERTID),
      82             :         ASN1_EXP_SEQUENCE_OF_OPT(OCSP_ONEREQ, singleRequestExtensions, X509_EXTENSION, 0)
      83             : } ASN1_SEQUENCE_END(OCSP_ONEREQ)
      84             : 
      85           0 : IMPLEMENT_ASN1_FUNCTIONS(OCSP_ONEREQ)
      86             : 
      87             : ASN1_SEQUENCE(OCSP_REQINFO) = {
      88             :         ASN1_EXP_OPT(OCSP_REQINFO, version, ASN1_INTEGER, 0),
      89             :         ASN1_EXP_OPT(OCSP_REQINFO, requestorName, GENERAL_NAME, 1),
      90             :         ASN1_SEQUENCE_OF(OCSP_REQINFO, requestList, OCSP_ONEREQ),
      91             :         ASN1_EXP_SEQUENCE_OF_OPT(OCSP_REQINFO, requestExtensions, X509_EXTENSION, 2)
      92             : } ASN1_SEQUENCE_END(OCSP_REQINFO)
      93             : 
      94           0 : IMPLEMENT_ASN1_FUNCTIONS(OCSP_REQINFO)
      95             : 
      96             : ASN1_SEQUENCE(OCSP_REQUEST) = {
      97             :         ASN1_SIMPLE(OCSP_REQUEST, tbsRequest, OCSP_REQINFO),
      98             :         ASN1_EXP_OPT(OCSP_REQUEST, optionalSignature, OCSP_SIGNATURE, 0)
      99             : } ASN1_SEQUENCE_END(OCSP_REQUEST)
     100             : 
     101           0 : IMPLEMENT_ASN1_FUNCTIONS(OCSP_REQUEST)
     102             : 
     103             : /* OCSP_RESPONSE templates */
     104             : 
     105             : ASN1_SEQUENCE(OCSP_RESPBYTES) = {
     106             :             ASN1_SIMPLE(OCSP_RESPBYTES, responseType, ASN1_OBJECT),
     107             :             ASN1_SIMPLE(OCSP_RESPBYTES, response, ASN1_OCTET_STRING)
     108             : } ASN1_SEQUENCE_END(OCSP_RESPBYTES)
     109             : 
     110           0 : IMPLEMENT_ASN1_FUNCTIONS(OCSP_RESPBYTES)
     111             : 
     112             : ASN1_SEQUENCE(OCSP_RESPONSE) = {
     113             :         ASN1_SIMPLE(OCSP_RESPONSE, responseStatus, ASN1_ENUMERATED),
     114             :         ASN1_EXP_OPT(OCSP_RESPONSE, responseBytes, OCSP_RESPBYTES, 0)
     115             : } ASN1_SEQUENCE_END(OCSP_RESPONSE)
     116             : 
     117           0 : IMPLEMENT_ASN1_FUNCTIONS(OCSP_RESPONSE)
     118             : 
     119             : ASN1_CHOICE(OCSP_RESPID) = {
     120             :            ASN1_EXP(OCSP_RESPID, value.byName, X509_NAME, 1),
     121             :            ASN1_EXP(OCSP_RESPID, value.byKey, ASN1_OCTET_STRING, 2)
     122             : } ASN1_CHOICE_END(OCSP_RESPID)
     123             : 
     124           0 : IMPLEMENT_ASN1_FUNCTIONS(OCSP_RESPID)
     125             : 
     126             : ASN1_SEQUENCE(OCSP_REVOKEDINFO) = {
     127             :         ASN1_SIMPLE(OCSP_REVOKEDINFO, revocationTime, ASN1_GENERALIZEDTIME),
     128             :         ASN1_EXP_OPT(OCSP_REVOKEDINFO, revocationReason, ASN1_ENUMERATED, 0)
     129             : } ASN1_SEQUENCE_END(OCSP_REVOKEDINFO)
     130             : 
     131           0 : IMPLEMENT_ASN1_FUNCTIONS(OCSP_REVOKEDINFO)
     132             : 
     133             : ASN1_CHOICE(OCSP_CERTSTATUS) = {
     134             :         ASN1_IMP(OCSP_CERTSTATUS, value.good, ASN1_NULL, 0),
     135             :         ASN1_IMP(OCSP_CERTSTATUS, value.revoked, OCSP_REVOKEDINFO, 1),
     136             :         ASN1_IMP(OCSP_CERTSTATUS, value.unknown, ASN1_NULL, 2)
     137             : } ASN1_CHOICE_END(OCSP_CERTSTATUS)
     138             : 
     139           0 : IMPLEMENT_ASN1_FUNCTIONS(OCSP_CERTSTATUS)
     140             : 
     141             : ASN1_SEQUENCE(OCSP_SINGLERESP) = {
     142             :            ASN1_SIMPLE(OCSP_SINGLERESP, certId, OCSP_CERTID),
     143             :            ASN1_SIMPLE(OCSP_SINGLERESP, certStatus, OCSP_CERTSTATUS),
     144             :            ASN1_SIMPLE(OCSP_SINGLERESP, thisUpdate, ASN1_GENERALIZEDTIME),
     145             :            ASN1_EXP_OPT(OCSP_SINGLERESP, nextUpdate, ASN1_GENERALIZEDTIME, 0),
     146             :            ASN1_EXP_SEQUENCE_OF_OPT(OCSP_SINGLERESP, singleExtensions, X509_EXTENSION, 1)
     147             : } ASN1_SEQUENCE_END(OCSP_SINGLERESP)
     148             : 
     149           0 : IMPLEMENT_ASN1_FUNCTIONS(OCSP_SINGLERESP)
     150             : 
     151             : ASN1_SEQUENCE(OCSP_RESPDATA) = {
     152             :            ASN1_EXP_OPT(OCSP_RESPDATA, version, ASN1_INTEGER, 0),
     153             :            ASN1_SIMPLE(OCSP_RESPDATA, responderId, OCSP_RESPID),
     154             :            ASN1_SIMPLE(OCSP_RESPDATA, producedAt, ASN1_GENERALIZEDTIME),
     155             :            ASN1_SEQUENCE_OF(OCSP_RESPDATA, responses, OCSP_SINGLERESP),
     156             :            ASN1_EXP_SEQUENCE_OF_OPT(OCSP_RESPDATA, responseExtensions, X509_EXTENSION, 1)
     157             : } ASN1_SEQUENCE_END(OCSP_RESPDATA)
     158             : 
     159           0 : IMPLEMENT_ASN1_FUNCTIONS(OCSP_RESPDATA)
     160             : 
     161             : ASN1_SEQUENCE(OCSP_BASICRESP) = {
     162             :            ASN1_SIMPLE(OCSP_BASICRESP, tbsResponseData, OCSP_RESPDATA),
     163             :            ASN1_SIMPLE(OCSP_BASICRESP, signatureAlgorithm, X509_ALGOR),
     164             :            ASN1_SIMPLE(OCSP_BASICRESP, signature, ASN1_BIT_STRING),
     165             :            ASN1_EXP_SEQUENCE_OF_OPT(OCSP_BASICRESP, certs, X509, 0)
     166             : } ASN1_SEQUENCE_END(OCSP_BASICRESP)
     167             : 
     168           0 : IMPLEMENT_ASN1_FUNCTIONS(OCSP_BASICRESP)
     169             : 
     170             : ASN1_SEQUENCE(OCSP_CRLID) = {
     171             :            ASN1_EXP_OPT(OCSP_CRLID, crlUrl, ASN1_IA5STRING, 0),
     172             :            ASN1_EXP_OPT(OCSP_CRLID, crlNum, ASN1_INTEGER, 1),
     173             :            ASN1_EXP_OPT(OCSP_CRLID, crlTime, ASN1_GENERALIZEDTIME, 2)
     174             : } ASN1_SEQUENCE_END(OCSP_CRLID)
     175             : 
     176           0 : IMPLEMENT_ASN1_FUNCTIONS(OCSP_CRLID)
     177             : 
     178             : ASN1_SEQUENCE(OCSP_SERVICELOC) = {
     179             :         ASN1_SIMPLE(OCSP_SERVICELOC, issuer, X509_NAME),
     180             :         ASN1_SEQUENCE_OF_OPT(OCSP_SERVICELOC, locator, ACCESS_DESCRIPTION)
     181             : } ASN1_SEQUENCE_END(OCSP_SERVICELOC)
     182             : 
     183           0 : IMPLEMENT_ASN1_FUNCTIONS(OCSP_SERVICELOC)

Generated by: LCOV version 1.10