問題タブ [httpsurlconnection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Eclipse プラグイン開発者、接続時にユーザー/パスワード ウィンドウをポップアップ表示する HttpsURLConnection を停止する方法
JDK IBM 1.6 Eclipse 3.6.2
次のコードでサーバーに接続します。
URL urlTemplate = 新しい URL(uri); uc = (HttpURLConnection) urlTemplate.openConnection();
間違った資格情報で接続すると、入力として正しい資格情報を入力するためのウィンドウがポップアップ表示されますが、それを停止するにはどうすればよいですか? 組み込みのアクションのようで、その組み込みの機能を停止することはできません。
別の問題は、一度サーバーに正常に接続すると、資格情報が保存され、その後のテストはすべて間違ったユーザー/パスワードを使用しても機能することです。新しい入力ユーザーとパスワードをテストできるように、キャッシュをクリアする方法は?
java - Android から HTTPS POST を実行するには?
HTTPS ポスト メソッドを実行して、Android アプリから Web サイトにデータを送信したいと考えています。
最初に使用HttpURLConnection
しましたが、HTTP URL で正常に動作しています。私の実稼働 Web サイトは HTTPS を使用しており、を使用して同じ POST を送信したいと考えていますHttpsURLConnection
。誰かがクラスを適切に使用するのを手伝ってくれますか?
このリンクでソースを見つけました:
の値は KeyStore keyStore = ...;
?
同じ を使用してデータを送信しようとしました HttpURLConnection
が、一部の POST データが欠落しているかエラーになっています。
この質問の方法を試しました。以下にコードを貼り付けます
私が得ているエラーは以下の通りです:
android - Fiddler - Android HttpsUrlConnection SSL トラフィックを復号化する
HttpsUrlConnection の Fiddler を介して Android SSL トラフィックを復号化しようとして数え切れないほどの時間を費やしてきましたが、ほとんど成功していません。HttpsUrlConnection を使用して Android アプリからの SSL トラフィックを復号化するように Fiddler を確実に構成するにはどうすればよいですか?
ここに私のステップがあります
- PC で Fiddler を実行します (適切な設定: HTTPS 接続のキャプチャ、HTTPS トラフィックの復号化、リモート コンピューターの接続の許可)
- フィドラーを実行しているPCを介してプロキシするようにAndroidデバイスでワイヤレス接続を構成します
- Android デバイスからブラウザーを開き、http://[ fiddler を実行している PC の IP]:8888 にアクセスし、「FiddlerRoot 証明書」をダウンロードします。名前を付けてインストールします。
- Android ブラウザーでhttps://www.google.comを開き、PC の Fiddler で復号化されたトラフィックを表示します。
上記の作品。問題は、ブラウザー以外の Android トラフィックが接続トンネルとして Fiddler に表示されることです。私の最初の調査では、この問題は HttpsUrlConnection を介して証明書がどのように信頼されていたかが原因であることが示唆されたため、この記事https://secure.mcafee.com/us/resources/white-papers/wp-defeating-sslに基づいてすべての証明書を信頼するようにしました。 -cert-validation.pdf
残念ながら、すべての証明書を信頼しても HttpsUrlConnection ではうまくいかなかったため、調査を中止しました。数日後、もう一度試してみることにしました。驚いたことに、フィドラー トラフィックが HttpsUrlConnection で復号化されていました。残念ながら、これを修正するための変更を加えていないため、なぜ機能し始めたのか完全にはわかりません. 動作するデバイスは LG-Optimus L9 Android バージョン 4.0.4 であり、ルート化されています。
今、私はこれをNexus 7 Androidバージョン4.2.2(ルート化されていない)用に構成しようとしていますが、悲しいことに、フィドラーに表示されるのは接続トンネルだけです。両方のデバイスの証明書には同じシリアルがあり、テストしているアプリは同一であるため、別の Android デバイスで Fiddler を構成できない理由について困惑しています。
要約する
- Fiddler は LG Optimus からの SSL トラフィックを復号化できますが、Nexus 7 からの接続トンネルのみを表示します
- 両方のデバイスが、ネットワーク リクエストに HttpsUrlConnection を使用する同じアプリを実行している
- 両方のデバイスに同じフィドラー証明書がインストールされており (シリアルが一致)、他のユーザー証明書はインストールされていません。
- これらは問題ではないと思いますが...
- ルート化されたデバイス (LG Optimus Android 4.0.4) は、Proxy Droid を使用して、フィドラーを実行している PC をポイントします。
- ルート化されていないデバイス (Nexus 7 Android 4.2.2) で、組み込みの「ネットワークの変更」を使用して、フィドラーを実行している PC を指す
java - HttpsURLConnection の SSLSocket
JEditorPane
SSL/TLS 経由で Web サイトをロードする があります。私の目標は、SSL ハンドシェイクの完了メッセージのような SSL 接続の特定の情報を (反映して) 取得することです。私が得る唯一のものJEditorPane
はURL
、したがって、HttpsURLConnection
です。
しかし、どうすれば の を取得できSSLSocket
ますHttpsURLConnection
か? 何か案は?
java - HttpsURLConnection を使用して作成されたソケットに使用される暗号とプロトコルのリストを設定する方法は?
を取得する通常の方法はSSLSocketFactory
、 newSSLContext
を で初期化しTrustManager
、メソッドKeyManager
をSecureRandom
使用するgetSocketFactory()
ことです。ただし、これでは、必要な暗号スイートまたはプロトコルを有効にすることはできません。
HttpsURLConnection
このような変更を許可する唯一の構成は、デフォルトを設定することですSSLSocketFactory
。メソッドを拡張SSLSocketFactory
してオーバーライドし、getDefaultCipherSuites()
によって作成されたソケットをラップcreateSocket()
して、必要な暗号とプロトコルを設定するクラスを作成できます。TrustManager
ただし、この方法では接続の初期化ができませんか?
両方を実行できる方法はありますか?暗号スイートとプロトコルを設定し、信頼マネージャーを初期化しますか?
java - TrustManager の checkServerTrusted() で CertPathValidatorResult を取得するには?
checkServerTrusted
クラス実装のメソッドX509TrustManager
が呼び出されると、証明書チェーンに関連付けられているすべての検証エラーを取得する必要があります。
- 証明書パスの検証の問題。例: CA は信頼されていません
- 証明書フィールドの検証の問題。例: 期限切れの証明書、無効な拡張キーの使用法
この背後にある動機は、現在の Firefox のように「例外」として追加する前に、ユーザーに証明書の検証の問題を提示できるようにするためです。ただし、現在、パス検証の問題が見つかるとすぐに aCertPathValidatorException
がスローされますが、証明書のフィールドの有効性に関する情報は得られません。どうすればこれを実装できますか?
少し読んだ後、CertPath
API がそのような機能を提供していることがわかり、PKIX 実装がこれのラッパーであることがわかりましたが、CertPathValidatorResult
. すべての検証の問題を返しながら、(独自のカスタム ラッパーを API に記述することなく) 既存の Java 機能を最大限に活用したいと考えています。
android - URL 接続要求から SSL 証明書の詳細を取得する
androidで、HTTPS URLへのURL接続をしたいです。接続が開かれた後、サーバーから証明書を読み取り、発行された共通名と組織文字列を取得できるようにしたいですか?
これは可能ですか?もしそうなら、最善のアプローチは何ですか?
これまでのところ、HttpsUrlConnection を次のように使用してきました。
しかし、この時点以降、特定の証明書の詳細を取得する方法がわかりません。これが正しいアプローチであるかどうかはわかりません。
android - HttpsURLConnection での「接続は既に確立されています」という例外
を使用して POST リクエストを実行しようとしていHttpsURLConnection
ます。
setRequestMethod
奇妙なことに、直前にconn.connected
戻ります。false
私は何が欠けていますか?
編集
私は DefaultHttpClient を試してみましたが、動作するので、代わりに使用します。
java - Java のデフォルトの http(s) URLStreamHandler への参照を取得する
私のプロジェクトの 1 つで使用する必要があるライブラリがありますが、残念ながらURLStreamHandler
http- を処理するために独自のライブラリを登録していURLs
ます。Java のデフォルトの http- および https- への参照を取得する方法はありますか?ライブラリによってオーバーライドされたプロトコルを使用せずに標準の http 接続を開くために、のコンストラクターURLStreamHandlers
でそれらのいずれかを指定できますか?URL