微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在 Apple Silicon M1 Mac 上找不到可用的 libssl 版本

当 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 进行开发的唯一问题。

解决方法

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"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。