問題タブ [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.
ssl - SSL LDAP ルックアップが handshake_failure で失敗する
SSL が有効になっている LDAP サーバーに接続しようとしています。認証を使用したくないため、SSLSocketFactory をオーバーライドしてすべてのサイトを許可しました。次のエラーが表示されます:
SSL ログは次のとおりです。
weblogic - 異なるポートで 2 つの diff https サーバーに接続する際の SSL の問題。javax.net.ssl.SSLHandshakeException: ハンドシェイク中にリモート ホストが接続を閉じました
問題の説明
「javax.net.ssl.SSLHandshakeException: ハンドシェイク中にリモート ホストが接続を閉じました」というエラーが発生し、HTTPS URL 経由で SOAP 要求を送信する
環境:
1) Weblogic 10.3.6.0.1
2) Java バージョン "1.6.0_31" Java(TM) SE ランタイム環境 (ビルド 1.6.0_31-b04)
3) リクエストを送信する Https サーバーが Jetty サーバーである
概要:
1) アプリケーションの以前のリリースでは、HTTPS URL を介してサーバー 1 に SOAP メッセージを送信していました
2) 現在のリリースでは、サードパーティの https サーバーを内部的に呼び出すサードパーティのクライアント jar を使用する新しい要件を実装しました
3) サードパーティのクライアント jar が設定されていますSSL 証明書をアップし、リクエストを送信します。SSL の場合、彼らは 443 ポートを使用しており、ホスト サーバーのプロキシを開いています。
4) これで、Https 経由で接続している 2 つのサードパーティ サーバーができました。サーバー 1 の https ポートは 30042 で、サーバー 2 の https ポートは 443 です。
エラーのユースケース シナリオ:
1) https 経由でサーバー 1 にリクエストを送信し、適切に応答を返します。
2) プロキシ サーバー経由でサード パーティのクライアント jar を使用してサーバー 2 に要求を送信し、適切に応答を取得します。
3) https 経由でサーバー 1 にリクエストを送信すると、「javax.net.ssl.SSLHandshakeException: ハンドシェイク中にリモート ホストが接続を閉じました」というエラーで失敗します。
4) サード パーティのクライアント jar を使用して Server2 に要求を送信し、適切に応答を取得します。
5) サーバー 1 では常に失敗し、 HTTPS 経由で
SOAP メッセージを送信できません
。内部でソケットを開き、それに書き込みます
エラーコード
-------------------------------------------------- -
javax.net.ssl.SSLHandshakeException: ハンドシェイク中にリモート ホストが接続を閉じた
この環境に対する最近の変更
現在、アプリケーションを Solaris から Suse Lunix サーバーに移行しました。
プロセッサの仕様
Linux onsrnasdfgpsdev1 2.6.32.54-0.3-default #1 SMP 2012-01-27 17:38:56 +0100 x86_64 x86_64 x86_64 GNU/Linux
Weblogic 10.3.6.01 Java バージョン "1.6.0_31" Java(TM) SE ランタイム環境 (ビルド1.6.0_31-b04) Java HotSpot(TM) 64 ビット サーバー VM (ビルド 20.6-b01、混合モード)
回避策
• Server 1 接続の場合、生のソケットを作成し、ホストとポート (30042) を設定します。
• リクエストは順調に進んでいます。
• しかし、SOAPConnection または HttpsURLConnection を使用すると、リクエストが送信されず、Handshake エラーがスローされます
• Server1 に Http Url を使用すると、すべて正常に動作します
ruby-on-rails - PEM 証明書を取得します: SSL_connect が返されました=1 errno=0 状態=SSLv3 読み取りサーバー証明書 B: 証明書の検証に失敗しました
他の多くの人と同じように、Ruby でエラーが発生しました: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed.
cacert.pem をダウンロードして、次のように追加しようとしました。
そして、このように:
チェックをキャンセルしようとしました:
しかし、運はありません(これを修正したい方法ではありません)。奇妙なことは、それが時々機能することです。
今、私はこれを試していますが、証明書を見つけるのに問題があります:
そこでhttps://myserver.com/Request.ashx
、Chrome でリクエストを開き、小さなロック アイコンをクリックして証明書の詳細を取得しました。しかし、エクスポートする PEM ファイルが見つかりません。それがCOMODO証明書であることがわかります。私はサーバーを所有していないので、これに対する解決策を自分で見つけなければなりませんでした。
cxf - Web サービスへの 2 回目の呼び出しで例外を取得する
呼び出すサービスがあります (cxf を使用してクライアント コードを作成します)。展開後、最初のサービス コールを問題なく行うことができます。ただし、2回目の呼び出しで次のエラーが発生します。
javax.net.ssl.SSLHandshakeException: https://ifsy-soa-dev01.oracleoutsourcing.com:443/soa-infra/services/Publishers/ItemAddSyncMasterItemListEBMPublisher/item-add-dev-send-to-PSを呼び出す SSLHandshakeException :
sun.security.validator.ValidatorException: PKIX パスの構築に失敗しました: sun.security.provider.certpath.SunCertPathBuilderException: 要求されたターゲットへの有効な証明書パスが見つかりません
奇妙なのは、私のローカル開発 Weblogic サーバーでは、この問題が見られないことです。以前にこの問題を解決した人はいますか?
よろしくお願いします!
java - javax.net.ssl.SSLHandshakeException
最近、GoDaddy によって署名された証明書を持つ Amazone ロード バランサーの SSL で保護された Web サービスを実行しようとしていた Java アプリケーションの 1 つで問題が発生しました。公開鍵証明書チェーン ファイル (PEM エンコード) の内容を [証明書チェーン] ボックスにコピー アンド ペーストしませんでした。現在、次のエラーが表示されていました。
. この例外を解決する方法はありますか?
java - 証明書をインポートした後も SunCertPathBuilderException が発生する
SSL経由でLDAPサーバーに接続しようとしていますが、サーバー証明書を取得して次のようにインストールしました:
証明書が正常にインストールされたというメッセージが表示され、次のコマンドで証明書がインストールされたことを確認できます。
そして、信頼できる証明書のリストで自分の証明書を見つけることができます。
LDAPサーバーに接続する方法は次のとおりです。
cmd から証明書をインストールし、アプリケーションを実行しようとした後でも、例外が発生します。
HTTPS/SSL 経由のポスト Java クライアント証明書のように、ldap に接続する前にdisableCertificateValidationメソッドを使用しようとしました
しかし、それも同じ例外を与えます。
なぜまだこのエラーが発生するのか教えてください。
android - Volley を使用して Android で SSLHandshakeException を取得する
私たちのサーバーは、Android (Go Daddy) に含まれている CA の 1 つではない CA (認証局) を使用しています。ネットワーク リクエストにVolley ( https://android.googlesource.com/platform/frameworks/volley/ ) を使用しているため、この問題の対処方法がわかりません。デベロッパー サイト ( http://developer.android.com/training/articles/security-ssl.html ) の例なので、HttpUrlConnection のような方法で説明します。