OpenCoverage

p12_add.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/pkcs12/p12_add.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5PKCS12_SAFEBAG *-
6PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM *it, int nid1, int nid2)-
7{-
8 PKCS12_BAGS *bag;-
9 PKCS12_SAFEBAG *safebag;-
10-
11 if (!(bag = PKCS12_BAGS_new())
!(bag = PKCS12_BAGS_new())Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
12 ERR_put_error(35,(0xfff),((1|64)),__FILE__,73);-
13 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
14 ((void *)0)
never executed: return ((void *)0) ;
0
15 ;
never executed: return ((void *)0) ;
0
16 }-
17 bag->type = OBJ_nid2obj(nid1);-
18 if (!ASN1_item_pack(obj, it, &bag->value.octet)
!ASN1_item_pac...->value.octet)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
19 ERR_put_error(35,(0xfff),((1|64)),__FILE__,78);-
20 PKCS12_BAGS_free(bag);-
21 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
22 ((void *)0)
never executed: return ((void *)0) ;
0
23 ;
never executed: return ((void *)0) ;
0
24 }-
25 if (!(safebag = PKCS12_SAFEBAG_new())
!(safebag = PK...SAFEBAG_new())Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
26 ERR_put_error(35,(0xfff),((1|64)),__FILE__,83);-
27 PKCS12_BAGS_free(bag);-
28 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
29 ((void *)0)
never executed: return ((void *)0) ;
0
30 ;
never executed: return ((void *)0) ;
0
31 }-
32 safebag->value.bag = bag;-
33 safebag->type = OBJ_nid2obj(nid2);-
34 return
never executed: return safebag;
safebag;
never executed: return safebag;
0
35}-
36-
37-
38-
39PKCS12_SAFEBAG *-
40PKCS12_MAKE_KEYBAG(PKCS8_PRIV_KEY_INFO *p8)-
41{-
42 PKCS12_SAFEBAG *bag;-
43-
44 if (!(bag = PKCS12_SAFEBAG_new())
!(bag = PKCS12_SAFEBAG_new())Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
45 ERR_put_error(35,(0xfff),((1|64)),__FILE__,100);-
46 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
47 ((void *)0)
never executed: return ((void *)0) ;
0
48 ;
never executed: return ((void *)0) ;
0
49 }-
50 bag->type = OBJ_nid2obj(150);-
51 bag->value.keybag = p8;-
52 return
never executed: return bag;
bag;
never executed: return bag;
0
53}-
54-
55-
56-
57PKCS12_SAFEBAG *-
58PKCS12_MAKE_SHKEYBAG(int pbe_nid, const char *pass, int passlen,-
59 unsigned char *salt, int saltlen, int iter, PKCS8_PRIV_KEY_INFO *p8)-
60{-
61 PKCS12_SAFEBAG *bag;-
62 const EVP_CIPHER *pbe_ciph;-
63-
64-
65 if (!(bag = PKCS12_SAFEBAG_new())
!(bag = PKCS12_SAFEBAG_new())Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
66 ERR_put_error(35,(0xfff),((1|64)),__FILE__,119);-
67 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
68 ((void *)0)
never executed: return ((void *)0) ;
0
69 ;
never executed: return ((void *)0) ;
0
70 }-
71-
72 bag->type = OBJ_nid2obj(151);-
73-
74 pbe_ciph = EVP_get_cipherbyname(OBJ_nid2sn(pbe_nid));-
75-
76 if (pbe_ciph
pbe_ciphDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
77 pbe_nid = -1;
never executed: pbe_nid = -1;
0
78-
79 if (!(bag->value.shkeybag = PKCS8_encrypt(pbe_nid, pbe_ciph, pass,
!(bag->value.s...en, iter, p8))Description
TRUEnever evaluated
FALSEnever evaluated
0
80 passlen, salt, saltlen, iter, p8))
!(bag->value.s...en, iter, p8))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
81 ERR_put_error(35,(0xfff),((1|64)),__FILE__,132);-
82 PKCS12_SAFEBAG_free(bag);-
83 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
84 ((void *)0)
never executed: return ((void *)0) ;
0
85 ;
never executed: return ((void *)0) ;
0
86 }-
87-
88 return
never executed: return bag;
bag;
never executed: return bag;
0
89}-
90-
91-
92PKCS7 *-
93PKCS12_pack_p7data(struct stack_st_PKCS12_SAFEBAG *sk)-
94{-
95 PKCS7 *p7;-
96-
97 if (!(p7 = PKCS7_new())
!(p7 = PKCS7_new())Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
98 ERR_put_error(35,(0xfff),((1|64)),__FILE__,147);-
99 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
100 ((void *)0)
never executed: return ((void *)0) ;
0
101 ;
never executed: return ((void *)0) ;
0
102 }-
103 p7->type = OBJ_nid2obj(21);-
104 if (!(p7->d.data = ASN1_OCTET_STRING_new())
!(p7->d.data =..._STRING_new())Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
105 ERR_put_error(35,(0xfff),((1|64)),__FILE__,152);-
106 goto
never executed: goto err;
err;
never executed: goto err;
0
107 }-
108-
109 if (!ASN1_item_pack(sk, &PKCS12_SAFEBAGS_it, &p7->d.data)
!ASN1_item_pac..., &p7->d.data)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
110 ERR_put_error(35,(0xfff),(100),__FILE__,157);-
111 goto
never executed: goto err;
err;
never executed: goto err;
0
112 }-
113 return
never executed: return p7;
p7;
never executed: return p7;
0
114-
115err:-
116 PKCS7_free(p7);-
117 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
118 ((void *)0)
never executed: return ((void *)0) ;
0
119 ;
never executed: return ((void *)0) ;
0
120}-
121-
122-
123struct stack_st_PKCS12_SAFEBAG *-
124PKCS12_unpack_p7data(PKCS7 *p7)-
125{-
126 if (!(OBJ_obj2nid((p7)->type) == 21)
!(OBJ_obj2nid(...->type) == 21)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
127 ERR_put_error(35,(0xfff),(121),__FILE__,172);-
128 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
129 ((void *)0)
never executed: return ((void *)0) ;
0
130 ;
never executed: return ((void *)0) ;
0
131 }-
132 return
never executed: return ASN1_item_unpack(p7->d.data, &PKCS12_SAFEBAGS_it);
ASN1_item_unpack(p7->d.data, &PKCS12_SAFEBAGS_it);
never executed: return ASN1_item_unpack(p7->d.data, &PKCS12_SAFEBAGS_it);
0
133}-
134-
135-
136-
137PKCS7 *-
138PKCS12_pack_p7encdata(int pbe_nid, const char *pass, int passlen,-
139 unsigned char *salt, int saltlen, int iter, struct stack_st_PKCS12_SAFEBAG *bags)-
140{-
141 PKCS7 *p7;-
142 X509_ALGOR *pbe;-
143 const EVP_CIPHER *pbe_ciph;-
144-
145 if (!(p7 = PKCS7_new())
!(p7 = PKCS7_new())Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
146 ERR_put_error(35,(0xfff),((1|64)),__FILE__,189);-
147 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
148 ((void *)0)
never executed: return ((void *)0) ;
0
149 ;
never executed: return ((void *)0) ;
0
150 }-
151 if (!PKCS7_set_type(p7, 26)
!PKCS7_set_type(p7, 26)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
152 ERR_put_error(35,(0xfff),(120),__FILE__,193);-
153 goto
never executed: goto err;
err;
never executed: goto err;
0
154 }-
155-
156 pbe_ciph = EVP_get_cipherbyname(OBJ_nid2sn(pbe_nid));-
157-
158 if (pbe_ciph
pbe_ciphDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
159 pbe = PKCS5_pbe2_set(pbe_ciph, iter, salt, saltlen);
never executed: pbe = PKCS5_pbe2_set(pbe_ciph, iter, salt, saltlen);
0
160 else-
161 pbe = PKCS5_pbe_set(pbe_nid, iter, salt, saltlen);
never executed: pbe = PKCS5_pbe_set(pbe_nid, iter, salt, saltlen);
0
162-
163 if (!pbe
!pbeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
164 ERR_put_error(35,(0xfff),((1|64)),__FILE__,205);-
165 goto
never executed: goto err;
err;
never executed: goto err;
0
166 }-
167 X509_ALGOR_free(p7->d.encrypted->enc_data->algorithm);-
168 p7->d.encrypted->enc_data->algorithm = pbe;-
169 ASN1_OCTET_STRING_free(p7->d.encrypted->enc_data->enc_data);-
170 if (!(p7->d.encrypted->enc_data->enc_data = PKCS12_item_i2d_encrypt(
!(p7->d.encryp...len, bags, 1))Description
TRUEnever evaluated
FALSEnever evaluated
0
171 pbe, &PKCS12_SAFEBAGS_it, pass, passlen, bags, 1))
!(p7->d.encryp...len, bags, 1))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
172 ERR_put_error(35,(0xfff),(103),__FILE__,213);-
173 goto
never executed: goto err;
err;
never executed: goto err;
0
174 }-
175-
176 return
never executed: return p7;
p7;
never executed: return p7;
0
177-
178err:-
179 PKCS7_free(p7);-
180 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
181 ((void *)0)
never executed: return ((void *)0) ;
0
182 ;
never executed: return ((void *)0) ;
0
183}-
184-
185struct stack_st_PKCS12_SAFEBAG *-
186PKCS12_unpack_p7encdata(PKCS7 *p7, const char *pass, int passlen)-
187{-
188 if (!(OBJ_obj2nid((p7)->type) == 26)
!(OBJ_obj2nid(...->type) == 26)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
189 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
190 ((void *)0)
never executed: return ((void *)0) ;
0
191 ;
never executed: return ((void *)0) ;
0
192 return
never executed: return PKCS12_item_decrypt_d2i(p7->d.encrypted->enc_data->algorithm, &PKCS12_SAFEBAGS_it, pass, passlen, p7->d.encrypted->enc_data->enc_data, 1);
PKCS12_item_decrypt_d2i(p7->d.encrypted->enc_data->algorithm,
never executed: return PKCS12_item_decrypt_d2i(p7->d.encrypted->enc_data->algorithm, &PKCS12_SAFEBAGS_it, pass, passlen, p7->d.encrypted->enc_data->enc_data, 1);
0
193 &PKCS12_SAFEBAGS_it, pass, passlen,
never executed: return PKCS12_item_decrypt_d2i(p7->d.encrypted->enc_data->algorithm, &PKCS12_SAFEBAGS_it, pass, passlen, p7->d.encrypted->enc_data->enc_data, 1);
0
194 p7->d.encrypted->enc_data->enc_data, 1);
never executed: return PKCS12_item_decrypt_d2i(p7->d.encrypted->enc_data->algorithm, &PKCS12_SAFEBAGS_it, pass, passlen, p7->d.encrypted->enc_data->enc_data, 1);
0
195}-
196-
197PKCS8_PRIV_KEY_INFO *-
198PKCS12_decrypt_skey(const PKCS12_SAFEBAG *bag, const char *pass, int passlen)-
199{-
200 return
never executed: return PKCS8_decrypt(bag->value.shkeybag, pass, passlen);
PKCS8_decrypt(bag->value.shkeybag, pass, passlen);
never executed: return PKCS8_decrypt(bag->value.shkeybag, pass, passlen);
0
201}-
202-
203int-
204PKCS12_pack_authsafes(PKCS12 *p12, struct stack_st_PKCS7 *safes)-
205{-
206 if (ASN1_item_pack(safes, &PKCS12_AUTHSAFES_it,
ASN1_item_pack...safes->d.data)Description
TRUEnever evaluated
FALSEnever evaluated
0
207 &p12->authsafes->d.data)
ASN1_item_pack...safes->d.data)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
208 return
never executed: return 1;
1;
never executed: return 1;
0
209 return
never executed: return 0;
0;
never executed: return 0;
0
210}-
211-
212struct stack_st_PKCS7 *-
213PKCS12_unpack_authsafes(const PKCS12 *p12)-
214{-
215 if (!(OBJ_obj2nid((p12->authsafes)->type) == 21)
!(OBJ_obj2nid(...->type) == 21)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
216 ERR_put_error(35,(0xfff),(121),__FILE__,253);-
217 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
218 ((void *)0)
never executed: return ((void *)0) ;
0
219 ;
never executed: return ((void *)0) ;
0
220 }-
221 return
never executed: return ASN1_item_unpack(p12->authsafes->d.data, &PKCS12_AUTHSAFES_it);
ASN1_item_unpack(p12->authsafes->d.data,
never executed: return ASN1_item_unpack(p12->authsafes->d.data, &PKCS12_AUTHSAFES_it);
0
222 &PKCS12_AUTHSAFES_it);
never executed: return ASN1_item_unpack(p12->authsafes->d.data, &PKCS12_AUTHSAFES_it);
0
223}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2