【问题标题】:macOS notarization error: "The signature algorithm used is too weak"macOS 公证错误:“使用的签名算法太弱”
【发布时间】:2019-05-28 23:57:20
【问题描述】:

我想知道是否有人熟悉这个仅在我将应用程序上传到 Apple 进行公证时才会发生的错误:

"AppName.zip/AppName.app/Contents/Resources/EWSMacCompress.tar.gz/EWSMacCompress.tar/EWSMac.framework/Versions/A/EWSMac83886082"
"The signature algorithm used is too weak."

附加信息:

-我多年来一直在签署我的应用程序,没有任何问题。该错误仅在发送应用程序进行公证时发生。

-我在 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 档案中签署文件有关——我也找不到任何信息

任何帮助将不胜感激!

谢谢, 狮子座

【问题讨论】:

    标签: cocoa codesign notarize


    【解决方案1】:

    您必须解压您的tarzipjar 文件,对所有有错误的文件进行共同设计并重新打包。

    只需查看日志并对所有错误进行代码设计,然后将应用程序作为一个整体进行签名。 对我来说,我使用以下两个命令。

    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 {} +
    

    然后签署应用程序

    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
    

    您必须使用--options=runtime 运行协同设计。 这是一个 guide 进行公证。

    如果您正在构建 Java 应用程序,这些链接也可能会有所帮助: How to build MacOS app with hardened runtime in AppBundler

    https://bitbucket.org/infinitekind/appbundler/issues/39/build-with-hardened-runtime

    【讨论】:

    • 感谢您的详细信息,老兄。我所有的应用程序都是 Cocoa。我将尝试实施您的建议,将 unpack-sign-repackage 作为 Xcode 中的运行脚本阶段并报告。
    • 是的!有效。非常感谢!那就是签署实际的框架 - 然后将其打包为 tar.gz。
    猜你喜欢
    • 2015-08-25
    • 1970-01-01
    • 2019-12-18
    • 1970-01-01
    • 2021-10-04
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    • 2014-01-18
    相关资源
    最近更新 更多