2011年7月13日水曜日

ksoap2 android SSL対応

・トランスポートで「HttpsTransportSE」を使うだけ。
・オレオレ証明だと、APIでエラーになり使えない。
→テストができない!
実機 :comodoのフリーSSL(3か月間のみ)を使う
エミュ:Androidをroot化してルート証明書を入れる。
KSOAPの一部(HttpsServiceConnectionSE)を作り替える。
全てのHost名を検証にパスするよう素通しのHostnameVerifierを設定する。

※補足:Tomcatを自己証明書でSSLにする方法
JDK標準のkeystoreを使う。
対話形式で色々聞かれるので入力していき、公開鍵を生成する。
これをTomcatに設定すればOK
詳細はここ→http://buzzmemo.blogspot.com/2010/03/tomcatssl.html

※補足:Androidエミュへのルート証明書インストール
事前に…証明書をブラウザからエクスポートしておく必要あり。
BKSのライブラリをDLしてパス通しておく必要あり。
詳細はここ→http://www.glamenv-septzen.net/view/969
↓コマンド例
emulator -avd 2.2 -partition-size 128
adb pull /system/etc/security/cacerts.bks
keytool -keystore cacerts.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -importcert -trustcacerts -alias shomeisho -file shomeisho.crt
adb remount
adb push cacerts.bks /system/etc/security/cacerts.bks

0 件のコメント:

コメントを投稿