> Androidアプリに使える証明書を発行しているような機関は存在するのでしょうか?
ないと思います。現状ではあっても意味が無いからです。
なぜなら端末やマーケット側で、信頼できる機関が発行した証明書で署名されていることを
チェックするということが行われていないからです。
http://developer.android.com/guide/publishing/app-signing.html
の最初に以下のように書かれています。
The Android system uses the certificate as a means of identifying the
author of an application
and establishing trust relationships between applications.
簡単に訳すと「Androidシステムはアプリケーションの作者の識別とアプリケーション間の
信頼関係の確立のために署名を使います」です。
CAによる署名のほうが記述内容を信頼できますが、現状のAndroidマーケットではアプリの作者の
情報として証明書の内容が表示されているわけではなく信頼できる情報が書かれていることに
意味がありません。
証明書による署名はアプリのバージョンアップの際に同一の作者からのものであることの確認や、
特定のアプリに特権を与えるためにしか利用されていないので同じ秘密鍵で署名されている
ことさえ確認できれば十分なのです。
その先に以下のように書かれています。
「The certificate does not need to be signed by a certificate
authority: it is perfectly allowable,
and typical, for Android applications to use self-signed certificates.」
「証明書はCAによって署名されている必要はありません。Androidアプリケーションが自己署名の
証明書を使うことは問題ないし普通そうする」
> また、もしないとしたら、マーケットのアプリは
> みんな自己証明書で署名していることになるのでしょうか?
というわけで自己署名の証明書で署名します。
--
YAMAZAKI Makoto
あとは、 有効期間が25年以上の証明書を発行してくれる
CAは存在しないからです。現在のCA証明書は25-30年
程度の有効期間で発行されていて、それを上回る期間
のエンド・エンティティ(ユーザ)証明書の発行は基本的に
しません。