OpenCoverage

dh_ameth.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/dh/dh_ameth.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5static void-
6int_dh_free(EVP_PKEY *pkey)-
7{-
8 DH_free(pkey->pkey.dh);-
9}
never executed: end of block
0
10-
11static int-
12dh_pub_decode(EVP_PKEY *pkey, X509_PUBKEY *pubkey)-
13{-
14 const unsigned char *p, *pm;-
15 int pklen, pmlen;-
16 int ptype;-
17 const void *pval;-
18 const ASN1_STRING *pstr;-
19 X509_ALGOR *palg;-
20 ASN1_INTEGER *public_key = -
21 ((void *)0)-
22 ;-
23 DH *dh = -
24 ((void *)0)-
25 ;-
26-
27 if (!X509_PUBKEY_get0_param(
!X509_PUBKEY_g...&palg, pubkey)Description
TRUEnever evaluated
FALSEnever evaluated
0
28 ((void *)0)
!X509_PUBKEY_g...&palg, pubkey)Description
TRUEnever evaluated
FALSEnever evaluated
0
29 , &p, &pklen, &palg, pubkey)
!X509_PUBKEY_g...&palg, pubkey)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
30 return
never executed: return 0;
0;
never executed: return 0;
0
31 X509_ALGOR_get0(-
32 ((void *)0)-
33 , &ptype, &pval, palg);-
34-
35 if (ptype != 16
ptype != 16Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
36 ERR_put_error(5,(0xfff),(105),__FILE__,92);-
37 goto
never executed: goto err;
err;
never executed: goto err;
0
38 }-
39-
40 pstr = pval;-
41 pm = pstr->data;-
42 pmlen = pstr->length;-
43-
44 if (!(dh = d2i_DHparams(
!(dh = d2i_DHp..., &pm, pmlen))Description
TRUEnever evaluated
FALSEnever evaluated
0
45 ((void *)0)
!(dh = d2i_DHp..., &pm, pmlen))Description
TRUEnever evaluated
FALSEnever evaluated
0
46 , &pm, pmlen))
!(dh = d2i_DHp..., &pm, pmlen))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
47 ERR_put_error(5,(0xfff),(104),__FILE__,101);-
48 goto
never executed: goto err;
err;
never executed: goto err;
0
49 }-
50-
51 if (!(public_key=d2i_ASN1_INTEGER(
!(public_key=d... , &p, pklen))Description
TRUEnever evaluated
FALSEnever evaluated
0
52 ((void *)0)
!(public_key=d... , &p, pklen))Description
TRUEnever evaluated
FALSEnever evaluated
0
53 , &p, pklen))
!(public_key=d... , &p, pklen))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
54 ERR_put_error(5,(0xfff),(104),__FILE__,106);-
55 goto
never executed: goto err;
err;
never executed: goto err;
0
56 }-
57-
58-
59 if (!(dh->pub_key = ASN1_INTEGER_to_BN(public_key,
!(dh->pub_key ...((void *)0) ))Description
TRUEnever evaluated
FALSEnever evaluated
0
60 ((void *)0)
!(dh->pub_key ...((void *)0) ))Description
TRUEnever evaluated
FALSEnever evaluated
0
61 ))
!(dh->pub_key ...((void *)0) ))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
62 ERR_put_error(5,(0xfff),(109),__FILE__,112);-
63 goto
never executed: goto err;
err;
never executed: goto err;
0
64 }-
65-
66 ASN1_INTEGER_free(public_key);-
67 EVP_PKEY_assign((pkey),28, (char *)(dh));-
68 return
never executed: return 1;
1;
never executed: return 1;
0
69-
70err:-
71 if (public_key
public_keyDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
72 ASN1_INTEGER_free(public_key);
never executed: ASN1_INTEGER_free(public_key);
0
73 DH_free(dh);-
74 return
never executed: return 0;
0;
never executed: return 0;
0
75}-
76-
77static int-
78dh_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey)-
79{-
80 DH *dh;-
81 int ptype;-
82 unsigned char *penc = -
83 ((void *)0)-
84 ;-
85 int penclen;-
86 ASN1_STRING *str;-
87 ASN1_INTEGER *pub_key = -
88 ((void *)0)-
89 ;-
90-
91 dh=pkey->pkey.dh;-
92-
93 str = ASN1_STRING_new();-
94 if (str ==
str == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
95 ((void *)0)
str == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
96 ) {-
97 ERR_put_error(5,(0xfff),((1|64)),__FILE__,141);-
98 goto
never executed: goto err;
err;
never executed: goto err;
0
99 }-
100-
101 str->length = i2d_DHparams(dh, &str->data);-
102 if (str->length <= 0
str->length <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
103 ERR_put_error(5,(0xfff),((1|64)),__FILE__,147);-
104 goto
never executed: goto err;
err;
never executed: goto err;
0
105 }-
106 ptype = 16;-
107-
108 pub_key = BN_to_ASN1_INTEGER(dh->pub_key, -
109 ((void *)0)-
110 );-
111 if (!pub_key
!pub_keyDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
112 goto
never executed: goto err;
err;
never executed: goto err;
0
113-
114 penclen = i2d_ASN1_INTEGER(pub_key, &penc);-
115-
116 ASN1_INTEGER_free(pub_key);-
117-
118 if (penclen <= 0
penclen <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
119 ERR_put_error(5,(0xfff),((1|64)),__FILE__,161);-
120 goto
never executed: goto err;
err;
never executed: goto err;
0
121 }-
122-
123 if (X509_PUBKEY_set0_param(pk, OBJ_nid2obj(28), ptype,
X509_PUBKEY_se...penc, penclen)Description
TRUEnever evaluated
FALSEnever evaluated
0
124 (void *)str, penc, penclen)
X509_PUBKEY_se...penc, penclen)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
125 return
never executed: return 1;
1;
never executed: return 1;
0
126-
127err:
code before this statement never executed: err:
0
128 free(penc);-
129 ASN1_STRING_free(str);-
130-
131 return
never executed: return 0;
0;
never executed: return 0;
0
132}-
133-
134-
135-
136-
137-
138-
139-
140static int-
141dh_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO *p8)-
142{-
143 const unsigned char *p, *pm;-
144 int pklen, pmlen;-
145 int ptype;-
146 const void *pval;-
147 const ASN1_STRING *pstr;-
148 const X509_ALGOR *palg;-
149 ASN1_INTEGER *privkey = -
150 ((void *)0)-
151 ;-
152 DH *dh = -
153 ((void *)0)-
154 ;-
155-
156 if (!PKCS8_pkey_get0(
!PKCS8_pkey_ge...en, &palg, p8)Description
TRUEnever evaluated
FALSEnever evaluated
0
157 ((void *)0)
!PKCS8_pkey_ge...en, &palg, p8)Description
TRUEnever evaluated
FALSEnever evaluated
0
158 , &p, &pklen, &palg, p8)
!PKCS8_pkey_ge...en, &palg, p8)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
159 return
never executed: return 0;
0;
never executed: return 0;
0
160-
161 X509_ALGOR_get0(-
162 ((void *)0)-
163 , &ptype, &pval, palg);-
164-
165 if (ptype != 16
ptype != 16Description
TRUEnever evaluated
FALSEnever evaluated
)
0
166 goto
never executed: goto decerr;
decerr;
never executed: goto decerr;
0
167-
168 if (!(privkey=d2i_ASN1_INTEGER(
!(privkey=d2i_... , &p, pklen))Description
TRUEnever evaluated
FALSEnever evaluated
0
169 ((void *)0)
!(privkey=d2i_... , &p, pklen))Description
TRUEnever evaluated
FALSEnever evaluated
0
170 , &p, pklen))
!(privkey=d2i_... , &p, pklen))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
171 goto
never executed: goto decerr;
decerr;
never executed: goto decerr;
0
172-
173 pstr = pval;-
174 pm = pstr->data;-
175 pmlen = pstr->length;-
176 if (!(dh = d2i_DHparams(
!(dh = d2i_DHp..., &pm, pmlen))Description
TRUEnever evaluated
FALSEnever evaluated
0
177 ((void *)0)
!(dh = d2i_DHp..., &pm, pmlen))Description
TRUEnever evaluated
FALSEnever evaluated
0
178 , &pm, pmlen))
!(dh = d2i_DHp..., &pm, pmlen))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
179 goto
never executed: goto decerr;
decerr;
never executed: goto decerr;
0
180-
181 if (!(dh->priv_key = ASN1_INTEGER_to_BN(privkey,
!(dh->priv_key...((void *)0) ))Description
TRUEnever evaluated
FALSEnever evaluated
0
182 ((void *)0)
!(dh->priv_key...((void *)0) ))Description
TRUEnever evaluated
FALSEnever evaluated
0
183 ))
!(dh->priv_key...((void *)0) ))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
184 ERR_put_error(5,(0xfff),(106),__FILE__,212);-
185 goto
never executed: goto dherr;
dherr;
never executed: goto dherr;
0
186 }-
187-
188 if (!DH_generate_key(dh)
!DH_generate_key(dh)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
189 goto
never executed: goto dherr;
dherr;
never executed: goto dherr;
0
190-
191 EVP_PKEY_assign((pkey),28, (char *)(dh));-
192-
193 ASN1_INTEGER_free(privkey);-
194-
195 return
never executed: return 1;
1;
never executed: return 1;
0
196-
197decerr:-
198 ERR_put_error(5,(0xfff),(114),__FILE__,226);-
199dherr:
code before this statement never executed: dherr:
0
200 DH_free(dh);-
201 return
never executed: return 0;
0;
never executed: return 0;
0
202}-
203-
204static int-
205dh_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey)-
206{-
207 ASN1_STRING *params = -
208 ((void *)0)-
209 ;-
210 ASN1_INTEGER *prkey = -
211 ((void *)0)-
212 ;-
213 unsigned char *dp = -
214 ((void *)0)-
215 ;-
216 int dplen;-
217-
218 params = ASN1_STRING_new();-
219-
220 if (!params
!paramsDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
221 ERR_put_error(5,(0xfff),((1|64)),__FILE__,243);-
222 goto
never executed: goto err;
err;
never executed: goto err;
0
223 }-
224-
225 params->length = i2d_DHparams(pkey->pkey.dh, &params->data);-
226 if (params->length <= 0
params->length <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
227 ERR_put_error(5,(0xfff),((1|64)),__FILE__,249);-
228 goto
never executed: goto err;
err;
never executed: goto err;
0
229 }-
230 params->type = 16;-
231-
232-
233 prkey = BN_to_ASN1_INTEGER(pkey->pkey.dh->priv_key, -
234 ((void *)0)-
235 );-
236-
237 if (!prkey
!prkeyDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
238 ERR_put_error(5,(0xfff),(106),__FILE__,258);-
239 goto
never executed: goto err;
err;
never executed: goto err;
0
240 }-
241-
242 dplen = i2d_ASN1_INTEGER(prkey, &dp);-
243-
244 ASN1_INTEGER_free(prkey);-
245 prkey = -
246 ((void *)0)-
247 ;-
248-
249 if (!PKCS8_pkey_set0(p8, OBJ_nid2obj(28), 0,
!PKCS8_pkey_se...ms, dp, dplen)Description
TRUEnever evaluated
FALSEnever evaluated
0
250 16, params, dp, dplen)
!PKCS8_pkey_se...ms, dp, dplen)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
251 goto
never executed: goto err;
err;
never executed: goto err;
0
252-
253 return
never executed: return 1;
1;
never executed: return 1;
0
254-
255err:-
256 free(dp);-
257 ASN1_STRING_free(params);-
258 ASN1_INTEGER_free(prkey);-
259 return
never executed: return 0;
0;
never executed: return 0;
0
260}-
261-
262static void-
263update_buflen(const BIGNUM *b, size_t *pbuflen)-
264{-
265 size_t i;-
266-
267 if (!b
!bDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
268 return;
never executed: return;
0
269 if (*
*pbuflen < (i ...bits(b)+7)/8))Description
TRUEnever evaluated
FALSEnever evaluated
pbuflen < (i = (size_t)((BN_num_bits(b)+7)/8))
*pbuflen < (i ...bits(b)+7)/8))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
270 *
never executed: *pbuflen = i;
pbuflen = i;
never executed: *pbuflen = i;
0
271}
never executed: end of block
0
272-
273static int-
274dh_param_decode(EVP_PKEY *pkey, const unsigned char **pder, int derlen)-
275{-
276 DH *dh;-
277-
278 if (!(dh = d2i_DHparams(
!(dh = d2i_DHp...pder, derlen))Description
TRUEnever evaluated
FALSEnever evaluated
0
279 ((void *)0)
!(dh = d2i_DHp...pder, derlen))Description
TRUEnever evaluated
FALSEnever evaluated
0
280 , pder, derlen))
!(dh = d2i_DHp...pder, derlen))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
281 ERR_put_error(5,(0xfff),(5),__FILE__,297);-
282 return
never executed: return 0;
0;
never executed: return 0;
0
283 }-
284 EVP_PKEY_assign((pkey),28, (char *)(dh));-
285 return
never executed: return 1;
1;
never executed: return 1;
0
286}-
287-
288static int-
289dh_param_encode(const EVP_PKEY *pkey, unsigned char **pder)-
290{-
291 return
never executed: return i2d_DHparams(pkey->pkey.dh, pder);
i2d_DHparams(pkey->pkey.dh, pder);
never executed: return i2d_DHparams(pkey->pkey.dh, pder);
0
292}-
293-
294static int-
295do_dh_print(BIO *bp, const DH *x, int indent, ASN1_PCTX *ctx, int ptype)-
296{-
297 unsigned char *m = -
298 ((void *)0)-
299 ;-
300 int reason = 7, ret = 0;-
301 size_t buf_len = 0;-
302 const char *ktype = -
303 ((void *)0)-
304 ;-
305 BIGNUM *priv_key, *pub_key;-
306-
307 if (ptype == 2
ptype == 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
308 priv_key = x->priv_key;
never executed: priv_key = x->priv_key;
0
309 else-
310 priv_key =
never executed: priv_key = ((void *)0) ;
0
311 ((void *)0)
never executed: priv_key = ((void *)0) ;
0
312 ;
never executed: priv_key = ((void *)0) ;
0
313-
314 if (ptype > 0
ptype > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
315 pub_key = x->pub_key;
never executed: pub_key = x->pub_key;
0
316 else-
317 pub_key =
never executed: pub_key = ((void *)0) ;
0
318 ((void *)0)
never executed: pub_key = ((void *)0) ;
0
319 ;
never executed: pub_key = ((void *)0) ;
0
320-
321 update_buflen(x->p, &buf_len);-
322-
323 if (buf_len == 0
buf_len == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
324 reason = (3|64);-
325 goto
never executed: goto err;
err;
never executed: goto err;
0
326 }-
327-
328 update_buflen(x->g, &buf_len);-
329 update_buflen(pub_key, &buf_len);-
330 update_buflen(priv_key, &buf_len);-
331-
332 if (ptype == 2
ptype == 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
333 ktype = "PKCS#3 DH Private-Key";
never executed: ktype = "PKCS#3 DH Private-Key";
0
334 else if (ptype == 1
ptype == 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
335 ktype = "PKCS#3 DH Public-Key";
never executed: ktype = "PKCS#3 DH Public-Key";
0
336 else-
337 ktype = "PKCS#3 DH Parameters";
never executed: ktype = "PKCS#3 DH Parameters";
0
338-
339 m= malloc(buf_len + 10);-
340 if (m ==
m == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
341 ((void *)0)
m == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
342 ) {-
343 reason = (1|64);-
344 goto
never executed: goto err;
err;
never executed: goto err;
0
345 }-
346-
347 BIO_indent(bp, indent, 128);-
348 if (BIO_printf(bp, "%s: (%d bit)\n", ktype, BN_num_bits(x->p)) <= 0
BIO_printf(bp,...ts(x->p)) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
349 goto
never executed: goto err;
err;
never executed: goto err;
0
350 indent += 4;-
351-
352 if (!ASN1_bn_print(bp, "private-key:", priv_key, m, indent)
!ASN1_bn_print...ey, m, indent)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
353 goto
never executed: goto err;
err;
never executed: goto err;
0
354 if (!ASN1_bn_print(bp, "public-key:", pub_key, m, indent)
!ASN1_bn_print...ey, m, indent)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
355 goto
never executed: goto err;
err;
never executed: goto err;
0
356-
357 if (!ASN1_bn_print(bp, "prime:", x->p, m, indent)
!ASN1_bn_print...>p, m, indent)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
358 goto
never executed: goto err;
err;
never executed: goto err;
0
359 if (!ASN1_bn_print(bp, "generator:", x->g, m, indent)
!ASN1_bn_print...>g, m, indent)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
360 goto
never executed: goto err;
err;
never executed: goto err;
0
361 if (x->length != 0
x->length != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
362 BIO_indent(bp, indent, 128);-
363 if (BIO_printf(bp, "recommended-private-length: %d bits\n",
BIO_printf(bp,...->length) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
364 (int)x->length) <= 0
BIO_printf(bp,...->length) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
365 goto
never executed: goto err;
err;
never executed: goto err;
0
366 }
never executed: end of block
0
367-
368 ret = 1;-
369 if (0) {-
370err:-
371 ERR_put_error(5,(0xfff),(reason),__FILE__,377);-
372 }
never executed: end of block
0
373 free(m);-
374 return
never executed: return(ret);
(ret);
never executed: return(ret);
0
375}-
376-
377static int-
378int_dh_size(const EVP_PKEY *pkey)-
379{-
380 return
never executed: return DH_size(pkey->pkey.dh);
DH_size(pkey->pkey.dh);
never executed: return DH_size(pkey->pkey.dh);
0
381}-
382-
383static int-
384dh_bits(const EVP_PKEY *pkey)-
385{-
386 return
never executed: return BN_num_bits(pkey->pkey.dh->p);
BN_num_bits(pkey->pkey.dh->p);
never executed: return BN_num_bits(pkey->pkey.dh->p);
0
387}-
388-
389static int-
390dh_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b)-
391{-
392 if (BN_cmp(a->pkey.dh->p, b->pkey.dh->p)
BN_cmp(a->pkey...b->pkey.dh->p)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
393 BN_cmp(a->pkey.dh->g, b->pkey.dh->g)
BN_cmp(a->pkey...b->pkey.dh->g)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
394 return
never executed: return 0;
0;
never executed: return 0;
0
395 else-
396 return
never executed: return 1;
1;
never executed: return 1;
0
397}-
398-
399static int-
400dh_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from)-
401{-
402 BIGNUM *a;-
403-
404 if ((
(a = BN_dup(fr...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
a = BN_dup(from->pkey.dh->p)) ==
(a = BN_dup(fr...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
405 ((void *)0)
(a = BN_dup(fr...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
406 )-
407 return
never executed: return 0;
0;
never executed: return 0;
0
408 BN_free(to->pkey.dh->p);-
409 to->pkey.dh->p = a;-
410-
411 if ((
(a = BN_dup(fr...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
a = BN_dup(from->pkey.dh->g)) ==
(a = BN_dup(fr...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
412 ((void *)0)
(a = BN_dup(fr...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
413 )-
414 return
never executed: return 0;
0;
never executed: return 0;
0
415 BN_free(to->pkey.dh->g);-
416 to->pkey.dh->g = a;-
417-
418 return
never executed: return 1;
1;
never executed: return 1;
0
419}-
420-
421static int-
422dh_missing_parameters(const EVP_PKEY *a)-
423{-
424 if (!a->pkey.dh->p
!a->pkey.dh->pDescription
TRUEnever evaluated
FALSEnever evaluated
|| !a->pkey.dh->g
!a->pkey.dh->gDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
425 return
never executed: return 1;
1;
never executed: return 1;
0
426 return
never executed: return 0;
0;
never executed: return 0;
0
427}-
428-
429static int-
430dh_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b)-
431{-
432 if (dh_cmp_parameters(a, b) == 0
dh_cmp_parameters(a, b) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
433 return
never executed: return 0;
0;
never executed: return 0;
0
434 if (BN_cmp(b->pkey.dh->pub_key, a->pkey.dh->pub_key) != 0
BN_cmp(b->pkey...>pub_key) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
435 return
never executed: return 0;
0;
never executed: return 0;
0
436 else-
437 return
never executed: return 1;
1;
never executed: return 1;
0
438}-
439-
440static int-
441dh_param_print(BIO *bp, const EVP_PKEY *pkey, int indent, ASN1_PCTX *ctx)-
442{-
443 return
never executed: return do_dh_print(bp, pkey->pkey.dh, indent, ctx, 0);
do_dh_print(bp, pkey->pkey.dh, indent, ctx, 0);
never executed: return do_dh_print(bp, pkey->pkey.dh, indent, ctx, 0);
0
444}-
445-
446static int-
447dh_public_print(BIO *bp, const EVP_PKEY *pkey, int indent, ASN1_PCTX *ctx)-
448{-
449 return
never executed: return do_dh_print(bp, pkey->pkey.dh, indent, ctx, 1);
do_dh_print(bp, pkey->pkey.dh, indent, ctx, 1);
never executed: return do_dh_print(bp, pkey->pkey.dh, indent, ctx, 1);
0
450}-
451-
452static int-
453dh_private_print(BIO *bp, const EVP_PKEY *pkey, int indent, ASN1_PCTX *ctx)-
454{-
455 return
never executed: return do_dh_print(bp, pkey->pkey.dh, indent, ctx, 2);
do_dh_print(bp, pkey->pkey.dh, indent, ctx, 2);
never executed: return do_dh_print(bp, pkey->pkey.dh, indent, ctx, 2);
0
456}-
457-
458int-
459DHparams_print(BIO *bp, const DH *x)-
460{-
461 return
never executed: return do_dh_print(bp, x, 4, ((void *)0) , 0);
do_dh_print(bp, x, 4,
never executed: return do_dh_print(bp, x, 4, ((void *)0) , 0);
0
462 ((void *)0)
never executed: return do_dh_print(bp, x, 4, ((void *)0) , 0);
0
463 , 0);
never executed: return do_dh_print(bp, x, 4, ((void *)0) , 0);
0
464}-
465-
466const EVP_PKEY_ASN1_METHOD dh_asn1_meth = {-
467 .pkey_id = 28,-
468 .pkey_base_id = 28,-
469-
470 .pem_str = "DH",-
471 .info = "OpenSSL PKCS#3 DH method",-
472-
473 .pub_decode = dh_pub_decode,-
474 .pub_encode = dh_pub_encode,-
475 .pub_cmp = dh_pub_cmp,-
476 .pub_print = dh_public_print,-
477-
478 .priv_decode = dh_priv_decode,-
479 .priv_encode = dh_priv_encode,-
480 .priv_print = dh_private_print,-
481-
482 .pkey_size = int_dh_size,-
483 .pkey_bits = dh_bits,-
484-
485 .param_decode = dh_param_decode,-
486 .param_encode = dh_param_encode,-
487 .param_missing = dh_missing_parameters,-
488 .param_copy = dh_copy_parameters,-
489 .param_cmp = dh_cmp_parameters,-
490 .param_print = dh_param_print,-
491-
492 .pkey_free = int_dh_free,-
493};-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2