int
EVP_CIPHER_CTX_get_iv(const EVP_CIPHER_CTX *ctx, unsigned char *iv, size_t len)
{ if (ctx == NULL || len != EVP_CIPHER_CTX_iv_length(ctx)) return 0; if (len > EVP_MAX_IV_LENGTH) renvoie 0 ; /* verification sanitaire; ne devrait pas arriver */ /* * Ignorer entièrement la mémoire lorsque la longueur IV demandée est nulle, * puisque le pointeur iv peut être NULL ou invalide. */ if (len != 0) { if (iv == NULL) renvoie 0; memcpy(iv, ctx->iv, len); } renvoie 1 ; }
int
EVP_CIPHER_CTX_set_iv(EVP_CIPHER_CTX *ctx, const unsigned char *iv, size_t len)
{ if (ctx == NULL || len != EVP_CIPHER_CTX_iv_length(ctx)) return 0; if (len > EVP_MAX_IV_LENGTH) renvoie 0 ; /* verification sanitaire; ne devrait pas arriver */ /* * Ignorer entièrement la mémoire lorsque la longueur IV demandée est nulle, * puisque le pointeur iv peut être NULL ou invalide. */ if (len != 0) { if (iv == NULL) renvoie 0; memcpy(ctx->iv, iv, len); } renvoie 1 ; }