.-- --

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 comment(-) trackback(-)
.26 2010

セキュアなネットワークへのアクセス

Tasakiです。

ここ最近、とても暖かいですね。いや暑いくらいです。
とても2月とは思えません。一体何が起こっているのでしょうか?

今週はSDK 3.2 beta 3 も公開され、そろそろフィックス版も近いのかなと推測していますが、ここ最近何かと出くわすことの多かった、この話題について取りあげてみます。
iPhoneは携帯電話ということで、セキュリティについては特に重視した設計になっていますが、そのために困った問題が発生することもあります。

httpsスキームが、その代表例でしょうか。
この場合、認証局の署名がされていない自己署名の証明書では、通信時にエラー扱いにされてしまいます。Macでは警告ダイアログなのに、ちょっと乱暴な気がします。

これを回避するための魔法のコードがこれです。
@implementation NSURLRequest( NSHTTPURLRequest ) 
+ ( BOOL ) allowsAnyHTTPSCertificateForHost:( NSString* ) host {
return YES;
}
@end
これをコードのどこかに記述しておけば、ビルド時に警告が7件くらい出るものの、自己署名証明でも問題なく通信を行うことができるようになります。
ただし、AppStoreで配布する場合には、審査を通過しないようです。うーん。

また、BASIC認証が必要なURLへUIWebViewからアクセスする場合も注意が必要です。
事前にBASIC認証のかかったサイトであることが分かっている場合は、
NSURL* url = [ NSURL URLWithString: @"http://user:password@www.test.com" ];
[ webVIew loadRequest:[ NSURLRequest requestWithURL: url ]];
と言った具合で記述しておけば、問題なく表示することが可能な訳ですが、そうでない場合には、非公開APIを利用してイベントを取得する必要があるようです。
この方法については、私自身が未検証なので、リンクだけ貼らせていただきます。
http://d.hatena.ne.jp/KishikawaKatsumi/20090603/1243968707
なお、Mobile Safari では、専用の入力フォームが表示されるようになっています。なんかずるいですよね。

こんな感じで、通信部分のAPIについては、今後更なる拡充をお願いしたいところですね。

関連記事
スポンサーサイト

Comment

Post comment

  • comment
  • secret
  • 管理者にだけ表示を許可する

Trackback

trackbackURL:http://appteam.blog114.fc2.com/tb.php/95-a8b04484

ブログ内検索

関連リンク

製品情報

最新記事

カテゴリ

プロフィール

neoxneo



NEXT-SYSTEM iOS Developers Blog


  • UTO:
    カナダ版iPhone4Sは、マナーモードでシャッター音がならない…


  • Ehara:
    ...


  • Hayate:
    ...


  • Tasaki:
    Developer登録完了...したのはいいけど


  • Ueda:
    ...



リンク

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。