Reduce version skew: trivia (I hope).
This commit is contained in:
@@ -397,7 +397,8 @@ int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp,
|
||||
goto err;
|
||||
/* The 'iv' is used as the iv and as a salt. It is
|
||||
* NOT taken from the BytesToKey function */
|
||||
EVP_BytesToKey(enc,EVP_md5(),iv,kstr,klen,1,key,NULL);
|
||||
if (!EVP_BytesToKey(enc,EVP_md5(),iv,kstr,klen,1,key,NULL))
|
||||
goto err;
|
||||
|
||||
if (kstr == (unsigned char *)buf) OPENSSL_cleanse(buf,PEM_BUFSIZE);
|
||||
|
||||
@@ -409,12 +410,15 @@ int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp,
|
||||
/* k=strlen(buf); */
|
||||
|
||||
EVP_CIPHER_CTX_init(&ctx);
|
||||
EVP_EncryptInit_ex(&ctx,enc,NULL,key,iv);
|
||||
EVP_EncryptUpdate(&ctx,data,&j,data,i);
|
||||
EVP_EncryptFinal_ex(&ctx,&(data[j]),&i);
|
||||
ret = 1;
|
||||
if (!EVP_EncryptInit_ex(&ctx,enc,NULL,key,iv)
|
||||
|| !EVP_EncryptUpdate(&ctx,data,&j,data,i)
|
||||
|| !EVP_EncryptFinal_ex(&ctx,&(data[j]),&i))
|
||||
ret = 0;
|
||||
EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
if (ret == 0)
|
||||
goto err;
|
||||
i+=j;
|
||||
ret=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -462,14 +466,17 @@ int PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long *plen,
|
||||
ebcdic2ascii(buf, buf, klen);
|
||||
#endif
|
||||
|
||||
EVP_BytesToKey(cipher->cipher,EVP_md5(),&(cipher->iv[0]),
|
||||
(unsigned char *)buf,klen,1,key,NULL);
|
||||
if (!EVP_BytesToKey(cipher->cipher,EVP_md5(),&(cipher->iv[0]),
|
||||
(unsigned char *)buf,klen,1,key,NULL))
|
||||
return 0;
|
||||
|
||||
j=(int)len;
|
||||
EVP_CIPHER_CTX_init(&ctx);
|
||||
EVP_DecryptInit_ex(&ctx,cipher->cipher,NULL, key,&(cipher->iv[0]));
|
||||
EVP_DecryptUpdate(&ctx,data,&i,data,j);
|
||||
o=EVP_DecryptFinal_ex(&ctx,&(data[i]),&j);
|
||||
o = EVP_DecryptInit_ex(&ctx,cipher->cipher,NULL, key,&(cipher->iv[0]));
|
||||
if (o)
|
||||
o = EVP_DecryptUpdate(&ctx,data,&i,data,j);
|
||||
if (o)
|
||||
o = EVP_DecryptFinal_ex(&ctx,&(data[i]),&j);
|
||||
EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
OPENSSL_cleanse((char *)buf,sizeof(buf));
|
||||
OPENSSL_cleanse((char *)key,sizeof(key));
|
||||
|
||||
Reference in New Issue
Block a user