openssl3.2 - xx_fetch函数参数名称字符串有效值列表

本文主要是介绍openssl3.2 - xx_fetch函数参数名称字符串有效值列表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • openssl3.2 - xx_fetch函数参数名称字符串有效值列表
    • 概述
    • 笔记
    • xx_fetch函数所在的头文件目录
    • xx_fetch函数所在的头文件列表
    • xx_fetch函数列表
    • 每个xx_fetch()API的字符串名称的有效值列表
    • OSSL_DECODER *OSSL_DECODER_fetch();
    • OSSL_ENCODER *OSSL_ENCODER_fetch();
    • EVP_CIPHER *EVP_CIPHER_fetch();
    • __owur EVP_MD *EVP_MD_fetch();
    • EVP_MAC *EVP_MAC_fetch();
    • EVP_RAND *EVP_RAND_fetch();
    • EVP_KEYMGMT *EVP_KEYMGMT_fetch();
    • EVP_SIGNATURE *EVP_SIGNATURE_fetch();
    • EVP_ASYM_CIPHER *EVP_ASYM_CIPHER_fetch();
    • EVP_KEM *EVP_KEM_fetch();
    • EVP_KEYEXCH *EVP_KEYEXCH_fetch();
    • EVP_KEYMGMT *evp_keymgmt_fetch_from_prov();
    • void *evp_generic_fetch();
    • void *evp_generic_fetch_from_prov();
    • EVP_KEYMGMT *evp_keymgmt_fetch_by_number();
    • EVP_SIGNATURE *evp_signature_fetch_from_prov();
    • EVP_ASYM_CIPHER *evp_asym_cipher_fetch_from_prov();
    • EVP_KEYEXCH *evp_keyexch_fetch_from_prov();
    • EVP_KEM *evp_kem_fetch_from_prov();
    • EVP_KDF *EVP_KDF_fetch();
    • int ossl_method_store_fetch();
    • const EVP_MD *ossl_prov_digest_fetch();
    • const EVP_CIPHER *ssl_evp_cipher_fetch();
    • const EVP_MD *ssl_evp_md_fetch();
    • OSSL_STORE_LOADER *OSSL_STORE_LOADER_fetch();
    • OSSL_STORE_LOADER *ossl_store_loader_fetch();
    • openssl中还有一种根据name取任务指针的函数 - xx_from_name()
    • ossl_ec_set_check_group_type_from_name()
    • EVP_PKEY_CTX_new_from_name()
    • END

openssl3.2 - xx_fetch函数参数名称字符串有效值列表

概述

openssl3.2中有很多 xx_fetch API, 用字符串名称来找openssl任务的指针.
因为参数是字符串名称, 如果是新手, 就不知道这些字符串该怎么写, 如果没有研究方法, 只能是看见官方和第三方工程写什么, 我们就写什么.
但是, 如果要用到的字符串名称和官方的不一样, 这时候, 就需要自己研究. 否则, 字符串写错, 是得不到openssl任务指针的.
前面我发现这个问题, 已经将EVP_MD_fetch(), EVP_CIPHER_fetch()的字符串名称参数有效值列表搞出来了.
这几天又陆续在官方demo中看到, 有xx_fetch()的API, 看来官方就是推荐用任务名称来找任务指针.
今天搜了一下, 将 xx_fetch()函数都列出来, 等有时间时, 将这些API参数中的字符串名称有效值列表都整理出来

笔记

xx_fetch函数所在的头文件目录

include\openssl
crypto\evp
include\internal
providers\common\include\prov
ssl
crypto\store
安装好(给openssl外部应用 用的API)的openssl目录只有 include\openssl
其他目录, 只有openssl工具(openssl.exe)或内部测试程序才用.

xx_fetch函数所在的头文件列表

decoder.h (include\openssl)
encoder.h (include\openssl)
evp.h (include\openssl)
evp_local.h (crypto\evp)
kdf.h (include\openssl)
property.h (include\internal)
provider_util.h (providers\common\include\prov)
ssl_local.h (ssl)
store.h (include\openssl)
store_local.h (crypto\store)

xx_fetch函数列表

