OS X 10.9.5 Mavericks & Yosemite以降でGatekeeperがブロックする”v1署名”アプリの一覧を調べる方法。

スポンサーリンク

 OS X 10.9.5 Mavericks & Yosemite以降、Gatekeeperがブロックするアプリの一覧を調べる方法です。詳細は以下から。

 先日Appleが開発者向けにアナウンスした”v2 signatures”は「あなたのアプリを最新のOSで警告なしに使うにはOS X Mavericks 10.9以降のOSで再署名(v2 signatures)しなければなりません」というものでしたが、現在ユーザー(自分)が使用しているアプリの署名のバージョンを調べるScriptが公開されています。


Changes-in-OSX-1095-and-Yosemite-Developer-Preview5
[Changes in OS X 10.9.5 and Yosemite Developer Preview 5]

アプリ署名のバージョン確認方

 この方法はOS Xのcodesignコマンド(/usr/bin/codesign)を使用する方法で、 John BaffordさんのGitHubb.hatenaに投稿されています。実行するとアプリケーションディレクトリにあるアプリを抽出し(maxdepthで調べる階層の深さを指定)codesignコマンドで署名のバージョンを確認&表示してくれます。


OS-X-change-gatekeeper-v2-signatures-check-script

find /Applications ~/Applications -maxdepth 3 -name "*.app" | while read a ; do echo; echo -n "$a ___ "; codesign -vd "${a}" 2>&1 | awk '/version/ {print $3}'; done | awk -F'___' '{print $2 " " $1}' | sort -u

 @landonfullerさんの様にGatekeeperにブロックされるアプリの数だけをカウントしたい場合はこちら。


OS-X-change-gatekeeper-v2-signatures-count-script

find /Applications ~/Applications -maxdepth 3 -name "*.app" | while read a ; do echo; codesign -vd "${a}" 2>&1 | awk '/version/ {print $3}'; done | sort | uniq -c

v2 signaturesで無い場合どうなる?

 TwitterやForumを見ると「何も知らない初心者ユーザーがMASから僕のアプリをダウンロードして”起動しないから星1つです!”てコメント入れられたらどうしよう…」という開発者の方がいるようで、v2 signaturesで署名されていない場合はOS XのGatekeeperがアプリをブロックするのでシステム環境設定.appの[セキュリティとプライバシー]でGatekeeperの設定を変えないと起動しません。


OS-X-Yosemite-Gatekeeper-setting

 また、現在リリースされているOS X 10.9.5 Mavericks(DP)やYosemite(DP5)では”v1 signatures”でもアプリがブロック無く起動してしまうので、チェックする方法は以下のDeveloper Forumsを参照して下さい。

関連リンク:
Gatekeeper and Developer ID FAQ

Testing version 2 code signatures on Yosemite DP5


コメント

  1. Apple7743 より:

    開発者さんかわいそう(´・ω・`)

  2. Apple7743 より:

    なんかそのうち、MSA以外のソフトは完全シャットアウトになりそうで怖いよね…
    まあ、安全性って意味ではかなり高いレベルになるけどさ…

  3. Apple7743 より:

    MacのJailBreakが捗るな