我想使用 C 代码而不是命令行加载 OpenSC 提供的 pkcs11 引擎。命令行指令如下:
openssl engine dynamic -pre SO_PATH:/usr/lib/engines/engine_pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:opensc-pkcs11.so
产生结果:
(dynamic) Dynamic engine loading support
[Success]: SO_PATH:/usr/lib/engines/engine_pkcs11.so
[Success]: ID:pkcs11
[Success]: LIST_ADD:1
[Success]: LOAD
[Success]: MODULE_PATH:opensc-pkcs11.so
Loaded: (pkcs11) pkcs11 engine
我想在一个独立的程序中使用 C 代码做同样的事情,这样我就可以使用:
static X509 *pkcs11_load_cert(ENGINE * e, const char *s_slot_cert_id)
从智能卡获取证书的功能。