Apple発行の開発者証明書の有効期限が切れ、1Passwordなどのアプリがクラッシュする

Apple発行の開発者証明書の有効期限が切れ、1Passwordなどのアプリがクラッシュする

Mike Wuerthele's profile pictureマイク・ワーテル

· 2分で読めます

Apple 発行のセキュリティ証明書の有効期限切れと Apple による変更が相まって、1Password、PDFpen、Soulver for Mac など、App Store 以外で購入した一部のアプリを復活させるには、新しいバージョンを再インストールする必要があるようになりました。ただし、この問題は一部のソフトウェアに永続的な影響を及ぼす可能性があります。

先週末、iCloudサービスへのアクセスに必要なApple発行の証明書が予想通り期限切れとなりました。しかし、この問題によって引き起こされた直接的な問題に加え、「エンタイトルメント」と呼ばれる特定の機能の実行を許可されたアプリの検索方法の変更が、予期せぬ副作用をもたらしました。

その結果、1Password、PDFPen、Soulverなどの主要ユーザーは、この証明書に依存するアプリが起動時にクラッシュすることに気づきました。Appleがこの変数の扱いを変更したため、証明書を更新するだけでは機能を回復できませんでした。

「開発者証明書が土曜日に期限切れになることはわかっていましたが、新バージョンを公開するときにのみ必要だと考えていたため、特に気にしていませんでした」と1Passwordの開発者はブログ投稿で述べています。「どうやらそうではなかったようです。実際には、macOSが1Passwordを正常に起動できなくなるという予期せぬ副作用が発生しました。」

複数の要因が重なり、インストーラーが新しい証明書を有効なものとして認識しなかったため、証明書を更新しただけでは 1Password が起動しなくなりました。

PDFPenの場合、「クラッシュ」はmacOSの機能であることが判明しました。TidBitsによると「taskgated-helper」システムアプリはコード署名証明書を検査し、「entitlements」リストと比較します。プロビジョニングプロファイルが期限切れの証明書にリンクされている場合、macOSは期限切れの証明書を持つアプリの起動をブロックします。

Soulver、PDFPen、1Passwordは開発者によってこの問題の修正のためにアップデートされており、ユーザーはアップデート版をダウンロードしてインストールするだけで済みます。しかし、アップデート頻度が低いアプリや開発者が放置したアプリは、ユーザーが復旧方法を講じることができず、動作を停止してしまう可能性があります。

Mac App Storeで販売されるアプリは、開発者ではなくAppleによって署名されています。そのため、この問題の影響を受けるのは、App Store外で販売され、「エンタイトルメント」を必要とするアプリのみです。

この問題はMac App Store以外で購入されたアプリに限定されていますが、Apple自身も証明書の有効期限切れと予期せぬ結果に関する問題を抱えています。2015年11月には、SHA-2証明書暗号化へのアップグレードと、Mac App StoreでユーザーのMacに古い証明書情報が保存されるという問題が重なり、多くのアプリが動作しなくなりました。