回调与程序执行控制流
Provider开发设计的一大难点就是其中的参数传递与回调方式,查看OpenSSL关于provider相关部分的手册页,可以发现有一段共同的描述:
All "functions" mentioned here are passed as function pointers
between libcrypto and the provider in OSSL_DISPATCH(3) arrays
via OSSL_ALGORITHM(3) arrays that are returned by the
provider's provider_query_operation() function (see "Provider
Functions" in provider-base(7)).
All these "functions" have a corresponding function type
definition named OSSL_FUNC_{name}_fn, and a helper function to
retrieve the function pointer from an OSSL_DISPATCH(3) element
named OSSL_FUNC_{name}.
所有在这里被提到的函数都在OSSL_DISPATCH数组中,由provider的查询操作函数,通过OSSL_ALGORITHM数组进行返回。
而信息传递则通过OSSL_PARAM数组进行,保障类型安全与扩展性。
这是Provider开发中的通用模式。


回调与程序执行控制流
https://47.108.189.123/2026/08/12/实习经历/OpenHiTLS-2026/回调与程序执行控制流/