我将 PKI CA 证书和私钥存储在 Yubikey 上,并用它来颁发最终用户证书,但从 openssl1 升级到 openssl3 后,这不再起作用。
\n我用来签署证书请求的脚本适用于 openssl1,但不再适用于 openssl3:
\npki_path=~/pki/paul\npin=$(cat ~/yubico/pin.txt)\necho "Yubico PIN: $pin"\nopenssl engine dynamic -pre SO_PATH:/usr/lib/engines-3/pkcs11.so -pre ID:pkcs11 -pre NO_VCHECK:1 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/lib/opensc-pkcs11.so -pre VERBOSE\nopenssl x509 -engine pkcs11 -CAkeyform engine -CAkey slot_0-id_2 -sha384 -CA $pki_path/ca.crt -req -passin pass:$pin -in $pki_path/reqs/$2.req -extfile x509-types/$1 -days 365 -out $pki_path/issued/$2.crt\ncat $pki_path/issued/$2.crt $pki_path/ca.crt > $pki_path/bundle/$2.crt\nRun Code Online (Sandbox Code Playgroud)\n我已经更新了 pkcs11 路径,但其他一切都相同,手动运行命令可以注册引擎,但尝试签名失败。
\n\xce\xbb ~/pki/scripts/ openssl engine dynamic -pre SO_PATH:/usr/lib/engines-3/pkcs11.so -pre ID:pkcs11 -pre NO_VCHECK:1 -pre LIST_ADD:1 -pre …Run Code Online (Sandbox Code Playgroud) 如何将硬件安全模块加密与C#应用程序集成?
我正在开发一个处理客户详细信息的应用程序,我们希望将其作为加密存储在我们的数据库中,哪个更可取 Argon2
使用的安全元件(当前):Yubikey 5 NFC
(当前)使用的操作系统:Linux(未来目标将是Win和Android)
使用的读卡器:ACS ACR122U、REINER SCT cyberJack RFID、SCM SCL011
通过 NFC 连接到 Yubikey 并实现/运行以下方法:
基于 Yubico 的 PKCS#11 包装器库,我实现了上面的 5 个方法。通过USB连接 Yubikey,它们工作得很好。
1) 文档/支持
我在 Yubico 的网站上找不到任何有关通过 NFC 的 API 的相关文档。似乎没有邮件列表,但有一个提示:
询问技术问题:对于技术问题,请尝试 Stack Exchange 网站。Stack Exchange 是一个问答网站网络,供开发人员学习和分享他们的知识,其中包括 Stack Overflow。
我在这里。;-)
根据 Alexander 的更新(谢谢):一些来源由 Yubico 在github.com/Yubico上发布
2) CLI 工具错误
Yubikey 由pcsc_scan上述每个读者展示。
但使用常见工具(如gp、 )时opensc-tool,大多数情况pkcs11-tool下会在尝试使用常见 APDU 访问时显示pkcs15-tool …
这正是我想知道的。基于云的 HSM 很昂贵,我需要确定要支付的费用。
我正在尝试在 Windows 7 下设置 openSSL 以使用供应商特定的安全模块。
我从供应商那里得到了一个 PKCS#11 API dll(比如说vendor.dll)。PKCS#11引擎已根据https://github.com/OpenSC/libp11创建
如链接中所述,为了测试,我开始
openssl 引擎 pkcs11 -t
但得到:
D:\Gateway\openSSL\Win32\Release>openssl engine pkcs11 -t
11020:error:25078067:DSO support routines:WIN32_LOAD:could not load the shared library:.\crypto\dso\dso_win32.c:179:filename(\usr\local\ssl\lib\engines\pkcs11.dll)
11020:error:25070067:DSO support routines:DSO_load:could not load the shared library:.\crypto\dso\dso_lib.c:233:
11020:error:260B6084:engine routines:DYNAMIC_LOAD:dso not found:.\crypto\engine\eng_dyn.c:467:
11020:error:2606A074:engine routines:ENGINE_by_id:no such engine:.\crypto\engine\eng_list.c:390:id=pkcs11
Run Code Online (Sandbox Code Playgroud)
配置文件是:
[engine_section]
pkcs11 = pkcs11_section
[pkcs11_section]
engine_id = pkcs11
dynamic_path = D:\Gateway\libp11\libp11-master\src\pkcs11.dll
MODULE_PATH = D:\Gateway\driver\smgw\Win32\vendor.dll
init = 0
Run Code Online (Sandbox Code Playgroud)
它尝试在 unix 目录 \usr\local 中查找 dll... 看来,动态路径的内容根本没有被评估,因为我可以在那里指定任何内容,我总是收到上面的错误消息。
我究竟做错了什么?