diff options
| author | beck <> | 2000-12-15 02:58:47 +0000 |
|---|---|---|
| committer | beck <> | 2000-12-15 02:58:47 +0000 |
| commit | 9200bb13d15da4b2a23e6bc92c20e95b74aa2113 (patch) | |
| tree | 5c52d628ec1e34be76e7ef2a4235d248b7c44d24 /src/lib/libcrypto/pkcs12/p12_decr.c | |
| parent | e131d25072e3d4197ba4b9bcc0d1b27d34d6488d (diff) | |
| download | openbsd-9200bb13d15da4b2a23e6bc92c20e95b74aa2113.tar.gz openbsd-9200bb13d15da4b2a23e6bc92c20e95b74aa2113.tar.bz2 openbsd-9200bb13d15da4b2a23e6bc92c20e95b74aa2113.zip | |
openssl-engine-0.9.6 merge
Diffstat (limited to 'src/lib/libcrypto/pkcs12/p12_decr.c')
| -rw-r--r-- | src/lib/libcrypto/pkcs12/p12_decr.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/lib/libcrypto/pkcs12/p12_decr.c b/src/lib/libcrypto/pkcs12/p12_decr.c index 4be44eac50..8cd7e2f414 100644 --- a/src/lib/libcrypto/pkcs12/p12_decr.c +++ b/src/lib/libcrypto/pkcs12/p12_decr.c | |||
| @@ -65,7 +65,7 @@ | |||
| 65 | 65 | ||
| 66 | 66 | ||
| 67 | /* Encrypt/Decrypt a buffer based on password and algor, result in a | 67 | /* Encrypt/Decrypt a buffer based on password and algor, result in a |
| 68 | * Malloc'ed buffer | 68 | * OPENSSL_malloc'ed buffer |
| 69 | */ | 69 | */ |
| 70 | 70 | ||
| 71 | unsigned char * PKCS12_pbe_crypt (X509_ALGOR *algor, const char *pass, | 71 | unsigned char * PKCS12_pbe_crypt (X509_ALGOR *algor, const char *pass, |
| @@ -83,7 +83,7 @@ unsigned char * PKCS12_pbe_crypt (X509_ALGOR *algor, const char *pass, | |||
| 83 | return NULL; | 83 | return NULL; |
| 84 | } | 84 | } |
| 85 | 85 | ||
| 86 | if(!(out = Malloc (inlen + EVP_CIPHER_CTX_block_size(&ctx)))) { | 86 | if(!(out = OPENSSL_malloc (inlen + EVP_CIPHER_CTX_block_size(&ctx)))) { |
| 87 | PKCS12err(PKCS12_F_PKCS12_PBE_CRYPT,ERR_R_MALLOC_FAILURE); | 87 | PKCS12err(PKCS12_F_PKCS12_PBE_CRYPT,ERR_R_MALLOC_FAILURE); |
| 88 | return NULL; | 88 | return NULL; |
| 89 | } | 89 | } |
| @@ -91,7 +91,7 @@ unsigned char * PKCS12_pbe_crypt (X509_ALGOR *algor, const char *pass, | |||
| 91 | EVP_CipherUpdate (&ctx, out, &i, in, inlen); | 91 | EVP_CipherUpdate (&ctx, out, &i, in, inlen); |
| 92 | outlen = i; | 92 | outlen = i; |
| 93 | if(!EVP_CipherFinal (&ctx, out + i, &i)) { | 93 | if(!EVP_CipherFinal (&ctx, out + i, &i)) { |
| 94 | Free (out); | 94 | OPENSSL_free (out); |
| 95 | PKCS12err(PKCS12_F_PKCS12_PBE_CRYPT,PKCS12_R_PKCS12_CIPHERFINAL_ERROR); | 95 | PKCS12err(PKCS12_F_PKCS12_PBE_CRYPT,PKCS12_R_PKCS12_CIPHERFINAL_ERROR); |
| 96 | return NULL; | 96 | return NULL; |
| 97 | } | 97 | } |
| @@ -109,7 +109,7 @@ unsigned char * PKCS12_pbe_crypt (X509_ALGOR *algor, const char *pass, | |||
| 109 | */ | 109 | */ |
| 110 | 110 | ||
| 111 | char * PKCS12_decrypt_d2i (X509_ALGOR *algor, char * (*d2i)(), | 111 | char * PKCS12_decrypt_d2i (X509_ALGOR *algor, char * (*d2i)(), |
| 112 | void (*free_func)(), const char *pass, int passlen, | 112 | void (*free_func)(void *), const char *pass, int passlen, |
| 113 | ASN1_OCTET_STRING *oct, int seq) | 113 | ASN1_OCTET_STRING *oct, int seq) |
| 114 | { | 114 | { |
| 115 | unsigned char *out, *p; | 115 | unsigned char *out, *p; |
| @@ -139,7 +139,7 @@ char * PKCS12_decrypt_d2i (X509_ALGOR *algor, char * (*d2i)(), | |||
| 139 | else ret = d2i(NULL, &p, outlen); | 139 | else ret = d2i(NULL, &p, outlen); |
| 140 | if (seq & 2) memset(out, 0, outlen); | 140 | if (seq & 2) memset(out, 0, outlen); |
| 141 | if(!ret) PKCS12err(PKCS12_F_PKCS12_DECRYPT_D2I,PKCS12_R_DECODE_ERROR); | 141 | if(!ret) PKCS12err(PKCS12_F_PKCS12_DECRYPT_D2I,PKCS12_R_DECODE_ERROR); |
| 142 | Free (out); | 142 | OPENSSL_free (out); |
| 143 | return ret; | 143 | return ret; |
| 144 | } | 144 | } |
| 145 | 145 | ||
| @@ -166,7 +166,7 @@ ASN1_OCTET_STRING *PKCS12_i2d_encrypt (X509_ALGOR *algor, int (*i2d)(), | |||
| 166 | PKCS12err(PKCS12_F_PKCS12_I2D_ENCRYPT,PKCS12_R_ENCODE_ERROR); | 166 | PKCS12err(PKCS12_F_PKCS12_I2D_ENCRYPT,PKCS12_R_ENCODE_ERROR); |
| 167 | return NULL; | 167 | return NULL; |
| 168 | } | 168 | } |
| 169 | if (!(in = Malloc (inlen))) { | 169 | if (!(in = OPENSSL_malloc (inlen))) { |
| 170 | PKCS12err(PKCS12_F_PKCS12_I2D_ENCRYPT,ERR_R_MALLOC_FAILURE); | 170 | PKCS12err(PKCS12_F_PKCS12_I2D_ENCRYPT,ERR_R_MALLOC_FAILURE); |
| 171 | return NULL; | 171 | return NULL; |
| 172 | } | 172 | } |
| @@ -177,9 +177,11 @@ ASN1_OCTET_STRING *PKCS12_i2d_encrypt (X509_ALGOR *algor, int (*i2d)(), | |||
| 177 | if (!PKCS12_pbe_crypt (algor, pass, passlen, in, inlen, &oct->data, | 177 | if (!PKCS12_pbe_crypt (algor, pass, passlen, in, inlen, &oct->data, |
| 178 | &oct->length, 1)) { | 178 | &oct->length, 1)) { |
| 179 | PKCS12err(PKCS12_F_PKCS12_I2D_ENCRYPT,PKCS12_R_ENCRYPT_ERROR); | 179 | PKCS12err(PKCS12_F_PKCS12_I2D_ENCRYPT,PKCS12_R_ENCRYPT_ERROR); |
| 180 | Free(in); | 180 | OPENSSL_free(in); |
| 181 | return NULL; | 181 | return NULL; |
| 182 | } | 182 | } |
| 183 | Free (in); | 183 | OPENSSL_free (in); |
| 184 | return oct; | 184 | return oct; |
| 185 | } | 185 | } |
| 186 | |||
| 187 | IMPLEMENT_PKCS12_STACK_OF(PKCS7) | ||
