Sparkle で Mac アプリケーションの更新に署名する方法を教えてください。https://github.com/sparkle-project/Sparkle/wiki/publishing-an-updateを確認しました
しかし、明確なアイデアが得られませんでした。教えてください
これは Mac 開発者 ID によって行われますか? そして、更新に署名する開発者ID以外の他の方法は何ですか.
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"
詳細については、Apple を参照してください: https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html
または (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
それが役立つことを願っています。