2012-05-14 12 views
6

X509証明書を追加するには、サードパーティのアプリケーションがiPhoneのキーチェーンにアクセスできますか?はいの場合、どうすればいいですか?
そうでない場合は、証明書を読み取るためにキーチェーンにアクセスできますか?iPhoneのキーチェーンにx509証明書を保存してアクセス

基本的に私が必要としているのは:
1)私のアプリケーションは、信頼できるCAが署名していない証明書を使用するhttpsサイトにアクセスする必要があります。 https経由で接続しようとすると、例外が発生します。
2)キーチェーンにプログラムのルート証明書を追加することができたら大丈夫です。ユーザーがSafari経由でサイトにアクセスし、その証明書を受け入れ、自分のアプリケーションを使用してサイトにアクセスすれば十分です。

@interface NSURLRequest (DummyInterface) 
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host; 
+ (void)setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString*)host; 
@end 

をが、これはまさに私が欲しいものではありません。

はこれまでのところ、私は、HTTPSを凌駕するには、以下のインタフェースを使用してきました。

提案がありますか?

答えて

3

This Apple documentには、自己署名証明書(または自己署名入りの認証局)をキーチェーンに追加して信頼できるようにするための十分な情報が記載されている必要があります。私はそれをテストしなかった。 Source

top answer on this questionも参照してください。ただし、証明書の有効性を実際に検証していないようです。 Cocoaneticsもhow to use NSURLConnection with self-signed certificatesを文書化しており、同様に妥当性を検証していないようです。

Appleの指示に従いたいと思うことはほとんどありません。 「* .P12ファイルからアイデンティティを抽出して評価する」セクションには、パスフレーズで保護された証明書を含めて、証明書をインポートする方法の完全な例が含まれています。

"AdvancedURLConnections" sample codeServerTrustChallengeHandlerクラスとを組み合わせると、うまくいくはずです。


ここでもまたa more complete example by Vanja Komadinovićです。

+0

私はまだこれをテストしていませんが、チャンスを得るとすぐに – Maggie

関連する問題