#include <openssl/objects.h>
#include <openssl/evp.h>
#include "internal/cryptlib.h"
-#include "crypto/evp.h"
#include "internal/provider.h"
+#include "internal/core.h"
+#include "crypto/evp.h"
#include "evp_local.h"
static EVP_SIGNATURE *evp_signature_new(OSSL_PROVIDER *prov)
}
signature->name_id = name_id;
+ if ((signature->type_name = ossl_algorithm_get1_first_name(algodef)) == NULL)
+ goto err;
signature->description = algodef->algorithm_description;
for (; fns->function_id != 0; fns++) {
CRYPTO_DOWN_REF(&signature->refcnt, &i, signature->lock);
if (i > 0)
return;
+ OPENSSL_free(signature->type_name);
ossl_provider_free(signature->prov);
CRYPTO_THREAD_lock_free(signature->lock);
OPENSSL_free(signature);
return signature->name_id;
}
+const char *EVP_SIGNATURE_name(const EVP_SIGNATURE *signature)
+{
+ return signature->type_name;
+}
+
const char *EVP_SIGNATURE_description(const EVP_SIGNATURE *signature)
{
return signature->description;