OpenCoverage

rsa_sign.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/rsa/rsa_sign.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7static int encode_pkcs1(unsigned char **, int *, int , const unsigned char *,-
8 unsigned int);-
9static int-
10encode_pkcs1(unsigned char **out, int *out_len, int type,-
11 const unsigned char *m, unsigned int m_len)-
12{-
13 X509_SIG sig;-
14 X509_ALGOR algor;-
15 ASN1_TYPE parameter;-
16 ASN1_OCTET_STRING digest;-
17 uint8_t *der = -
18 ((void *)0)-
19 ;-
20 int len;-
21-
22 sig.algor = &algor;-
23 if ((
(sig.algor->al...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 142 times by 5 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
sig.algor->algorithm = OBJ_nid2obj(type)) ==
(sig.algor->al...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 142 times by 5 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-142
24 ((void *)0)
(sig.algor->al...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 142 times by 5 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-142
25 ) {-
26 ERR_put_error(4,(0xfff),(117),__FILE__,98);-
27 return
never executed: return 0;
0;
never executed: return 0;
0
28 }-
29 if (sig.algor->algorithm->length == 0
sig.algor->alg...m->length == 0Description
TRUEnever evaluated
FALSEevaluated 142 times by 5 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
) {
0-142
30 ERR_put_error(4,(0xfff),(116),__FILE__,103)-
31 ;-
32 return
never executed: return 0;
0;
never executed: return 0;
0
33 }-
34 parameter.type = 5;-
35 parameter.value.ptr = -
36 ((void *)0)-
37 ;-
38 sig.algor->parameter = &parameter;-
39-
40 sig.digest = &digest;-
41 sig.digest->data = (unsigned char*)m;-
42 sig.digest->length = m_len;-
43-
44 if ((
(len = i2d_X50...ig, &der)) < 0Description
TRUEnever evaluated
FALSEevaluated 142 times by 5 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
len = i2d_X509_SIG(&sig, &der)) < 0
(len = i2d_X50...ig, &der)) < 0Description
TRUEnever evaluated
FALSEevaluated 142 times by 5 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
0-142
45 return
never executed: return 0;
0;
never executed: return 0;
0
46-
47 *out = der;-
48 *out_len = len;-
49-
50 return
executed 142 times by 5 tests: return 1;
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
1;
executed 142 times by 5 tests: return 1;
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
142
51}-
52-
53int-
54RSA_sign(int type, const unsigned char *m, unsigned int m_len,-
55 unsigned char *sigret, unsigned int *siglen, RSA *rsa)-
56{-
57 const unsigned char *encoded = -
58 ((void *)0)-
59 ;-
60 unsigned char *tmps = -
61 ((void *)0)-
62 ;-
63 int encrypt_len, encoded_len = 0, ret = 0;-
64-
65 if ((
(rsa->flags & 0x0040)Description
TRUEnever evaluated
FALSEevaluated 51 times by 5 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
rsa->flags & 0x0040)
(rsa->flags & 0x0040)Description
TRUEnever evaluated
FALSEevaluated 51 times by 5 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
&& rsa->meth->rsa_sign !=
rsa->meth->rsa...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0-51
66 ((void *)0)
rsa->meth->rsa...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
67 )-
68 return
never executed: return rsa->meth->rsa_sign(type, m, m_len, sigret, siglen, rsa);
rsa->meth->rsa_sign(type, m, m_len, sigret, siglen, rsa);
never executed: return rsa->meth->rsa_sign(type, m, m_len, sigret, siglen, rsa);
0
69-
70-
71 if (type == 114
type == 114Description
TRUEevaluated 15 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
FALSEevaluated 36 times by 5 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
) {
15-36
72-
73-
74-
75-
76-
77 if (m_len != 36
m_len != 36Description
TRUEnever evaluated
FALSEevaluated 15 times by 2 tests
Evaluated by:
  • servertest
  • ssltest
) {
0-15
78 ERR_put_error(4,(0xfff),(143),__FILE__,142);-
79 return
never executed: return 0;
0;
never executed: return 0;
0
80 }-
81 encoded_len = 36;-
82 encoded = m;-
83 }
executed 15 times by 2 tests: end of block
Executed by:
  • servertest
  • ssltest
else {
15
84 if (!encode_pkcs1(&tmps, &encoded_len, type, m, m_len)
!encode_pkcs1(...ype, m, m_len)Description
TRUEnever evaluated
FALSEevaluated 36 times by 5 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
0-36
85 goto
never executed: goto err;
err;
never executed: goto err;
0
86 encoded = tmps;-
87 }
executed 36 times by 5 tests: end of block
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
36
88 if (encoded_len > RSA_size(rsa) - 11
encoded_len > ...size(rsa) - 11Description
TRUEnever evaluated
FALSEevaluated 51 times by 5 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
) {
0-51
89 ERR_put_error(4,(0xfff),(112),__FILE__,153);-
90 goto
never executed: goto err;
err;
never executed: goto err;
0
91 }-
92 if ((
(encrypt_len =... rsa, 1)) <= 0Description
TRUEnever evaluated
FALSEevaluated 51 times by 5 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
encrypt_len = RSA_private_encrypt(encoded_len, encoded, sigret,
(encrypt_len =... rsa, 1)) <= 0Description
TRUEnever evaluated
FALSEevaluated 51 times by 5 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-51
93 rsa, 1)) <= 0
(encrypt_len =... rsa, 1)) <= 0Description
TRUEnever evaluated
FALSEevaluated 51 times by 5 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
0-51
94 goto
never executed: goto err;
err;
never executed: goto err;
0
95-
96 *siglen = encrypt_len;-
97 ret = 1;-
98-
99 err:
code before this statement executed 51 times by 5 tests: err:
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
51
100 freezero(tmps, (size_t)encoded_len);-
101 return
executed 51 times by 5 tests: return (ret);
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
(ret);
executed 51 times by 5 tests: return (ret);
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
51
102}-
103int-
104int_rsa_verify(int type, const unsigned char *m, unsigned int m_len,-
105 unsigned char *rm, size_t *prm_len, const unsigned char *sigbuf,-
106 size_t siglen, RSA *rsa)-
107{-
108 unsigned char *decrypt_buf, *encoded = -
109 ((void *)0)-
110 ;-
111 int decrypt_len, encoded_len = 0, ret = 0;-
112-
113 if (siglen != (size_t)RSA_size(rsa)
siglen != (siz...)RSA_size(rsa)Description
TRUEnever evaluated
FALSEevaluated 120 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
) {
0-120
114 ERR_put_error(4,(0xfff),(119),__FILE__,185);-
115 return
never executed: return 0;
0;
never executed: return 0;
0
116 }-
117-
118-
119 if ((
(decrypt_buf =...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 120 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
decrypt_buf = malloc(siglen)) ==
(decrypt_buf =...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 120 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
0-120
120 ((void *)0)
(decrypt_buf =...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 120 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
0-120
121 ) {-
122 ERR_put_error(4,(0xfff),((1|64)),__FILE__,191);-
123 goto
never executed: goto err;
err;
never executed: goto err;
0
124 }-
125 if ((
(decrypt_len =... rsa, 1)) <= 0Description
TRUEnever evaluated
FALSEevaluated 120 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
decrypt_len = RSA_public_decrypt((int)siglen, sigbuf, decrypt_buf,
(decrypt_len =... rsa, 1)) <= 0Description
TRUEnever evaluated
FALSEevaluated 120 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
0-120
126 rsa, 1)) <= 0
(decrypt_len =... rsa, 1)) <= 0Description
TRUEnever evaluated
FALSEevaluated 120 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
)
0-120
127 goto
never executed: goto err;
err;
never executed: goto err;
0
128-
129 if (type == 114
type == 114Description
TRUEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
FALSEevaluated 106 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
) {
14-106
130-
131-
132-
133-
134-
135 if (decrypt_len != 36
decrypt_len != 36Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
) {
0-14
136 ERR_put_error(4,(0xfff),(143),__FILE__,205);-
137 goto
never executed: goto err;
err;
never executed: goto err;
0
138 }-
139-
140 if (rm !=
rm != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
0-14
141 ((void *)0)
rm != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
0-14
142 ) {-
143 memcpy(rm, decrypt_buf, 36);-
144 *prm_len = 36;-
145 }
never executed: end of block
else {
0
146 if (m_len != 36
m_len != 36Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
) {
0-14
147 ERR_put_error(4,(0xfff),(131),__FILE__,214);-
148 goto
never executed: goto err;
err;
never executed: goto err;
0
149 }-
150 if (timingsafe_bcmp(decrypt_buf,
timingsafe_bcm...f, m, 36) != 0Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
0-14
151 m, 36) != 0
timingsafe_bcm...f, m, 36) != 0Description
TRUEnever evaluated
FALSEevaluated 14 times by 1 test
Evaluated by:
  • ssltest
) {
0-14
152 ERR_put_error(4,(0xfff),(104),__FILE__,219);-
153 goto
never executed: goto err;
err;
never executed: goto err;
0
154 }-
155 }
executed 14 times by 1 test: end of block
Executed by:
  • ssltest
14
156 } else {-
157-
158-
159-
160-
161-
162 if (rm !=
rm != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 106 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
0-106
163 ((void *)0)
rm != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 106 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
0-106
164 ) {-
165 const EVP_MD *md;-
166-
167 if ((
(md = EVP_get_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
md = EVP_get_digestbyname(OBJ_nid2sn(type))) ==
(md = EVP_get_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
168 ((void *)0)
(md = EVP_get_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
169 ) {-
170 ERR_put_error(4,(0xfff),(117),__FILE__,233);-
171 goto
never executed: goto err;
err;
never executed: goto err;
0
172 }-
173 if ((
(m_len = EVP_M..._t)decrypt_lenDescription
TRUEnever evaluated
FALSEnever evaluated
m_len = EVP_MD_size(md)) > (size_t)decrypt_len
(m_len = EVP_M..._t)decrypt_lenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
174 ERR_put_error(4,(0xfff),(143),__FILE__,237);-
175 goto
never executed: goto err;
err;
never executed: goto err;
0
176 }-
177 m = decrypt_buf + decrypt_len - m_len;-
178 }
never executed: end of block
0
179-
180-
181 if (!encode_pkcs1(&encoded, &encoded_len, type, m, m_len)
!encode_pkcs1(...ype, m, m_len)Description
TRUEnever evaluated
FALSEevaluated 106 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
)
0-106
182 goto
never executed: goto err;
err;
never executed: goto err;
0
183-
184 if (encoded_len != decrypt_len
encoded_len != decrypt_lenDescription
TRUEnever evaluated
FALSEevaluated 106 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
||
0-106
185 timingsafe_bcmp(encoded, decrypt_buf, encoded_len) != 0
timingsafe_bcm...oded_len) != 0Description
TRUEnever evaluated
FALSEevaluated 106 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
) {
0-106
186 ERR_put_error(4,(0xfff),(104),__FILE__,249);-
187 goto
never executed: goto err;
err;
never executed: goto err;
0
188 }-
189-
190-
191 if (rm !=
rm != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 106 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
0-106
192 ((void *)0)
rm != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 106 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
0-106
193 ) {-
194 memcpy(rm, m, m_len);-
195 *prm_len = m_len;-
196 }
never executed: end of block
0
197 }
executed 106 times by 3 tests: end of block
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
106
198-
199 ret = 1;-
200 err:
code before this statement executed 120 times by 3 tests: err:
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
120
201 freezero(encoded, (size_t)encoded_len);-
202 freezero(decrypt_buf, siglen);-
203 return
executed 120 times by 3 tests: return ret;
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
ret;
executed 120 times by 3 tests: return ret;
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
120
204}-
205-
206int-
207RSA_verify(int dtype, const unsigned char *m, unsigned int m_len,-
208 const unsigned char *sigbuf, unsigned int siglen, RSA *rsa)-
209{-
210 if ((
(rsa->flags & 0x0040)Description
TRUEnever evaluated
FALSEevaluated 120 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
rsa->flags & 0x0040)
(rsa->flags & 0x0040)Description
TRUEnever evaluated
FALSEevaluated 120 times by 3 tests
Evaluated by:
  • pkcs7test
  • ssltest
  • tlstest
&& rsa->meth->rsa_verify
rsa->meth->rsa_verifyDescription
TRUEnever evaluated
FALSEnever evaluated
)
0-120
211 return
never executed: return rsa->meth->rsa_verify(dtype, m, m_len, sigbuf, siglen, rsa);
rsa->meth->rsa_verify(dtype, m, m_len, sigbuf, siglen,
never executed: return rsa->meth->rsa_verify(dtype, m, m_len, sigbuf, siglen, rsa);
0
212 rsa);
never executed: return rsa->meth->rsa_verify(dtype, m, m_len, sigbuf, siglen, rsa);
0
213-
214 return
executed 120 times by 3 tests: return int_rsa_verify(dtype, m, m_len, ((void *)0) , ((void *)0) , sigbuf, siglen, rsa);
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
int_rsa_verify(dtype, m, m_len,
executed 120 times by 3 tests: return int_rsa_verify(dtype, m, m_len, ((void *)0) , ((void *)0) , sigbuf, siglen, rsa);
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
120
215 ((void *)0)
executed 120 times by 3 tests: return int_rsa_verify(dtype, m, m_len, ((void *)0) , ((void *)0) , sigbuf, siglen, rsa);
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
120
216 ,
executed 120 times by 3 tests: return int_rsa_verify(dtype, m, m_len, ((void *)0) , ((void *)0) , sigbuf, siglen, rsa);
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
120
217 ((void *)0)
executed 120 times by 3 tests: return int_rsa_verify(dtype, m, m_len, ((void *)0) , ((void *)0) , sigbuf, siglen, rsa);
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
120
218 , sigbuf, siglen, rsa);
executed 120 times by 3 tests: return int_rsa_verify(dtype, m, m_len, ((void *)0) , ((void *)0) , sigbuf, siglen, rsa);
Executed by:
  • pkcs7test
  • ssltest
  • tlstest
120
219}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2