OPENSSL_cleanse(key->K, sizeof(key->K));
OPENSSL_free(key->pub_encoding);
OPENSSL_free(key->priv_encoding);
- OPENSSL_free(key->propq);
OPENSSL_free(key);
}
if (ret != NULL) {
ret->libctx = src->libctx;
ret->params = src->params;
- if (src->propq != NULL) {
- if ((ret->propq = OPENSSL_strdup(src->propq)) == NULL)
- goto err;
- }
if ((selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) {
if (src->pub_encoding != NULL) {
/* The public components are present if the private key is present */
if (pub != NULL
&& (pub_data_len != ossl_ml_dsa_key_get_pub_len(key)
|| memcmp(ossl_ml_dsa_key_get_pub(key), pub_data,
- pub_data_len) == 0))
+ pub_data_len) != 0))
return 0;
}
}
{
return key->params->sig_len;
}
-void ossl_ml_dsa_key_set0_libctx(ML_DSA_KEY *key, OSSL_LIB_CTX *lib_ctx)
-{
- key->libctx = lib_ctx;
-}
const char *ossl_ml_dsa_key_get_name(const ML_DSA_KEY *key)
{
__owur size_t ossl_ml_dsa_key_get_collision_strength_bits(const ML_DSA_KEY *key);
__owur size_t ossl_ml_dsa_key_get_priv_len(const ML_DSA_KEY *key);
__owur size_t ossl_ml_dsa_key_get_sig_len(const ML_DSA_KEY *key);
-__owur const char *ossl_ml_dsa_key_get_name(const ML_DSA_KEY *key);
__owur int ossl_ml_dsa_key_matches(const ML_DSA_KEY *key, const char *alg);
-void ossl_ml_dsa_key_set0_libctx(ML_DSA_KEY *key, OSSL_LIB_CTX *lib_ctx);
+__owur const char *ossl_ml_dsa_key_get_name(const ML_DSA_KEY *key);
__owur int ossl_ml_dsa_key_public_from_private(ML_DSA_KEY *key);
__owur int ossl_ml_dsa_pk_decode(ML_DSA_KEY *key, const uint8_t *in, size_t in_len);