2

KSOAP2 を使用して Web サービスを呼び出しています。最初は、セキュリティなし (HTTP のみ) で動作させようとしましたが、結果は成功でした。Web サービス (Apache Axis2 で実行) に SSL セキュリティを追加しましたが、KSOAP2 を使用して Android アプリから接続できません。私は周りを検索してきましたが、得られる唯一の答えは、信頼されていない証明書をすべて信頼する必要がある(偽のトラストマネージャーを作成する)ことを教えてくれるものだけです。

ksoap2-android を使用した信頼できない証明書

HTTPS を使用した KSOAP 2 Android

そして、彼らは常に同じコードを貼り付けます:

private TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
        return null;
    }
    public void checkClientTrusted(
        java.security.cert.X509Certificate[] certs, String authType) {
    }
    public void checkServerTrusted(
        java.security.cert.X509Certificate[] certs, String authType) {
    }
}
};

これは私が探しているものではありません。この答えは、たとえそれが機能したとしても、単なる回避策であり、問​​題を解決するのではなく、回避するだけです。私が知りたいのは、Android cacerts を変更して信頼できない証明書を追加する方法があるかどうか、または私が話した解決策を回避するために何かをする方法があるかどうかです。可能であれば、新しいトラストマネージャーを作成したくありません。

4

1 に答える 1

0

エミュレーターを使用している場合は、サーバー IP に 10.0.2.2 を使用しないでください。私にとってはうまくいきませんでした。

物理デバイスでアプリをテストしてみてください (Wifi 経由)

于 2013-07-15T08:18:27.883 に答える