OSSL_DECODER *OSSL_DECODER_fetch(OSSL_LIB_CTX *libctx, const char *name, const char *properties);
OSSL_ENCODER *OSSL_ENCODER_fetch(OSSL_LIB_CTX *libctx, const char *name, const char *properties);
EVP_CIPHER *EVP_CIPHER_fetch(OSSL_LIB_CTX *ctx, const char *algorithm, const char *properties);
__owur EVP_MD *EVP_MD_fetch(OSSL_LIB_CTX *ctx, const char *algorithm, const char *properties);
EVP_MAC *EVP_MAC_fetch(OSSL_LIB_CTX *libctx, const char *algorithm, const char *properties);
EVP_RAND *EVP_RAND_fetch(OSSL_LIB_CTX *libctx, const char *algorithm, const char *properties);
EVP_KEYMGMT *EVP_KEYMGMT_fetch(OSSL_LIB_CTX *ctx, const char *algorithm, const char *properties);
EVP_SIGNATURE *EVP_SIGNATURE_fetch(OSSL_LIB_CTX *ctx, const char *algorithm, const char *properties);
EVP_ASYM_CIPHER *EVP_ASYM_CIPHER_fetch(OSSL_LIB_CTX *ctx, const char *algorithm, const char *properties);
EVP_KEM *EVP_KEM_fetch(OSSL_LIB_CTX *ctx, const char *algorithm, const char *properties);
EVP_KEYEXCH *EVP_KEYEXCH_fetch(OSSL_LIB_CTX *ctx, const char *algorithm, const char *properties);
EVP_KEYMGMT *evp_keymgmt_fetch_from_prov(OSSL_PROVIDER *prov, const char *name, const char *properties);
void *evp_generic_fetch(OSSL_LIB_CTX *ctx, int operation_id,
const char *name, const char *properties,
void *(*new_method)(int name_id,
const OSSL_ALGORITHM *algodef,
OSSL_PROVIDER *prov),
int (*up_ref_method)(void *),
void (*free_method)(void *));
void *evp_generic_fetch_from_prov(OSSL_PROVIDER *prov, int operation_id,
const char *name, const char *properties,
void *(*new_method)(int name_id,
const OSSL_ALGORITHM *algodef,
OSSL_PROVIDER *prov),
int (*up_ref_method)(void *),
void (*free_method)(void *));
EVP_KEYMGMT *evp_keymgmt_fetch_by_number(OSSL_LIB_CTX *ctx, int name_id,
const char *properties);
EVP_SIGNATURE *evp_signature_fetch_from_prov(OSSL_PROVIDER *prov,
const char *name,
const char *properties);
EVP_ASYM_CIPHER *evp_asym_cipher_fetch_from_prov(OSSL_PROVIDER *prov,
const char *name,
const char *properties);
EVP_KEYEXCH *evp_keyexch_fetch_from_prov(OSSL_PROVIDER *prov,
const char *name,
const char *properties);
EVP_KEM *evp_kem_fetch_from_prov(OSSL_PROVIDER *prov,
const char *name,
const char *properties);
EVP_KDF *EVP_KDF_fetch(OSSL_LIB_CTX *libctx, const char *algorithm,
const char *properties);

int ossl_method_store_fetch(OSSL_METHOD_STORE *store,
int nid, const char *prop_query,
const OSSL_PROVIDER **prov, void **method);

const EVP_MD *ossl_prov_digest_fetch(PROV_DIGEST *pd, OSSL_LIB_CTX *libctx,
const char *mdname, const char *propquery);

const EVP_CIPHER *ssl_evp_cipher_fetch(OSSL_LIB_CTX *libctx,
int nid,
const char *properties);

const EVP_MD *ssl_evp_md_fetch(OSSL_LIB_CTX *libctx,
int nid,
const char *properties);

OSSL_STORE_LOADER *OSSL_STORE_LOADER_fetch(OSSL_LIB_CTX *libctx,
const char *scheme,
const char *properties);

OSSL_STORE_LOADER *ossl_store_loader_fetch(OSSL_LIB_CTX *libctx,
const char *scheme,
const char *properties);

xx_fetch的数量为26个

每个xx_fetch()API的字符串名称的有效值列表

找每个xx_fetch()函数的参数字符串名称有效值时, 都有附带的头文件定义, 具体的有效值整理.
在一个笔记中写全是不可能的. 这个笔记作为一个索引贴, 给出其他具体xx_fetch()的有效值笔记.
我现在才搞清楚2个, 以后慢慢来填坑.

OSSL_DECODER *OSSL_DECODER_fetch();

\todo

OSSL_ENCODER *OSSL_ENCODER_fetch();

\todo

EVP_CIPHER *EVP_CIPHER_fetch();

openssl3.2 - EVP_CIPHER_fetch算法名称字符串(参数2)的有效值列表

__owur EVP_MD *EVP_MD_fetch();

openssl3.2 - EVP_MD_fetch算法名称字符串(参数2)的有效值列表

EVP_MAC *EVP_MAC_fetch();

