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 array params. 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 arrays params and params1 into a new parameter array. If params and params1 contain values with the same 'key' then the value from params1 will replace the param value. params1 wins the tiebreak, periodt. This function does a shallow copy of the parameters. Either params or params1 may be NULL.
⚠️ heads up queen: the behaviour of the merge is unpredictable if params and params1 contain 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 array params that was created using OSSL_PARAM_dup(), OSSL_PARAM_merge() or OSSL_PARAM_BLD_to_param(). If the argument to OSSL_PARAM_free() is NULL, 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 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