EVP_CIPHER_C..._CIPHER_DATA(3ossl)
π NAME π
okay so bestie, welcome to the <EVP_CIPHER_C..._CIPHER_DATA(3ossl)> OpenSSL manual page β it's giving βroutines to inspect and modify <EVP_CIPHER_CTX> objects,β and honestly? iconic. β¨
This page covers <EVP_CIPHER_CTX_get_cipher_data> and <EVP_CIPHER_CTX_set_cipher_data>, aka the little functions that peek at and swap out cipher data. no cap, that's the whole vibe. π«Ά
π SYNOPSIS π
#include <openssl/evp.h>
void *EVP_CIPHER_CTX_get_cipher_data(const EVP_CIPHER_CTX *ctx);
void *EVP_CIPHER_CTX_set_cipher_data(EVP_CIPHER_CTX *ctx, void *cipher_data);
πΈ DESCRIPTION πΈ
π <EVP_CIPHER_CTX_get_cipher_data()> π
so <EVP_CIPHER_CTX_get_cipher_data()> returns a pointer to the cipher data relevant to <EVP_CIPHER_CTX>. literally just hands you the pointer. π«΄β¨
the contents of this data are specific to the particular implementation of the cipher. for example, this data can be used by engines to store engine specific information. very βmy data, my rulesβ energy. π
the data is automatically allocated and freed by OpenSSL, so applications and engines should not normally free this directly β but see below π (yes, that's foreshadowing).
π¦ <EVP_CIPHER_CTX_set_cipher_data()> π¦
the <EVP_CIPHER_CTX_set_cipher_data()> function lets an application or engine replace the cipher data with new data. main character move: out with the old, in with the new. π₯
a pointer to any existing cipher data is returned from this function. if the old data is no longer required, then it should be freed through a call to <OPENSSL_free()>. yes, bestie, actually free it properly β don't just ghost it. π
β RETURN VALUES β
<EVP_CIPHER_CTX_get_cipher_data()>β returns a pointer to the current cipher data for the<EVP_CIPHER_CTX>. π<EVP_CIPHER_CTX_set_cipher_data()>β returns a pointer to the old cipher data for the<EVP_CIPHER_CTX>. π
π HISTORY π
the <EVP_CIPHER_CTX_get_cipher_data()> and <EVP_CIPHER_CTX_set_cipher_data()> functions were added in OpenSSL <1.1.0>. vintage-ish, but make it slay. π
π COPYRIGHT π
Copyright <2016> The OpenSSL Project Authors. All Rights Reserved.
licensed under the Apache License <2.0> (the βLicenseβ). you may not use this file except in compliance with the License. you can obtain a copy in the file <LICENSE> in the source distribution or at <https://www.openssl.org/source/license.html>. πβ¨
and that's the page, bestie β from OpenSSL <3.5.0>, dated <2026-09-25>, signing off as <EVP_CIPHER_C..._CIPHER_DATA(3ossl)>. bye diva, go inspect those cipher contexts responsibly π
π«ΆπΈ
π¦ where this page comes from
- opensuse-leap 16.0: openssl-3-doc 3.5.0-160000.11.1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms