在 Apple Silicon M1 Mac 上找不到可用的 libssl 版本

时间:2021-06-23 08:55:03

标签: .net .net-core openssl apple-silicon

当 AesGCM 进行解密时,Azure 函数中的代码在 M1 Mac 上本地中断

这是代码中断的部分

using var cipher = new AesGcm(key);
cipher.Decrypt(nonce, toDecrypt, tag, decryptedData, associatedData);

我已经安装了 openssl 并在 ~/.zshrc 中设置了 DYLD_LIBRARY_PATH

最初代码在 Intel Mac 上也损坏了,但由于我设置了 DYLD_LIBRARY_PATH,它起作用了。然而,它仍然在基于 arm 的 M1 Mac 上崩溃。

配置

  • netcoreapp3.1
  • 操作系统版本:Mac OS Big Sur 版本 11.4,(Apple M1),16 GB
  • 架构:arm
  • openssl 版本:LibreSSL 2.8.3,openssl@1.1

有人可以帮忙吗?这似乎是阻止我在 M1 Mac 上使用 .NET 进行开发的唯一问题。

1 个答案:

答案 0 :(得分:0)

Kevin的帮助下,我成功了install Intel version of openssl

诀窍是use iTerm on Resetta 2 and install Intel version of brew然后安装英特尔版本的 openssl

  • 复制应用程序目录中的 iTerm 并将其重命名为 iTerm (Intel)
  • cmd + i 并勾选“使用重置打开”
  • 在 iTerm (Intel) 上,安装 brew。它将安装在 /usr/local
  • arch -x86_64 /usr/local/bin/brew openssl
  • ~/.zshrc中,设置export DYLD_LIBRARY_PATH="/usr/local/opt/openssl@1.1/lib"