OpenCoverage

rsa_x931g.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/rsa/rsa_x931g.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2, BIGNUM *q1,-
5 BIGNUM *q2, const BIGNUM *Xp1, const BIGNUM *Xp2,-
6 const BIGNUM *Xp, const BIGNUM *Xq1, const BIGNUM *Xq2,-
7 const BIGNUM *Xq, const BIGNUM *e, BN_GENCB *cb)-
8{-
9 BIGNUM *r0 = -
10 ((void *)0)-
11 , *r1 = -
12 ((void *)0)-
13 , *r2 = -
14 ((void *)0)-
15 , *r3 = -
16 ((void *)0)-
17 ;-
18 BN_CTX *ctx = -
19 ((void *)0)-
20 , *ctx2 = -
21 ((void *)0)-
22 ;-
23 int ret = 0;-
24-
25 if (!rsa
!rsaDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
26 goto
never executed: goto err;
err;
never executed: goto err;
0
27-
28 ctx = BN_CTX_new();-
29 if (ctx ==
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
30 ((void *)0)
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
31 )-
32 goto
never executed: goto err;
err;
never executed: goto err;
0
33 BN_CTX_start(ctx);-
34-
35 r0 = BN_CTX_get(ctx);-
36 r1 = BN_CTX_get(ctx);-
37 r2 = BN_CTX_get(ctx);-
38 r3 = BN_CTX_get(ctx);-
39-
40 if (r3 ==
r3 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
41 ((void *)0)
r3 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
42 )-
43 goto
never executed: goto err;
err;
never executed: goto err;
0
44 if (!rsa->e
!rsa->eDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
45 rsa->e = BN_dup(e);-
46 if (!rsa->e
!rsa->eDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
47 goto
never executed: goto err;
err;
never executed: goto err;
0
48 }
never executed: end of block
else {
0
49 e = rsa->e;-
50 }
never executed: end of block
0
51-
52-
53-
54-
55-
56-
57 if (Xp
XpDescription
TRUEnever evaluated
FALSEnever evaluated
&& rsa->p ==
rsa->p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
58 ((void *)0)
rsa->p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
59 ) {-
60 rsa->p = BN_new();-
61 if (rsa->p ==
rsa->p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
62 ((void *)0)
rsa->p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
63 )-
64 goto
never executed: goto err;
err;
never executed: goto err;
0
65-
66 if (!BN_X931_derive_prime_ex(rsa->p, p1, p2,
!BN_X931_deriv...2, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
67 Xp, Xp1, Xp2, e, ctx, cb)
!BN_X931_deriv...2, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
68 goto
never executed: goto err;
err;
never executed: goto err;
0
69 }
never executed: end of block
0
70-
71 if (Xq
XqDescription
TRUEnever evaluated
FALSEnever evaluated
&& rsa->q ==
rsa->q == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
72 ((void *)0)
rsa->q == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
73 ) {-
74 rsa->q = BN_new();-
75 if (rsa->q ==
rsa->q == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
76 ((void *)0)
rsa->q == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
77 )-
78 goto
never executed: goto err;
err;
never executed: goto err;
0
79 if (!BN_X931_derive_prime_ex(rsa->q, q1, q2,
!BN_X931_deriv...2, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
80 Xq, Xq1, Xq2, e, ctx, cb)
!BN_X931_deriv...2, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
81 goto
never executed: goto err;
err;
never executed: goto err;
0
82 }
never executed: end of block
0
83-
84 if (rsa->p ==
rsa->p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
85 ((void *)0)
rsa->p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
86 || rsa->q ==
rsa->q == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
87 ((void *)0)
rsa->q == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
88 ) {-
89 BN_CTX_end(ctx);-
90 BN_CTX_free(ctx);-
91 return
never executed: return 2;
2;
never executed: return 2;
0
92 }-
93-
94-
95-
96-
97-
98-
99-
100 rsa->n = BN_new();-
101 if (rsa->n ==
rsa->n == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
102 ((void *)0)
rsa->n == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
103 )-
104 goto
never executed: goto err;
err;
never executed: goto err;
0
105 if (!BN_mul(rsa->n, rsa->p, rsa->q, ctx)
!BN_mul(rsa->n..., rsa->q, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
106 goto
never executed: goto err;
err;
never executed: goto err;
0
107-
108-
109 if (!BN_sub(r1, rsa->p, BN_value_one())
!BN_sub(r1, rs...N_value_one())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
110 goto
never executed: goto err;
err;
never executed: goto err;
0
111 if (!BN_sub(r2, rsa->q, BN_value_one())
!BN_sub(r2, rs...N_value_one())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
112 goto
never executed: goto err;
err;
never executed: goto err;
0
113 if (!BN_mul(r0, r1, r2, ctx)
!BN_mul(r0, r1, r2, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
114 goto
never executed: goto err;
err;
never executed: goto err;
0
115-
116 if (!BN_gcd(r3, r1, r2, ctx)
!BN_gcd(r3, r1, r2, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
117 goto
never executed: goto err;
err;
never executed: goto err;
0
118-
119 if (!BN_div(r0,
!BN_div(r0, ((..., r0, r3, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
0
120 ((void *)0)
!BN_div(r0, ((..., r0, r3, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
0
121 , r0, r3, ctx)
!BN_div(r0, ((..., r0, r3, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
122 goto
never executed: goto err;
err;
never executed: goto err;
0
123-
124 ctx2 = BN_CTX_new();-
125 if (ctx2 ==
ctx2 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
126 ((void *)0)
ctx2 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
127 )-
128 goto
never executed: goto err;
err;
never executed: goto err;
0
129-
130 rsa->d = BN_mod_inverse(-
131 ((void *)0)-
132 , rsa->e, r0, ctx2);-
133 if (rsa->d ==
rsa->d == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
134 ((void *)0)
rsa->d == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
135 )-
136 goto
never executed: goto err;
err;
never executed: goto err;
0
137-
138-
139 rsa->dmp1 = BN_new();-
140 if (rsa->dmp1 ==
rsa->dmp1 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
141 ((void *)0)
rsa->dmp1 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
142 )-
143 goto
never executed: goto err;
err;
never executed: goto err;
0
144 if (!BN_div(
!BN_div( ((voi...d),(r1),(ctx))Description
TRUEnever evaluated
FALSEnever evaluated
0
145 ((void *)0)
!BN_div( ((voi...d),(r1),(ctx))Description
TRUEnever evaluated
FALSEnever evaluated
0
146 ,(rsa->dmp1),(rsa->d),(r1),(ctx))
!BN_div( ((voi...d),(r1),(ctx))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
147 goto
never executed: goto err;
err;
never executed: goto err;
0
148-
149-
150 rsa->dmq1 = BN_new();-
151 if (rsa->dmq1 ==
rsa->dmq1 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
152 ((void *)0)
rsa->dmq1 == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
153 )-
154 goto
never executed: goto err;
err;
never executed: goto err;
0
155 if (!BN_div(
!BN_div( ((voi...d),(r2),(ctx))Description
TRUEnever evaluated
FALSEnever evaluated
0
156 ((void *)0)
!BN_div( ((voi...d),(r2),(ctx))Description
TRUEnever evaluated
FALSEnever evaluated
0
157 ,(rsa->dmq1),(rsa->d),(r2),(ctx))
!BN_div( ((voi...d),(r2),(ctx))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
158 goto
never executed: goto err;
err;
never executed: goto err;
0
159-
160-
161 rsa->iqmp = BN_mod_inverse(-
162 ((void *)0)-
163 , rsa->q, rsa->p, ctx2);-
164-
165 ret = 1;-
166 err:
code before this statement never executed: err:
0
167 if (ctx
ctxDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
168 BN_CTX_end(ctx);
never executed: BN_CTX_end(ctx);
0
169 BN_CTX_free(ctx);-
170 BN_CTX_free(ctx2);-
171-
172 return
never executed: return ret;
ret;
never executed: return ret;
0
173-
174}-
175-
176int RSA_X931_generate_key_ex(RSA *rsa, int bits, const BIGNUM *e,-
177 BN_GENCB *cb)-
178{-
179 int ok = 0;-
180 BIGNUM *Xp = -
181 ((void *)0)-
182 , *Xq = -
183 ((void *)0)-
184 ;-
185 BN_CTX *ctx = -
186 ((void *)0)-
187 ;-
188-
189 ctx = BN_CTX_new();-
190 if (ctx ==
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
191 ((void *)0)
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
192 )-
193 goto
never executed: goto error;
error;
never executed: goto error;
0
194-
195 BN_CTX_start(ctx);-
196 Xp = BN_CTX_get(ctx);-
197 Xq = BN_CTX_get(ctx);-
198 if (Xq ==
Xq == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
199 ((void *)0)
Xq == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
200 )-
201 goto
never executed: goto error;
error;
never executed: goto error;
0
202 if (!BN_X931_generate_Xpq(Xp, Xq, bits, ctx)
!BN_X931_gener...Xq, bits, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
203 goto
never executed: goto error;
error;
never executed: goto error;
0
204-
205 rsa->p = BN_new();-
206 rsa->q = BN_new();-
207 if (rsa->p ==
rsa->p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
208 ((void *)0)
rsa->p == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
209 || rsa->q ==
rsa->q == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
210 ((void *)0)
rsa->q == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
211 )-
212 goto
never executed: goto error;
error;
never executed: goto error;
0
213-
214-
215-
216 if (!BN_X931_generate_prime_ex(rsa->p,
!BN_X931_gener...p, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
217 ((void *)0)
!BN_X931_gener...p, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
218 ,
!BN_X931_gener...p, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
219 ((void *)0)
!BN_X931_gener...p, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
220 ,
!BN_X931_gener...p, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
221 ((void *)0)
!BN_X931_gener...p, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
222 ,
!BN_X931_gener...p, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
223 ((void *)0)
!BN_X931_gener...p, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
224 , Xp,
!BN_X931_gener...p, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
225 e, ctx, cb)
!BN_X931_gener...p, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
226 goto
never executed: goto error;
error;
never executed: goto error;
0
227-
228 if (!BN_X931_generate_prime_ex(rsa->q,
!BN_X931_gener...q, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
229 ((void *)0)
!BN_X931_gener...q, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
230 ,
!BN_X931_gener...q, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
231 ((void *)0)
!BN_X931_gener...q, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
232 ,
!BN_X931_gener...q, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
233 ((void *)0)
!BN_X931_gener...q, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
234 ,
!BN_X931_gener...q, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
235 ((void *)0)
!BN_X931_gener...q, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
236 , Xq,
!BN_X931_gener...q, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
237 e, ctx, cb)
!BN_X931_gener...q, e, ctx, cb)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
238 goto
never executed: goto error;
error;
never executed: goto error;
0
239-
240-
241-
242-
243-
244-
245 if (!RSA_X931_derive_ex(rsa,
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
246 ((void *)0)
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
247 ,
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
248 ((void *)0)
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
249 ,
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
250 ((void *)0)
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
251 ,
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
252 ((void *)0)
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
253 ,
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
254
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
255 ((void *)0)
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
256 ,
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
257 ((void *)0)
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
258 ,
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
259 ((void *)0)
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
260 ,
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
261 ((void *)0)
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
262 ,
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
263 ((void *)0)
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
264 ,
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
265 ((void *)0)
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
0
266 , e, cb)
!RSA_X931_deri... *)0) , e, cb)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
267 goto
never executed: goto error;
error;
never executed: goto error;
0
268-
269 ok = 1;-
270-
271 error:
code before this statement never executed: error:
0
272 if (ctx
ctxDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
273 BN_CTX_end(ctx);
never executed: BN_CTX_end(ctx);
0
274 BN_CTX_free(ctx);-
275-
276 if (ok
okDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
277 return
never executed: return 1;
1;
never executed: return 1;
0
278-
279 return
never executed: return 0;
0;
never executed: return 0;
0
280-
281}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2