問題タブ [sslstream]
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.
c# - C# でプロキシを使用して HTTPS 要求を中継する
リクエストヘッダーにいくつかのロジックを備えたプロキシを構築しました。
ソケットを使用しています。接続が発生する前に、プロキシ内でヘッダーを解析し、認証を追加して、リクエストをターゲット ホストに転送します。
そして今、私は次の問題に遭遇しました:
- httpsリクエストをリレーする必要があります
- 本文の操作は必要ありません。ヘッダーを同じ方法で変更し、CONNECT をターゲットに転送し、応答を受信してソース ソケットに戻るだけです。
質問:
プロキシ側に CA は必要ですか? リクエストを転送および受信するために SSlStream を使用する必要がありますか?
もしそうなら、アルゴリズムは何でしょうか?
iis - TCPChannel を使用した SSL 経由の .NET リモート処理
.NET Remoting を SSL で保護する必要があります。TCPChannel を使用していますが、HTTPChannel に切り替えて IIS を使用して SSL を追加することができません。
したがって、私が理解したことは、クライアント/サーバーに出入りするストリームを暗号化する独自のシンクを作成する必要があるということです。そのために、MSDN で良い記事を見つけました: http://msdn.microsoft.com/en-us/magazine/cc300447.aspx。ただし、その記事はクリプト、ハンドシェイクなどを開発しています。
「車輪の再発明」はしたくありません。このロジックを自分で開発するとき、間違いを犯すことを恐れています。私はむしろ、私のためにそれを行ういくつかの SSL 実装 (SslStream や OpenSSL など) を使用したいと考えています。
TCPChannel を使用して .NET Remoting で SslStream または OpenSSL を使用できますか? 簡単な使い方を教えてください。
ご協力ありがとうございました。
c# - SslStream で発行者証明書のダウンロードを無効にすることは可能ですか?
SslStream
を使用して、自己署名 CA 証明書を使用する内部の信頼できるサーバーに接続する場合、発行者証明書の自動ダウンロードを無効にしたいと考えています。
その理由は、無効なネットワークの場所を指すように証明書が壊れているため、(ほぼ) すべての SSL ハンドシェイクで約 10 秒間接続が停止するためです。
これはどういうわけか可能ですか?
c# - SslStream.Read が IOException になる
SslStream を使用して Web サイトに接続し、リクエストを渡そうとしていますが、次の IOException が発生します。
トランスポート接続からデータを読み取ることができません: 接続先が一定時間後に適切に応答しなかったために接続の試行が失敗したか、接続されたホストが応答しなかったために確立された接続が失敗しました。
これをより効率的にテストするために、スタンドアロン プログラムを作成し、ここからクライアント コードのサンプル コードをコピーしました。 .110).aspxを作成し、相手側の API に基づいて要求を渡しました。
失敗している部分はsslStream.Read(buffer, 0, buffer.Length)です。これは決して返されず、IOException の発生元です。
私が接続しようとしている人々は、SSL ハンドシェイクが失敗していると言っていますが、私たちの側ではその兆候は見られません。常に sslStread.Read になり、失敗します。彼らは時々、リクエストを受け取ってレスポンスを送信していると言っていますが、レスポンスが返されるのをまだ見たことがありません.
ありがとう
c# - RSA、SSLStream - 鍵交換
私は SSLStream を使用して、OpenSSL 証明書を使用してクライアントとサーバーを通信しています。
そして、私が使用するクライアントは、RSA 暗号化を使用する必要がある独自のソフトウェアを備えたマシンです。
テスト用にサーバーとクライアントを作成し、自分のコンピューターをクライアントとして、他のコンピューターをサーバーとして使用し、これらのマシン間のsslstreamとde rsa暗号をテストするためだけに、簡単な鍵交換を行いました。
両方のマシンが次のように公開鍵を送信します。
そして、両方のマシンがキーを受け取り、次のように作成します。
しかし、私が使用する元のクライアントでこれをテストすると、鍵交換は同じ方法ではありません。
キーを交換する別の方法はありますか?元のマシンが別の方法を使用してこれらのキーをサーバーと交換していると確信しているためです。
c# - Tls の代わりに Ssl3 を使用する SSLStream を作成する方法
Ssl3 を使用して暗号化された tcp 接続を確立しようとしています。
基本的に、私はTCP接続を作成しているだけで、その上にSSLStreamを作成しています:
私の問題は、デフォルトで SslStream が TLS を使用することです。Ssl3にしたいです。
HttpWebRequest では、次のコードを使用してプロトコルを変更できます。
確認しましたが、SslStream には影響しません。
SslStream のプロトコルを Ssl3 に変更するにはどうすればよいですか?
java - 添付のコードを使用した SSLSocket 通信は安全ですか?
を使用してチャットサーバーとクライアントを開発しましたが、オンラインのどこかで通常の通信が攻撃に対して脆弱Sockets
であることを読むまで、すべてが順調でした。しばらくグーグルで調べた後、サンプルと実装 (以下のコード)を示すこのページSocket
に出くわしました。SSLServerSocket
SSLSocket
以下のコードの手順に従う場合、サーバーとクライアント間の通信が安全かどうかを知りたいです。
サーバーコード
クライアントコード
c# - 事前に取得した自己署名証明書のコピーに対する SSL サーバーの認証
を使用して C# クライアントとサーバーの間で通信しようとしていますSslStream
。ただし、サーバーの証明書は自己署名です。
クライアントは、サーバーの証明書の公開部分のコピーを所有しており、改ざん防止 (リッスン防止ではない) チャネルを介して送信されると想定されています。
これを安全に使用してサーバーを認証できますか?そのためには、クライアントSslStream
またはそのに何を入力すればよいRemoteCertificateValidationCallback
ですか? これまでのところ、検証を使用するすべての試みは信頼の欠如のために失敗しました。コールバックが今のところ行っているのは、名前とフィンガープリントの比較です。
受け入れられる場合、検証のためにクライアントに公開証明書のコピーを「信頼」させるにはどうすればよいですか?