2014年5月1日木曜日

Android SSL 接続設定

AVD 起動。4.4 の場合 Android 仮想デバイスマネージャーから起動。
4.3 の場合はオプションなしだと systemディレクトリの残量が無いので、パーティションサイズを指定する。
コマンドプロンプト(管理者)で以下を実行。
cd C:\Users\ユーザ名\android-sdks\tools
emulator -avd sample -partition-size 300

 「Setting」「Security」「Screen lock」を「PIN」に変更しておく。

hosts ファイルを準備。
127.0.0.1  localhost
10.0.2.2   www.s6131.jp

コマンドプロンプト(管理者)で以下を実行して hosts 転送。
AVD 起動毎に必要。
cd C:\Users\ユーザ名\android-sdks\platform-tools
adb remount
adb push hosts /system/etc/

Android ブラウザから PKCS#12 ファイルを読み込み。
http://www.s6131.jp/server.p12

インポート完了後、「Setting」「Security」「Trusted credentials」の「USER」一覧に追加されている事を確認。
4.4 の場合 Network may be monitored の警告が出る。
Android ブラウザから警告なしで SSL 要求が接続できる事を確認。
https://www.s6131.jp/

SampleApp Android プロジェクトのリクエスト URL を http から https に変更。

AsyncHttpRequest.java
String url = "https://www.s6131.jp/sample/sampleList?cd=" + searchText;

AsyncLoginRequest.java
URI url = new URI( "https://www.s6131.jp/sample/j_spring_security_check" );

SampleApp をデバッグ実行、問題なく接続できることを確認。