目前我在使用 HSM 设置 Mac 时遇到问题
当前配置
HSM: SoftHSM
OpenSSL, PKCS11
OS: MacOS Catalina
我正在使用这个配置
openssl_conf = openssl_init
[openssl_init]
engines = engine_section
[engine_section]
pkcs11 = pkcs11_section
[pkcs11_section]
engine_id = pkcs11
dynamic_path = /usr/local/Cellar/libp11/0.4.11/lib/engines-1.1/pkcs11.dylib
MODULE_PATH = /usr/local/lib/softhsm/libsofthsm2.so
init = 0
[ req ]
distinguished_name = req_dn
[ req_dn ]
commonName = foobar
然后我尝试使用此 cmd 从 HSM 生成认证
OPENSSL_CONF=engine.conf openssl req -new -x509 -subj "/CN=MyCertTEST" -engine pkcs11 -keyform engine -key "pkcs11:object=mykey1;pin-value=mysecret1" -outform der -out mycert.der
注意:我已经将密钥设置到 HSM 中
怎么看起来它显示错误为
Error configuring OpenSSL
4569882220:error:26FFF074:engine routines:CRYPTO_internal:no such engine:/AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-47.140.1/libressl-2.8/crypto/engine/eng_list.c:367:id=dynamic
4569882220:error:26FFF066:engine routines:CRYPTO_internal:engine configuration error:/AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-47.140.1/libressl-2.8/crypto/engine/eng_cnf.c:197:section=pkcs11_section, name=dynamic_path, value=/usr/local/Cellar/libp11/0.4.11/lib/engines-1.1/pkcs11.dylib
4569882220:error:0EFFF06D:configuration file routines:CRYPTO_internal:module initialization error:/AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-47.140.1/libressl-2.8/crypto/conf/conf_mod.c:224:module=engines, value=engine_section, retcode=-1
failed to load configuration
不确定我在配置部分遗漏了什么或对配置引擎的方式有任何误解
谁能指导我这件事。谢谢
答案1
您看到的这种行为很可能是由于较新的 macOS 版本默认使用 LibreSSL 造成的。
您可以通过运行来验证这一点
openssl version
在您的终端中。
从您的 OpenSSL 配置文件中,我可以看到您已经在使用brew
,这意味着您可以简单地安装该openssl
包并使用它。至少这对我有用。
可能还有一种方法可以使用 LibreSSL 安装,但我不知道如何操作。