2016-09-21 16 views
1

現在、私はAndroidスタジオを使用してAndroid用モバイルアプリを開発中です。AndroidスタジオHTTPSとSSL証明書

これまでのところ、私のモバイルアプリのlogin/senddata/getdata/viewdataはローカルPCの魅力のように動作し、HTTPウェブのように動作します。私はこの問題は、/私のモバイルアプリがデータを送信/実行させるデータを取得/私のHTTPSサーバーにPHPMySQLと通信する方法です私は

のコーディングにHttpURLConnectionのを使用しています。

HTTPウェブサーバーでのみ動作します。 HTTPSがまったく動作せず、モバイルアプリがクラッシュして動作を停止します。私はHTTP & HTTPSサーバー(SSL &自己署名証明書)

両方に私のモバイルアプリケーションをテストしてい

は、私はHTTPSにそれがアクセスできるようにするのに注意する必要があり、コーディング上の任意の追加があります?

ありがとうございました。

答えて

0

The official Android documentation for HTTPSがよく見られるエラーなど、Androidの中にどのようにHTTPSを接続する作業、詳細を持っている無料のSSL用 てみてください動作しません。

CAまたはリセラーから発行された信頼できる証明書をお持ちの場合は、HttpURLConnectionを使用している現在のコードが正常に動作するはずです。デフォルトHostnameVerifierSSLSocketFactoryをオーバーライドすることができますHttpsURLConnectionを返します「https」のスキームを持つURLにopenConnection()を呼び出すhttps://developer.android.com/reference/java/net/HttpURLConnection.html

から。 SSLContextから作成されたアプリケーション提供SSLSocketFactoryは、証明書チェーンを検証するためのカスタムと、クライアント証明書を提供するカスタムX509KeyManagerを提供できます。

自己署名入り証明書を使用している場合(プロダクトでは推奨されません)、this article at CodeProjectはこれを処理するプロセスを示しています。

+0

返事のおかげで:)。私のhttpsサーバ(https://eapps.puncakniaga.com.my)。それは接続がプライベートではないと言います。証明書はありますが、有効ではありません。それは問題の原因ですか? – Rozaimi

+0

ここにアンドロイドスタジオのログインコードがあります。 http://www.puncakniaga.com.my/pnhbnew2/Login.txt、http://www.puncakniaga.com.my/pnhbnew2/LoginTask.txt – Rozaimi

+0

おそらく。サイトは自己署名入りの証明書を使用します。 SSL証明書ベンダーから有効な証明書を取得する予定がある場合は、それを行い、アプリで自己署名証明書のエスケープルートを構築するのではなく、サーバーに展開してください。また、古いバージョンのApache HTTP Server(2006年から2.2.3)とOpenSSL(2006年から0.9.8d)を使用しているようです。大量のSSL脆弱性や攻撃に対して脆弱でない限り、これらを更新してください。 SSL設定のセキュリティはhttps://www.sslllls.com/ssltest/analyze.html?d=eapps.puncakniaga.com.my&ignoreMismatch=on –

-1

は、自動証明書を使用すると、7日https://www.globessl.com/

+0

返信いただきありがとうございます:)私はすでにhttpsサーバを持っています。自分のモバイルアプリがそのサーバーにデータを取得/送信する必要があるため、モバイルアプリにアクセスできるようにする方法を知りたいだけです。歓声 – Rozaimi