Fix ctr mode properly this time....
This commit is contained in:
parent
081464fa14
commit
2948fbab3a
@ -206,14 +206,17 @@ skip_to_init:
|
|||||||
ctx->num = 0;
|
ctx->num = 0;
|
||||||
|
|
||||||
case EVP_CIPH_CBC_MODE:
|
case EVP_CIPH_CBC_MODE:
|
||||||
case EVP_CIPH_CTR_MODE:
|
|
||||||
|
|
||||||
OPENSSL_assert(EVP_CIPHER_CTX_iv_length(ctx) <=
|
OPENSSL_assert(EVP_CIPHER_CTX_iv_length(ctx) <=
|
||||||
(int)sizeof(ctx->iv));
|
(int)sizeof(ctx->iv));
|
||||||
if(iv) memcpy(ctx->oiv, iv, EVP_CIPHER_CTX_iv_length(ctx));
|
if(iv) memcpy(ctx->oiv, iv, EVP_CIPHER_CTX_iv_length(ctx));
|
||||||
|
memcpy(ctx->iv, ctx->oiv, EVP_CIPHER_CTX_iv_length(ctx));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case EVP_CIPH_CTR_MODE:
|
||||||
/* Don't reuse IV for CTR mode */
|
/* Don't reuse IV for CTR mode */
|
||||||
if (EVP_CIPHER_CTX_mode(ctx) != EVP_CIPH_CTR_MODE)
|
if(iv)
|
||||||
memcpy(ctx->iv, ctx->oiv, EVP_CIPHER_CTX_iv_length(ctx));
|
memcpy(ctx->iv, iv, EVP_CIPHER_CTX_iv_length(ctx));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user