| 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 |