問題タブ [sslhandshakeexception]
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 - jdk.certpath.disabledAlgorithms=MD2 (javax.net.ssl.SSLHandshakeException)
私のコードは例外なく正常に機能していました。最近サーバーに接続しました。私のコードでは、サーバーのホスト名、ユーザー名、およびパスワードを変更しました。私は次の例外を得ました
グーグルで検索したところ、Java\jre7\lib\security\java.security
このリンクをクリックして参照したファイルを変更する必要があることがわかりました。
しかし、クライアント アプリケーションを開発する場合、このソリューションは十分ではありません。この問題を解決するより良い方法はありますか。
どんな助けもかなりのものです
ssl - SSLHandshakeException: 致命的なアラートを受け取りました: tomcat 7 サーバーで暗号を設定するときの handshake_failure
server.xml
このコネクタをファイルに追加して、安全な接続を受け入れるように構成しようとしたTomcat7 Webサーバーがあります。
このコマンドを使用して生成された自己署名証明書を使用しています。
クライアント側には、を使用してサーバーに接続するスプリング アプリケーションがありますRestTemplate
。アプリケーション コンテキストの起動時に、restTemplate
次の方法でインスタンスを初期化します。
クラス MyCustomClientHttpRequestFactory は次のようになります。
ここまではすべて正常に機能していました。SslThumbprintVerifier クラスにブレーク ポイントを設定すると、コードはこのポイントに到達し、NullHostNameVerifier クラスにも到達しました。これは本番環境でテストされ、うまく機能しました。
ここで、暗号スイートを制限してセキュリティを拡張したいと考え、最初に提示したコネクタにこのプロパティを追加しました。
クライアント コードを実行すると、次の例外が発生します。
これはrestTemplate.doExecute()
メソッドで発生します。コードは、暗号を追加する前のように、拇印検証クラスにもホスト名検証クラスにも到達しません。
デバッグで、次のことを確認しましctx.getSocketFactory().getSupportedCipherSuites()
た。
また、チェックしましたctx.getSocketFactory().getDefaultCipherSuites()
:
そして最後にctx.getSupportedSSLParameters().getCipherSuites()
:
私が理解している限り、クライアントでサポートされている/有効になっている暗号スイートとサーバーでサポートされている暗号スイートの間に共通点がある場合、それは機能するはずです (SSL_RSA_WITH_RC4_128_SHA
たとえば、このような共通点があります)。それでも、このエラーが発生します。
次のステップで、次の Java パラメータを追加しました。
ログには client-hello のみが表示され、server-hello の応答はありません。
server.xml から暗号を削除すると、再び機能します。 また、サーバーとクライアントの両方を同じマシンでテストしていることにも言及します。クライアントリクエストでサーバーのIPを「localhost」と実際のマシンのIPに設定しようとしましたが、どちらの場合も機能しませんでした。また、このサーバーを別のLinuxマシンで実行していました(もちろん、キーストアはLinuxパスを使用してLinuxマシンで生成されました)が、暗号なしで動作し、暗号での動作を停止します。
ssl - 同じセッションでの SSL ハンドシェイク後に SSL 証明書が必要なのはなぜですか?
私の質問は完全に Https 接続に基づいています。
シナリオは次のとおりです: https://www.example.com
に
接続していて、SSL 証明書を受け入れた後、同じサイトにログインすると、セッションが established されるとします。次に、ブラウザから証明書を削除し、同じサイトをさらに閲覧しようとすると、ブラウザが同じサイトの証明書の受け入れを要求します。なんでそうなの?
私の知る限り、秘密鍵が生成されたときのSSLハンドシェイクの後、その鍵はそのセッションのすべての暗号化に使用されます。サーバーとのセッションを確立した後、証明書は必要ないと思います。では、確立されたセッションの間にブラウザが証明書を要求するのはなぜですか。
java - 「SSL ピアが正しくシャットダウンされませんでした」で SSL 接続に失敗する Java 6 を、Java 7 のように成功させるにはどうすればよいですか?
Java 6 を実行しているクライアントからの SSL 接続が失敗し、次のような例外が表示されます。
サーバーは Tomcat 7 ベースのアプリで、Java 7、Linux、および Amazon EC2 で実行されます。
SSL 以外のポートに誤って接続するなど、考えられる原因について多くの提案を見つけました。ほとんどの場合、まったく同じクライアントが Java 7 を変更せずに実行しているときに動作するため、すべて除外したと思います。(どちらの場合も OS X です。)
以下に、Java 6 および Java 7 の SSL 接続手順からのデバッグ出力を含めます。専門家への私の質問は、これは、Java 7 のデフォルトである可能性のある暗号またはプロトコル設定を Java 6 で有効にして機能させることができることを示唆していますか?
Java 6:
Java7:
java - Java を使用して HTTPS URL に接続できない
Javaを使ってセキュアURL(HTTPS)を読みたいです。私は次のことを試みています。それは私に与えます
これにより、次の出力が得られます。
エラーを解決できる提案を教えてください。注: 証明書を取得できません。したがって、セキュリティのための証明書を取得するため、回答しないでください。
あらゆる種類のガイダンスをいただければ幸いです。ありがとう
axis2 - WSDL2Java 証明書エラー
Apache Axis2 に含まれる WSDL2Java.bat を使用してオンライン SOAP WSDL サービスから .java ファイルを生成すると、一部の証明書に関するエラーが発生します。これがどこから来ているのかわかりません。与えられた指示に従って動作するはずです。
問題が何であるか、またはどこを見始めるべきかについて、誰かがヒントを得ましたか?
ありがとう