OpenCoverage

v3_pku.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/x509v3/v3_pku.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/* $OpenBSD: v3_pku.c,v 1.13 2016/12/30 15:54:49 jsing 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/asn1.h>-
62#include <openssl/asn1t.h>-
63#include <openssl/x509v3.h>-
64-
65static int i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method,-
66 PKEY_USAGE_PERIOD *usage, BIO *out, int indent);-
67/*-
68static PKEY_USAGE_PERIOD *v2i_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values);-
69*/-
70const X509V3_EXT_METHOD v3_pkey_usage_period = {-
71 .ext_nid = NID_private_key_usage_period,-
72 .ext_flags = 0,-
73 .it = &PKEY_USAGE_PERIOD_it,-
74 .ext_new = NULL,-
75 .ext_free = NULL,-
76 .d2i = NULL,-
77 .i2d = NULL,-
78 .i2s = NULL,-
79 .s2i = NULL,-
80 .i2v = NULL,-
81 .v2i = NULL,-
82 .i2r = (X509V3_EXT_I2R)i2r_PKEY_USAGE_PERIOD,-
83 .r2i = NULL,-
84 .usr_data = NULL,-
85};-
86-
87static const ASN1_TEMPLATE PKEY_USAGE_PERIOD_seq_tt[] = {-
88 {-
89 .flags = ASN1_TFLG_IMPLICIT | ASN1_TFLG_OPTIONAL,-
90 .tag = 0,-
91 .offset = offsetof(PKEY_USAGE_PERIOD, notBefore),-
92 .field_name = "notBefore",-
93 .item = &ASN1_GENERALIZEDTIME_it,-
94 },-
95 {-
96 .flags = ASN1_TFLG_IMPLICIT | ASN1_TFLG_OPTIONAL,-
97 .tag = 1,-
98 .offset = offsetof(PKEY_USAGE_PERIOD, notAfter),-
99 .field_name = "notAfter",-
100 .item = &ASN1_GENERALIZEDTIME_it,-
101 },-
102};-
103-
104const ASN1_ITEM PKEY_USAGE_PERIOD_it = {-
105 .itype = ASN1_ITYPE_SEQUENCE,-
106 .utype = V_ASN1_SEQUENCE,-
107 .templates = PKEY_USAGE_PERIOD_seq_tt,-
108 .tcount = sizeof(PKEY_USAGE_PERIOD_seq_tt) / sizeof(ASN1_TEMPLATE),-
109 .funcs = NULL,-
110 .size = sizeof(PKEY_USAGE_PERIOD),-
111 .sname = "PKEY_USAGE_PERIOD",-
112};-
113-
114-
115PKEY_USAGE_PERIOD *-
116d2i_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD **a, const unsigned char **in, long len)-
117{-
118 return (PKEY_USAGE_PERIOD *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
never executed: return (PKEY_USAGE_PERIOD *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &PKEY_USAGE_PERIOD_it);
0
119 &PKEY_USAGE_PERIOD_it);
never executed: return (PKEY_USAGE_PERIOD *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &PKEY_USAGE_PERIOD_it);
0
120}-
121-
122int-
123i2d_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD *a, unsigned char **out)-
124{-
125 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKEY_USAGE_PERIOD_it);
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKEY_USAGE_PERIOD_it);
0
126}-
127-
128PKEY_USAGE_PERIOD *-
129PKEY_USAGE_PERIOD_new(void)-
130{-
131 return (PKEY_USAGE_PERIOD *)ASN1_item_new(&PKEY_USAGE_PERIOD_it);
never executed: return (PKEY_USAGE_PERIOD *)ASN1_item_new(&PKEY_USAGE_PERIOD_it);
0
132}-
133-
134void-
135PKEY_USAGE_PERIOD_free(PKEY_USAGE_PERIOD *a)-
136{-
137 ASN1_item_free((ASN1_VALUE *)a, &PKEY_USAGE_PERIOD_it);-
138}
executed 1 time by 1 test: end of block
Executed by:
  • freenull
1
139-
140static int-
141i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, PKEY_USAGE_PERIOD *usage,-
142 BIO *out, int indent)-
143{-
144 BIO_printf(out, "%*s", indent, "");-
145 if (usage->notBefore) {
usage->notBeforeDescription
TRUEnever evaluated
FALSEnever evaluated
0
146 BIO_write(out, "Not Before: ", 12);-
147 ASN1_GENERALIZEDTIME_print(out, usage->notBefore);-
148 if (usage->notAfter)
usage->notAfterDescription
TRUEnever evaluated
FALSEnever evaluated
0
149 BIO_write(out, ", ", 2);
never executed: BIO_write(out, ", ", 2);
0
150 }
never executed: end of block
0
151 if (usage->notAfter) {
usage->notAfterDescription
TRUEnever evaluated
FALSEnever evaluated
0
152 BIO_write(out, "Not After: ", 11);-
153 ASN1_GENERALIZEDTIME_print(out, usage->notAfter);-
154 }
never executed: end of block
0
155 return 1;
never executed: return 1;
0
156}-
157-
158/*-
159static PKEY_USAGE_PERIOD *v2i_PKEY_USAGE_PERIOD(method, ctx, values)-
160X509V3_EXT_METHOD *method;-
161X509V3_CTX *ctx;-
162STACK_OF(CONF_VALUE) *values;-
163{-
164return NULL;-
165}-
166*/-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2