web-dev-qa-db-ja.com

Apple以外が発行したコード署名証明書:Mac OS 10.8ゲートキーパーで動作しますか?

当社は、OSXとWindowsの両方のアプリケーションを開発しています。 Windowsインストーラーの識別に使用するApple以外の機関から購入した既存のコード署名証明書があります。 DMGとMSIの両方を自社のWebサイトから配布しています。

Mountain Lionの新しいゲートキーパー機能の コード署名ガイド は、Appleが発行していない標準証明書が機能することを示唆しているようです。この場合、「サードパーティ」の意味を誤解する可能性があります。

注意: Appleは、業界標準の形式と形式のコード署名証明書を使用します。したがって、他のシステムでコードに署名するために使用するサードパーティの署名IDが会社にすでにある場合は、それを使用できます。 OS Xcodesignコマンドを使用して...

このApple以外の証明書を使用することは可能ですか?使用する場合、コマンドラインの「codesign」コマンドを使用してどのように組み込むことができますか?

25
GNat

これを信用することはできませんが、率直な答えは次のとおりです。

番号

私はちょうど3日間、証明書を変換し、インターネットを検索してこれらを見つけました。

http://successfulsoftware.net/2012/08/30/how-to-sign-your-mac-os-x-app-for-gatekeeper/http:// www .panic.com/blog/2012/02/about-gatekeeper /http://arstechnica.com/Apple/2012/02/developers-gatekeeper-a-concern-but-still-gives- power-users-control /

17
Agent86

いいえ。機能しない理由は次のとおりです。GateKeeperを通過するには、Apple開発者ID。これはで署名されたコード署名証明書が必要です。 not会社に発行される通常のコード署名証明書と同じではありません。Apple発行Apple開発者IDのみ。(または少なくとも、この記事の執筆時点では。)

これは非常に紛らわしい理由です:

  • コード署名証明書を購入した会社は、MacOSで動作すると明確に主張していました。しかし、彼らが意味したのは、技術的に言えばAppleコードに署名できるということでした。しかし、GateKeeperを渡すことは異なります。(控えめに言っても、マーケティングは不明確です。)

  • 現時点では、サードパーティの証明書を使用したコードの署名について説明しているAppleドキュメント)は不明です。例: https://developer.Apple.com/library/mac/documentation/ security/Conceptual/CodeSigningGuide/Procedures/Procedures.html
    ただし、コードに署名することはできますが、GateKeeperを通過しません。繰り返しになりますが、これは社内アプリケーションの使用を指している場合もあれば、単に古くなっている場合もあります。

14
SilentSteel

ゲートキーパーはAppleデジタル証明書のみを認識します。WindowsはComodo、Verisign、およびその他のいくつかの署名機関のみを認識します。したがって、Windows用のComodo(または同様の)証明書を購入し、年間99ドルを支払う必要があります。 Apple開発者プログラムなので、Apple証明書も取得できます。控えめに言っても、かなり面倒です。

7
Andy Brice