Gau*_*wat 2 cocoa objective-c sparkle
任何人都可以告诉我如何签署闪存中的mac应用程序更新.我检查了https://github.com/sparkle-project/Sparkle/wiki/publishing-an-update
但是没有明白的想法.请告诉我
这是由Mac开发人员ID完成的吗?除了开发人员ID签署更新之外,还有什么其他方式.
实际上,正如您所指的文档中所指出的,您可以:
(A)使用Apple开发人员证书对您的应用程序进行编码 - 您应该使用Apple的签名工具和工作流程来实现.如果你想要命令行样式,那将是:
codesign -f -s "$identity" "$somepath"
codesign --entitlements "$entitlements_path" --resource-rules "$tpl" -f -s "$identity" "$somepath"
或者(B)如果您不能/不会进行协同设计,那么您仍然可以使用DSA密钥对更新本身进行签名.这在您链接的页面中有记录.差不多,你应该使用Sparkle提供的脚本:ruby sign_update.rb path_to_your_update.zip path_to_your_dsa_priv.pem
然后,您应该将签名添加到appcast中.
如果你真的想自己做这一切,那么你可以启动openssl并去做一些事情 - 但同样,为什么不使用Sparkle漂亮的脚本呢?;)
# Generate keys
/usr/bin/openssl dsaparam 1024 < /dev/urandom > dsaparam.pem
/usr/bin/openssl gendsa dsaparam.pem -out dsa_priv.pem
/usr/bin/openssl dsa -in dsa_priv.pem -pubout -out dsa_pub.pem
rm dsaparam.pem
# Sign the update
/usr/bin/openssl dgst -sha1 -binary < "${dmgFinal}" | /usr/bin/openssl dgst -dss1 -sign "dsa_priv.pem" | /usr/bin/openssl enc -base64
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.