Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/pkcs12/p12_decr.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | unsigned char *PKCS12_pbe_crypt(const X509_ALGOR *algor, | - | ||||||||||||
2 | const char *pass, int passlen, | - | ||||||||||||
3 | const unsigned char *in, int inlen, | - | ||||||||||||
4 | unsigned char **data, int *datalen, int en_de) | - | ||||||||||||
5 | { | - | ||||||||||||
6 | unsigned char *out = | - | ||||||||||||
7 | ((void *)0) | - | ||||||||||||
8 | ; | - | ||||||||||||
9 | int outlen, i; | - | ||||||||||||
10 | EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new(); | - | ||||||||||||
11 | - | |||||||||||||
12 | if (ctx ==
| 0 | ||||||||||||
13 | ((void *)0)
| 0 | ||||||||||||
14 | ) { | - | ||||||||||||
15 | ERR_put_error(35,(119),((1|64)),__FILE__,33); | - | ||||||||||||
16 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||
17 | } | - | ||||||||||||
18 | - | |||||||||||||
19 | - | |||||||||||||
20 | if (!EVP_PBE_CipherInit(algor->algorithm, pass, passlen,
| 0 | ||||||||||||
21 | algor->parameter, ctx, en_de)
| 0 | ||||||||||||
22 | ERR_put_error(35,(119),(115),__FILE__,41) | - | ||||||||||||
23 | ; | - | ||||||||||||
24 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||
25 | } | - | ||||||||||||
26 | - | |||||||||||||
27 | if ((
| 0 | ||||||||||||
28 | ==
| 0 | ||||||||||||
29 | ((void *)0)
| 0 | ||||||||||||
30 | ) { | - | ||||||||||||
31 | ERR_put_error(35,(119),((1|64)),__FILE__,47); | - | ||||||||||||
32 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||
33 | } | - | ||||||||||||
34 | - | |||||||||||||
35 | if (!EVP_CipherUpdate(ctx, out, &i, in, inlen)
| 0 | ||||||||||||
36 | CRYPTO_free(out, __FILE__, 52); | - | ||||||||||||
37 | out = | - | ||||||||||||
38 | ((void *)0) | - | ||||||||||||
39 | ; | - | ||||||||||||
40 | ERR_put_error(35,(119),(6),__FILE__,54); | - | ||||||||||||
41 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||
42 | } | - | ||||||||||||
43 | - | |||||||||||||
44 | outlen = i; | - | ||||||||||||
45 | if (!EVP_CipherFinal_ex(ctx, out + i, &i)
| 0 | ||||||||||||
46 | CRYPTO_free(out, __FILE__, 60); | - | ||||||||||||
47 | out = | - | ||||||||||||
48 | ((void *)0) | - | ||||||||||||
49 | ; | - | ||||||||||||
50 | ERR_put_error(35,(119),(116),__FILE__,63) | - | ||||||||||||
51 | ; | - | ||||||||||||
52 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||
53 | } | - | ||||||||||||
54 | outlen += i; | - | ||||||||||||
55 | if (datalen
| 0 | ||||||||||||
56 | * never executed: datalen = outlen;*datalen = outlen; never executed: *datalen = outlen; | 0 | ||||||||||||
57 | if (data
| 0 | ||||||||||||
58 | * never executed: data = out;*data = out; never executed: *data = out; | 0 | ||||||||||||
59 | err: code before this statement never executed: err: | 0 | ||||||||||||
60 | EVP_CIPHER_CTX_free(ctx); | - | ||||||||||||
61 | return never executed: out;return out; never executed: return out; | 0 | ||||||||||||
62 | - | |||||||||||||
63 | } | - | ||||||||||||
64 | - | |||||||||||||
65 | - | |||||||||||||
66 | - | |||||||||||||
67 | - | |||||||||||||
68 | - | |||||||||||||
69 | - | |||||||||||||
70 | void *PKCS12_item_decrypt_d2i(const X509_ALGOR *algor, const ASN1_ITEM *it, | - | ||||||||||||
71 | const char *pass, int passlen, | - | ||||||||||||
72 | const ASN1_OCTET_STRING *oct, int zbuf) | - | ||||||||||||
73 | { | - | ||||||||||||
74 | unsigned char *out; | - | ||||||||||||
75 | const unsigned char *p; | - | ||||||||||||
76 | void *ret; | - | ||||||||||||
77 | int outlen; | - | ||||||||||||
78 | - | |||||||||||||
79 | if (!PKCS12_pbe_crypt(algor, pass, passlen, oct->data, oct->length,
| 0 | ||||||||||||
80 | &out, &outlen, 0)
| 0 | ||||||||||||
81 | ERR_put_error(35,(106),(117),__FILE__,94) | - | ||||||||||||
82 | ; | - | ||||||||||||
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 | p = out; | - | ||||||||||||
88 | ret = ASN1_item_d2i( | - | ||||||||||||
89 | ((void *)0) | - | ||||||||||||
90 | , &p, outlen, it); | - | ||||||||||||
91 | if (zbuf
| 0 | ||||||||||||
92 | OPENSSL_cleanse(out, outlen); never executed: OPENSSL_cleanse(out, outlen); | 0 | ||||||||||||
93 | if (!ret
| 0 | ||||||||||||
94 | ERR_put_error(35,(106),(101),__FILE__,114); never executed: ERR_put_error(35,(106),(101),__FILE__,114); | 0 | ||||||||||||
95 | CRYPTO_free(out, __FILE__, 115); | - | ||||||||||||
96 | return never executed: ret;return ret; never executed: return ret; | 0 | ||||||||||||
97 | } | - | ||||||||||||
98 | - | |||||||||||||
99 | - | |||||||||||||
100 | - | |||||||||||||
101 | - | |||||||||||||
102 | - | |||||||||||||
103 | - | |||||||||||||
104 | ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt(X509_ALGOR *algor, | - | ||||||||||||
105 | const ASN1_ITEM *it, | - | ||||||||||||
106 | const char *pass, int passlen, | - | ||||||||||||
107 | void *obj, int zbuf) | - | ||||||||||||
108 | { | - | ||||||||||||
109 | ASN1_OCTET_STRING *oct = | - | ||||||||||||
110 | ((void *)0) | - | ||||||||||||
111 | ; | - | ||||||||||||
112 | unsigned char *in = | - | ||||||||||||
113 | ((void *)0) | - | ||||||||||||
114 | ; | - | ||||||||||||
115 | int inlen; | - | ||||||||||||
116 | - | |||||||||||||
117 | if ((
| 0 | ||||||||||||
118 | ((void *)0)
| 0 | ||||||||||||
119 | ) { | - | ||||||||||||
120 | ERR_put_error(35,(108),((1|64)),__FILE__,134); | - | ||||||||||||
121 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||
122 | } | - | ||||||||||||
123 | inlen = ASN1_item_i2d(obj, &in, it); | - | ||||||||||||
124 | if (!in
| 0 | ||||||||||||
125 | ERR_put_error(35,(108),(102),__FILE__,139); | - | ||||||||||||
126 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||
127 | } | - | ||||||||||||
128 | if (!PKCS12_pbe_crypt(algor, pass, passlen, in, inlen, &oct->data,
| 0 | ||||||||||||
129 | &oct->length, 1)
| 0 | ||||||||||||
130 | ERR_put_error(35,(108),(103),__FILE__,144); | - | ||||||||||||
131 | CRYPTO_free(in, __FILE__, 145); | - | ||||||||||||
132 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||
133 | } | - | ||||||||||||
134 | if (zbuf
| 0 | ||||||||||||
135 | OPENSSL_cleanse(in, inlen); never executed: OPENSSL_cleanse(in, inlen); | 0 | ||||||||||||
136 | CRYPTO_free(in, __FILE__, 150); | - | ||||||||||||
137 | return never executed: oct;return oct; never executed: return oct; | 0 | ||||||||||||
138 | err: | - | ||||||||||||
139 | ASN1_OCTET_STRING_free(oct); | - | ||||||||||||
140 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||
141 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||
142 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||
143 | } | - | ||||||||||||
Switch to Source code | Preprocessed file |