无法为macOS的使用公证.net核心应用程序



我正在尝试公证我的.net核心应用程序以在MacOS设备中运行,当我公证它时,我得到的错误

可执行文件没有启用强化运行时

如果我将--options=runtime标志添加到签名操作中,我的控制台应用程序将停止工作。我在dotnet文档中发现,您必须向应用程序主机添加以下权限。

  • com.apple.security.cs.allow-jit
  • com.apple.security.cs.allow-unsigned-executable-memory
  • com.apple.security.cs.allow-dyld-environment-variables
  • com.apple.security.cs.disable-library-validation

但我不知道在哪里添加它们,我尝试将一个authorities.plist文件添加到我的输出目录中,其中包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
</dict>
</plist>

但它还是失败了。这是我必须添加到发布过程中的内容吗?

解决方案是在签署代码时使用authorities.plist:

codesign --timestamp --sign "CERTNAME" FILENAME --options=runtime --no-strict --entitlements entitlements.plist

相关内容

  • 没有找到相关文章

最新更新