問題タブ [jsse]
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 - Java で単純な HTTPS プロキシ アプリケーションを実装しますか?
教育目的で Java を使用して単純な HTTPS プロキシ プログラムを作成しています。私のプログラムは、ポート ( 7443など) でブラウザー ( Firefoxなど) からの受信 HTTPS リクエストをリッスンし、リクエストを解析して目的の宛先 ( https://www.comodo.comなど) に転送します。
Firefox のプロキシ設定は、SSL 接続に自分のポートを使用するように設定されています ( 127.0.0.1 : 7443)。
私のコードは短くてシンプルです:
しかし、私は次の例外をキャッチしています:
例外は、接続がプレーンテキストである可能性があることを示していますが、Firefox からの HTTPS 接続のみがこのポートを使用するように設定されています。Firefox がアプリケーションに送信しているものをログに記録しました。これは次のとおりです。
Firefox は palin-text を話していますが、これは SOCKS コマンドだと思いますCONNECT(確かではありませんが)。Firefox の SOCKS 設定で何も設定していません。以下は、Firefox のプロキシ設定のスクリーンショットです。

ここで何が欠けていますか?! これを Firefox やその他のブラウザで動作させるにはどうすればよいですか?!
-------------------------------------------------- ----------------------------
これが別の質問の重複であり、別の質問で回答されていると思われる場合は、次のように言わなければなりません。はい、両方の質問は同様の問題に根ざしていますが、引用された質問の唯一の回答はSSLソケットの使用を指示しています誤解を招くことが判明し、この新しい質問になりました。したがって、それらは同様の問題を対象としていますが、この質問は、問題を解決するための完全に異なる、しかも誤解を招く道筋を示しているため、将来そのような問題に直面する人に役立つガイダンスを提供できます.
java - javax.net.ssl.SSLException: 致命的なアラートを受信しました: protocol_version
以前にこのエラーに遭遇した人はいますか? 私は SSL を初めて使用します。ClientHello に明らかに問題があり、欠けているものはありますか? その例外は、ServerHello 応答なしでスローされます。アドバイスをいただければ幸いです。
{ http://xml.apache.org/axis/ }stackTrace:
...
security - javax.net.ssl.SSLHandshakeException: 致命的なアラートを受信しました: certificate_unknown
Java SSL セッションを使用して、クライアントとサーバー間に安全なチャネルを確立したいと考えています。
コマンドラインからこのコマンドを実行してサーバーキーを作成した後、次のリンクhttp://www.herongyang.com/JDK/ssl_https.htmlに従って接続を確立しました。
keytool-genkey-alias Herong keyalg-RSA-keysize 1024-keystore. キーストア
このコードは、「致命的なアラートを受信しました: certificate_unknown」というエラー タイプを返します。コードのどこにエラーがあるのかわかりません。
sockets - JAVA JSSEのTLS/SSLでハンドシェイクメッセージを操作する方法は?
私が知りたいのは、メッセージ ハンドシェイク SSL/TLS を Java コードで処理できるかどうかです。つまり、クエリ ClientKeyExchange で、サーバーに送信されるキーを操作または選択できるかどうかです。
java - 読み取りが-1を返した後、Java SSLSocketは何をしますか?
Java サーバーを使用して、安全な WebSocket を備えたブラウザーに接続しています。すべてが接続で正常に動作しますが、多くの場合、socket.in.read(buffer,off,len) から予期しない -1 の結果が返されます。これはフレームの途中でも発生します。通常、ストリームの終わりであるため、-1 を受信するとすぐにソケットを閉じます。ただし、接続のリセットでも発生する可能性があることに注意してください。私のテストでは、読み取り後に貴重なデータを返すソケットが -1 を返すという多くのケースに遭遇しました。私はこれが頻繁にあるとさえ感じています。私の問題は、そのような場合にソケットからスクランブルされたデータを取得することがある場合に発生します。もう 1 つの問題は、フレームが配信されない場合に相手側に通知されないことです... では、TCP/SSL の利点は何でしょうか? Javaでwebsocketフレームを転送するための信頼できない接続と考える必要がある場合?
パケットの到着を確実にするための信頼できない接続に対処するために使用するスキームがいくつかあります。しかし、読み取りが -1 を返した後に何をすべきかを誰かが知っていることを願っています。
この説明がやや曖昧で申し訳ありません... この問題の解決にうんざりしています。
ごみが入ってくる例 (JSON データを含むテキスト フレームのみが送信されます):
これは、受信したフレームの別の例ですが、少し形式が正しくありません!? これは TCP/TLS 接続でどのように可能ですか???:
{"keep-alive":"[UUID]"} と読むことになっています
一方、さらにテストを行ったところ、-1 を受信した後も読み続けると、10 回中 9 回は機能することがわかりました。したがって、フレームの途中まで読んで -1 を受け取ったとしても、ソケットが閉じているかどうかを何らかの方法でテストする必要があります。そうでない場合は、バッファをいっぱいにしていきます。そうするために、ソケットが SSLSocket である次のコードを使用します。
まだ 100% 正しいわけではありませんが、少なくとも以前よりも信頼性の高い結果が得られます。
java - Java アプリケーション SSLSockets - 認証
私は Java アプリケーションを開発しており、Secure Sockets を介してサーバーにいくつかの文字列を送信する必要があります。信頼できる CA によって生成された独自の証明書を使用する必要があります。
ファイル証明書は myOwnCRT.crt です
クライアント
サーバ
SSLSockets を介してサーバーに 2 つの文字列を送信するにはどうすればよいですか?
あなたが私を助けてくれることを願っています。
どうもありがとう
java - SSLSockets Java アプリケーションに基づく認証
Java アプリケーションを開発しており、Secure Sockets を介してサーバーにいくつかの文字列 (ユーザーとパスワード) を送信する必要があります。信頼できる CA によって生成された独自の証明書を使用する必要がありますが、例外が発生します。
サーバ
クライアント
これは、出力ウィンドウの結果です。
あなたが私を助けてくれることを願っています。
どうもありがとう