\todo

EVP_RAND *EVP_RAND_fetch();

\todo

EVP_KEYMGMT *EVP_KEYMGMT_fetch();

\todo

EVP_SIGNATURE *EVP_SIGNATURE_fetch();

\todo

EVP_ASYM_CIPHER *EVP_ASYM_CIPHER_fetch();

\todo

EVP_KEM *EVP_KEM_fetch();

\todo

EVP_KEYEXCH *EVP_KEYEXCH_fetch();

\todo

EVP_KEYMGMT *evp_keymgmt_fetch_from_prov();

\todo

void *evp_generic_fetch();

\todo

void *evp_generic_fetch_from_prov();

\todo

EVP_KEYMGMT *evp_keymgmt_fetch_by_number();

\todo

EVP_SIGNATURE *evp_signature_fetch_from_prov();

\todo

EVP_ASYM_CIPHER *evp_asym_cipher_fetch_from_prov();

\todo

EVP_KEYEXCH *evp_keyexch_fetch_from_prov();

\todo

EVP_KEM *evp_kem_fetch_from_prov();

\todo

EVP_KDF *EVP_KDF_fetch();

\todo

int ossl_method_store_fetch();

\todo

const EVP_MD *ossl_prov_digest_fetch();

\todo

const EVP_CIPHER *ssl_evp_cipher_fetch();

\todo

const EVP_MD *ssl_evp_md_fetch();

\todo

OSSL_STORE_LOADER *OSSL_STORE_LOADER_fetch();

\todo

OSSL_STORE_LOADER *ossl_store_loader_fetch();

\todo

openssl中还有一种根据name取任务指针的函数 - xx_from_name()

这种函数比较少, 一共2个.
ec.h (include\crypto) int ossl_ec_set_check_group_type_from_name(EC_KEY *ec, const char *name);

evp.h (include\openssl) EVP_PKEY_CTX *EVP_PKEY_CTX_new_from_name(OSSL_LIB_CTX *libctx,const char *name, const char *propquery);

ossl_ec_set_check_group_type_from_name()

\todo

EVP_PKEY_CTX_new_from_name()

\todo

END

这篇关于openssl3.2 - xx_fetch函数参数名称字符串有效值列表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/616685

相关文章

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python 常用数据类型详解之字符串、列表、字典操作方法

《Python常用数据类型详解之字符串、列表、字典操作方法》在Python中,字符串、列表和字典是最常用的数据类型,它们在数据处理、程序设计和算法实现中扮演着重要角色,接下来通过本文给大家介绍这三种... 目录一、字符串(String)(一)创建字符串(二)字符串操作1. 字符串连接2. 字符串重复3. 字

Java 字符串操作之contains 和 substring 方法最佳实践与常见问题

《Java字符串操作之contains和substring方法最佳实践与常见问题》本文给大家详细介绍Java字符串操作之contains和substring方法最佳实践与常见问题,本文结合实例... 目录一、contains 方法详解1. 方法定义与语法2. 底层实现原理3. 使用示例4. 注意事项二、su

Nginx屏蔽服务器名称与版本信息方式(源码级修改)

《Nginx屏蔽服务器名称与版本信息方式(源码级修改)》本文详解如何通过源码修改Nginx1.25.4,移除Server响应头中的服务类型和版本信息,以增强安全性,需重新配置、编译、安装,升级时需重复... 目录一、背景与目的二、适用版本三、操作步骤修改源码文件四、后续操作提示五、注意事项六、总结一、背景与

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

Python进阶之列表推导式的10个核心技巧

《Python进阶之列表推导式的10个核心技巧》在Python编程中,列表推导式(ListComprehension)是提升代码效率的瑞士军刀,本文将通过真实场景案例,揭示列表推导式的进阶用法,希望对... 目录一、基础语法重构:理解推导式的底层逻辑二、嵌套循环:破解多维数据处理难题三、条件表达式:实现分支

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)

《MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)》本文给大家介绍MyBatis的xml中字符串类型判空与非字符串类型判空处理方式,本文给大家介绍的非常详细,对大家的学习或... 目录完整 Hutool 写法版本对比优化为什么status变成Long?为什么 price 没事?怎

把Python列表中的元素移动到开头的三种方法

《把Python列表中的元素移动到开头的三种方法》在Python编程中,我们经常需要对列表(list)进行操作,有时,我们希望将列表中的某个元素移动到最前面,使其成为第一项,本文给大家介绍了把Pyth... 目录一、查找删除插入法1. 找到元素的索引2. 移除元素3. 插入到列表开头二、使用列表切片(Lis