OpenCoverage

t_crl.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/asn1/t_crl.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/* $OpenBSD: t_crl.c,v 1.17 2017/01/29 17:49:22 beck Exp $ */-
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL-
3 * project 1999.-
4 */-
5/* ====================================================================-
6 * Copyright (c) 1999 The OpenSSL Project. All rights reserved.-
7 *-
8 * Redistribution and use in source and binary forms, with or without-
9 * modification, are permitted provided that the following conditions-
10 * are met:-
11 *-
12 * 1. Redistributions of source code must retain the above copyright-
13 * notice, this list of conditions and the following disclaimer.-
14 *-
15 * 2. Redistributions in binary form must reproduce the above copyright-
16 * notice, this list of conditions and the following disclaimer in-
17 * the documentation and/or other materials provided with the-
18 * distribution.-
19 *-
20 * 3. All advertising materials mentioning features or use of this-
21 * software must display the following acknowledgment:-
22 * "This product includes software developed by the OpenSSL Project-
23 * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"-
24 *-
25 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to-
26 * endorse or promote products derived from this software without-
27 * prior written permission. For written permission, please contact-
28 * licensing@OpenSSL.org.-
29 *-
30 * 5. Products derived from this software may not be called "OpenSSL"-
31 * nor may "OpenSSL" appear in their names without prior written-
32 * permission of the OpenSSL Project.-
33 *-
34 * 6. Redistributions of any form whatsoever must retain the following-
35 * acknowledgment:-
36 * "This product includes software developed by the OpenSSL Project-
37 * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"-
38 *-
39 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY-
40 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE-
41 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR-
42 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR-
43 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,-
44 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT-
45 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;-
46 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)-
47 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,-
48 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)-
49 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED-
50 * OF THE POSSIBILITY OF SUCH DAMAGE.-
51 * ====================================================================-
52 *-
53 * This product includes cryptographic software written by Eric Young-
54 * (eay@cryptsoft.com). This product includes software written by Tim-
55 * Hudson (tjh@cryptsoft.com).-
56 *-
57 */-
58-
59#include <stdio.h>-
60-
61#include <openssl/bn.h>-
62#include <openssl/buffer.h>-
63#include <openssl/err.h>-
64#include <openssl/objects.h>-
65#include <openssl/x509.h>-
66#include <openssl/x509v3.h>-
67-
68int-
69X509_CRL_print_fp(FILE *fp, X509_CRL *x)-
70{-
71 BIO *b;-
72 int ret;-
73-
74 if ((b = BIO_new(BIO_s_file())) == NULL) {
(b = BIO_new(B...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
75 X509error(ERR_R_BUF_LIB);-
76 return (0);
never executed: return (0);
0
77 }-
78 BIO_set_fp(b, fp, BIO_NOCLOSE);-
79 ret = X509_CRL_print(b, x);-
80 BIO_free(b);-
81 return (ret);
never executed: return (ret);
0
82}-
83-
84int-
85X509_CRL_print(BIO *out, X509_CRL *x)-
86{-
87 STACK_OF(X509_REVOKED) *rev;-
88 X509_REVOKED *r;-
89 long l;-
90 int i;-
91 char *p;-
92-
93 BIO_printf(out, "Certificate Revocation List (CRL):\n");-
94 l = X509_CRL_get_version(x);-
95 BIO_printf(out, "%8sVersion %lu (0x%lx)\n", "", l + 1, l);-
96 i = OBJ_obj2nid(x->sig_alg->algorithm);-
97 if (X509_signature_print(out, x->sig_alg, NULL) == 0)
X509_signature...id *)0) ) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
98 goto err;
never executed: goto err;
0
99 p = X509_NAME_oneline(X509_CRL_get_issuer(x), NULL, 0);-
100 if (p == NULL)
p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
101 goto err;
never executed: goto err;
0
102 BIO_printf(out, "%8sIssuer: %s\n", "", p);-
103 free(p);-
104 BIO_printf(out, "%8sLast Update: ", "");-
105 ASN1_TIME_print(out, X509_CRL_get_lastUpdate(x));-
106 BIO_printf(out, "\n%8sNext Update: ", "");-
107 if (X509_CRL_get_nextUpdate(x))
X509_CRL_get_nextUpdate(x)Description
TRUEnever evaluated
FALSEnever evaluated
0
108 ASN1_TIME_print(out, X509_CRL_get_nextUpdate(x));
never executed: ASN1_TIME_print(out, X509_CRL_get_nextUpdate(x));
0
109 else-
110 BIO_printf(out, "NONE");
never executed: BIO_printf(out, "NONE");
0
111 BIO_printf(out, "\n");-
112-
113 X509V3_extensions_print(out, "CRL extensions",-
114 x->crl->extensions, 0, 8);-
115-
116 rev = X509_CRL_get_REVOKED(x);-
117-
118 if (sk_X509_REVOKED_num(rev) > 0)
sk_num(((_STAC...OKED*)0))) > 0Description
TRUEnever evaluated
FALSEnever evaluated
0
119 BIO_printf(out, "Revoked Certificates:\n");
never executed: BIO_printf(out, "Revoked Certificates:\n");
0
120 else-
121 BIO_printf(out, "No Revoked Certificates.\n");
never executed: BIO_printf(out, "No Revoked Certificates.\n");
0
122-
123 for (i = 0; i < sk_X509_REVOKED_num(rev); i++) {
i < sk_num(((_..._REVOKED*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
0
124 r = sk_X509_REVOKED_value(rev, i);-
125 BIO_printf(out, " Serial Number: ");-
126 i2a_ASN1_INTEGER(out, r->serialNumber);-
127 BIO_printf(out, "\n Revocation Date: ");-
128 ASN1_TIME_print(out, r->revocationDate);-
129 BIO_printf(out, "\n");-
130 X509V3_extensions_print(out, "CRL entry extensions",-
131 r->extensions, 0, 8);-
132 }
never executed: end of block
0
133 if (X509_signature_print(out, x->sig_alg, x->signature) == 0)
X509_signature...ignature) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
134 goto err;
never executed: goto err;
0
135-
136 return 1;
never executed: return 1;
0
137-
138err:-
139 return 0;
never executed: return 0;
0
140}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2