OS X 上的 Openssl 密钥生成失败
Openssl key generation on OS X failing
我正在尝试 运行 我们对 Spring 项目的全新 mac 进行单元测试。一项测试需要生成 ssl 密钥。
我已经通过自制软件安装了 openssl,但错误仍然存在。
请查看以下错误:
Using configuration from /Users/myuser/workspace/project/webapp/target/test-data/clientvpn/acc1/openssl.conf
default is an unsupported message digest type
13499:error:02001002:system library:fopen:No such file or directory:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-59/src/crypto/bio/bss_file.c:126:fopen('./index.txt.attr','rb')
13499:error:2006D080:BIO routines:BIO_new_file:no such file:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-59/src/crypto/bio/bss_file.c:129:
13499:error:0E078072:configuration file routines:DEF_LOAD:no such file:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-59/src/crypto/conf/conf_def.c:197:
我通过多次 google 搜索和咨询最近也搬到 mac 的同事解决了这个问题。
自制软件安装时未创建新 openssl 的符号链接。如果您 运行 brew link openssl
您将收到以下消息 Warning: openssl is keg-only and must be linked with --force
这导致了解决方案。需要明确告知 Homebrew 才能创建正确的链接。
brew link --force openssl
如果你现在检查 which openssl
你会注意到它指向 brew 安装的版本 /usr/local/bin/openssl
只需添加这个标志,对我有用:
-CAcreateserial
通过允许我的 os 访问该文件来修复它。
对于前。 macos 允许终端访问此文件。
这对我在 Montery (12.2) 上有用
brew install openssl
brew link openssl # outputs :
Warning: Refusing to link macOS provided/shadowed software: openssl@3
If you need to have openssl@3 first in your PATH, run:
echo 'export PATH="/usr/local/opt/openssl@3/bin:$PATH"' >> ~/.zshrc
For compilers to find openssl@3 you may need to set:
export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@3/include"
For pkg-config to find openssl@3 you may need to set:
export PKG_CONFIG_PATH="/usr/local/opt/openssl@3/lib/pkgconfig"
我只是在使用命令所以我做了:
echo 'export PATH="/usr/local/opt/openssl@3/bin:$PATH"' >> ~/.zshrc
有效,旧输出:
➜ ca git:(master) openssl version
LibreSSL 2.8.3
之后:
➜ ca git:(master) source ~/.zshrc
➜ ca git:(master) openssl version
OpenSSL 3.0.1 14 Dec 2021 (Library: OpenSSL 3.0.1 14 Dec 2021)
注意:根据您的需要,可能需要其他选项。
注意 2:我的默认 shell 是 zsh,如果您使用 bash,请将它添加到您的 bashrc,或者添加到您选择的 shell 并且它是 PATH。
我正在尝试 运行 我们对 Spring 项目的全新 mac 进行单元测试。一项测试需要生成 ssl 密钥。
我已经通过自制软件安装了 openssl,但错误仍然存在。
请查看以下错误:
Using configuration from /Users/myuser/workspace/project/webapp/target/test-data/clientvpn/acc1/openssl.conf
default is an unsupported message digest type
13499:error:02001002:system library:fopen:No such file or directory:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-59/src/crypto/bio/bss_file.c:126:fopen('./index.txt.attr','rb')
13499:error:2006D080:BIO routines:BIO_new_file:no such file:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-59/src/crypto/bio/bss_file.c:129:
13499:error:0E078072:configuration file routines:DEF_LOAD:no such file:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-59/src/crypto/conf/conf_def.c:197:
我通过多次 google 搜索和咨询最近也搬到 mac 的同事解决了这个问题。
自制软件安装时未创建新 openssl 的符号链接。如果您 运行 brew link openssl
您将收到以下消息 Warning: openssl is keg-only and must be linked with --force
这导致了解决方案。需要明确告知 Homebrew 才能创建正确的链接。
brew link --force openssl
如果你现在检查 which openssl
你会注意到它指向 brew 安装的版本 /usr/local/bin/openssl
只需添加这个标志,对我有用:
-CAcreateserial
通过允许我的 os 访问该文件来修复它。 对于前。 macos 允许终端访问此文件。
这对我在 Montery (12.2) 上有用
brew install openssl
brew link openssl # outputs :
Warning: Refusing to link macOS provided/shadowed software: openssl@3
If you need to have openssl@3 first in your PATH, run:
echo 'export PATH="/usr/local/opt/openssl@3/bin:$PATH"' >> ~/.zshrc
For compilers to find openssl@3 you may need to set:
export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@3/include"
For pkg-config to find openssl@3 you may need to set:
export PKG_CONFIG_PATH="/usr/local/opt/openssl@3/lib/pkgconfig"
我只是在使用命令所以我做了:
echo 'export PATH="/usr/local/opt/openssl@3/bin:$PATH"' >> ~/.zshrc
有效,旧输出:
➜ ca git:(master) openssl version
LibreSSL 2.8.3
之后:
➜ ca git:(master) source ~/.zshrc
➜ ca git:(master) openssl version
OpenSSL 3.0.1 14 Dec 2021 (Library: OpenSSL 3.0.1 14 Dec 2021)
注意:根据您的需要,可能需要其他选项。 注意 2:我的默认 shell 是 zsh,如果您使用 bash,请将它添加到您的 bashrc,或者添加到您选择的 shell 并且它是 PATH。