Mac에서 PKCS11 및 SoftHSM 구성 엔진과 함께 OPENSSL 사용

Mac에서 PKCS11 및 SoftHSM 구성 엔진과 함께 OPENSSL 사용

현재 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

보고 있는 동작은 기본적으로 LibreSSL을 사용하는 최신 macOS 버전으로 인해 발생할 가능성이 높습니다.

다음을 실행하여 이를 확인할 수 있습니다.

openssl version

당신의 터미널에서.

OpenSSL 구성 파일을 보면 이미 사용하고 있음을 알 수 있습니다 brew. 즉, 간단히 openssl패키지를 설치하고 사용할 수 있습니다. 적어도 이것은 나에게 효과적입니다.

LibreSSL을 사용하여 설치하는 방법도 있을 수 있지만 방법을 모르겠습니다.

관련 정보