Leo*_*aun 5 cocoa codesign notarize
我想知道是否有人熟悉这个错误,只有当我将我的应用程序上传到 Apple 进行公证时才会发生:
"AppName.zip/AppName.app/Contents/Resources/EWSMacCompress.tar.gz/EWSMacCompress.tar/EWSMac.framework/Versions/A/EWSMac83886082"
"The signature algorithm used is too weak."
Run Code Online (Sandbox Code Playgroud)
附加信息:
- 我多年来一直在为我的应用程序签名,没有任何问题。该错误仅在发送应用程序进行公证时发生。
- 我在 2018 年 11 月提交了一个错误,向 Apple 提供了他们要求的所有信息 - 但从未得到进一步解决。
- 我最近再次联系了 Apple,他们向我指出了上次更新于 2016 年的一些资源页面。它简要地提到了一个类似的错误 - 但仍然没有任何关于如何解决它的信息:https : //developer.apple.com/ library/archive/technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG301
- 对这个错误的搜索没有产生任何有用的信息。
- 有问题的 tar.gz 文件是一个 eSellerate 许可框架。很多人可能都知道,十多年来,它一直是 Mac 软件的流行许可平台。虽然我前段时间切换到不同的许可平台,但我仍然有成千上万的客户拥有 eSellerate 许可(我确信许多其他 Mac 开发人员的情况也是如此)。
据我了解,整个情况必须对 tar.gz 档案中的文件进行签名 - 我也找不到任何信息
任何帮助将不胜感激!
谢谢,利奥
您必须解压您的tar或文件,对所有有错误的文件进行协同设计并重新打包它们zip。jar
只需浏览日志并对所有有错误的日志进行协同设计,然后对整个应用程序进行签名即可。对于我来说,我使用以下两个命令。
find ./MyApp -type f \
-exec codesign --timestamp \
--keychain /Users/builduser/Library/Keychains/login.keychain-db \
-s 'Developer ID Application: XXXXXXXX' -f --verbose=9 --deep \
--options=runtime --entitlements entitlements.xml {} +
Run Code Online (Sandbox Code Playgroud)
然后签署应用程序
codesign --timestamp \
--keychain /Users/builduser/Library/Keychains/login.keychain-db \
-s 'Developer ID Application: XXXXXXXX' -f --verbose=9 --deep \
--options=runtime --entitlements entitlements.xml MyApp
Run Code Online (Sandbox Code Playgroud)
您必须使用 运行协同设计--options=runtime。这是公证指南。
如果您正在构建 Java 应用程序,这些链接也可能会有所帮助: How to build MacOS app with Hardened Runtime in AppBundler
https://bitbucket.org/infinitekind/appbundler/issues/39/build-with-hardened-runtime
| 归档时间: |
|
| 查看次数: |
1132 次 |
| 最近记录: |