私の質問は、この質問に関する Stackoverflowに多少関連しています。ただし、サーバーは単一のポートでリッスンします。サーバーは、クライアントの公開鍵証明書を自分自身で見つけた場合にのみ、クライアントを信頼します。サーバーが独自のファイルシステムを検索する公開鍵証明書(通常の安全でない接続上)の場合、クライアントに名前を送信してもらいたい。サーバーが証明書を見つけると、古い安全でないクライアント接続を SSL 接続に変換します。これは可能ですか?もしそうなら、どのように?
2 に答える
2
SSL が実際にどのように機能するかを理解していないようです。クライアント認証が必要になるように設定すると、クライアントはハンドシェイク中に証明書を送信し、サーバーはそれを取得して任意の方法で検証できます。Java ではHandshakeCompletedListener
、サーバーに をインストールするか、SSLSocket.getSession.getPeerCertificate().
于 2013-04-26T10:23:20.937 に答える
1
これを行うには、クライアントの証明書の名前をサーバーにPOST
プレーン送信することでリクエストを発行します。応答には、別のポート
を介して SSL 経由でサーバーに再接続するようにクライアントに指示する結果が含まれる場合があります。と
の両方に単一のポートを使用することは不可能であり、意味がありません。
一般に、あなたの要件は意味がありません。 HTTP
HTTP
HTTPS
于 2013-04-26T10:39:37.560 に答える