OSSL_PARAM_DUP(3ossl)
β¨ OSSL_PARAM_DUP(3ossl) β¨
okay bestie, welcome to the OpenSSL manual page for OSSL_PARAM_dup, OSSL_PARAM_merge, and OSSL_PARAM_free β aka the OSSL_PARAM array copy functions. sit down, grab a strawberry π, we're doing parameter arrays today and honestly? it's giving useful.
π NAME π
OSSL_PARAM_dup, OSSL_PARAM_merge, OSSL_PARAM_free β the OSSL_PARAM array copy functions, no cap.
π SYNOPSIS π
#include <openssl/params.h>
OSSL_PARAM *OSSL_PARAM_dup(const OSSL_PARAM *params);
OSSL_PARAM *OSSL_PARAM_merge(const OSSL_PARAM *params, const OSSL_PARAM *params1);
void OSSL_PARAM_free(OSSL_PARAM *params);
π¦ DESCRIPTION π¦
So. Algorithm parameters can be exported/imported from/to providers using arrays of OSSL_PARAM(3). π The following utility functions let you duplicate those parameters and merge them with other OSSL_PARAM(3) arrays to help with that whole process. it's the little support squad of the params world, fr fr.
OSSL_PARAM_dup()β duplicates the parameter arrayparams. and bestie, listen: this function does a deep copy of the data. π like, the whole thing. every byte, showing up. not a vibe-share, an actual copy.OSSL_PARAM_merge()β merges the parameter arraysparamsandparams1into a new parameter array. Ifparamsandparams1contain values with the same'key'then the value fromparams1will replace the param value. params1 wins the tiebreak, periodt. This function does a shallow copy of the parameters. Eitherparamsorparams1may beNULL.
β οΈ heads up queen: the behaviour of the merge is unpredictable ifparamsandparams1contain the same key, and there are multiple entries within either array that have the same key. like, don't do that. that's chaos energy and not the cute kind. π
OSSL_PARAM_free()β frees the parameter arrayparamsthat was created usingOSSL_PARAM_dup(),OSSL_PARAM_merge()orOSSL_PARAM_BLD_to_param(). If the argument toOSSL_PARAM_free()isNULL, nothing is done. πΈ super chill about it, no drama, it just moves on with its day.
β RETURN VALUES β
The functions OSSL_PARAM_dup() and OSSL_PARAM_merge() return a newly allocated OSSL_PARAM(3) array, or NULL if there was an error. and if both parameters are NULL then NULL is returned. π yeah, nothing in, nothing out, that's the deal.
π SEE ALSO π
OSSL_PARAM(3), OSSL_PARAM_BLD(3) β go read these next bestie, iykyk. π«Ά
π HISTORY π
The functions were added in OpenSSL 3.0. so they're not ancient relics, they're modern icons. β¨
πΈ COPYRIGHT πΈ
Copyright 2021-2024 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 whole page, bestie!! π this was OpenSSL 3.5.9, dated 2026-09-29, for the OSSL_PARAM_DUP(3ossl) page β go forth and duplicate responsibly, mwah π
π
π¦ where this page comes from
- fedora 43: openssl-devel 1:3.5.9-1.fc43 Β· Apache-2.0
- fedora 43: openssl-devel 1:3.5.9-1.fc43 Β· Apache-2.0
- fedora 44: openssl-devel 1:3.5.9-1.fc44 Β· Apache-2.0
- fedora 44: openssl-devel 1:3.5.9-1.fc44 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms