問題タブ [sslengine]
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.
google-cloud-platform - https Webサイト、特にgoogle cloud runに接続するためのSSLEngineを作成する方法は?
Web サイトからのすべての証明書はルート CA などによって署名されており、サーバーではなくクライアントを作成しているため、それらすべてに接続できる SSLEngine を作成するにはどうすればよいですか? または、接続するために証明書などをダウンロードする必要がありますか? (ほとんどのリンクはサーバーであるため、jdk が証明書に関するブラウザーと同じ情報をすべて持っていることを望んでいます。これは簡単に行うことができますが、ほとんどのリンクはサーバーであるため、Google のスキルを見つけるのに問題があります)。
編集:より明確にするために、自己署名証明書で動作するようなクライアントコードがあります。現在、クロムのロックをクリックして、必要なWebサイトから証明書をダウンロードしました。それをキーストアにインポートしましたが、まだ機能していません...
次に、SSL 交換のデバッグをオンにする方法を見つけて、それが役立つかどうかを確認します。現在、なぜこれが機能しないのか途方に暮れています。
痛い、デバッグログはこれを指している
そのため、何かが大きな問題を引き起こしていますが、まだ何が起こっているのかわかりません。jdk8です。これを修正する方法はまだわかりません。
ありがとう、ディーン
java - SSLEngine を使用して、内部ネットワーク ロケーション用に署名された証明書を使用する
バックグラウンド
内部ネットワークで SSL を介して相互に通信する 2 つの Java アプリケーションを作成しようとしています。これを行うには、使用する証明書の秘密鍵エントリを含むキーストアへのアクセスを SSLEngine に付与します。
これは、ルート証明書を使用している場合は正常に機能します (ブラウザーで dubrovnik:2762 を押すと、信頼されていない証明書について文句を言いますが、それ以外の場合は機能します)。でも; 問題のドメイン (この例では dubrovnik と呼ばれます) に対してのみ、内部 CA によって署名された非ルート証明書を使用したいと考えています。
代わりにルート証明書を使用して証明書に署名し、サブジェクトの代替名に dubrovnik があると、Java は証明書の使用を拒否し、代わりにjavax.net.ssl.SSLHandshakeException: No available authentication scheme
例外を生成します
私が使用しているキーストアにはこれが含まれています:
証明書の作成方法
openssl と keytool を使用してローカル CA と署名付き証明書を作成してきました
質問
javax.net.ssl.SSLHandshakeException: No available authentication scheme
内部ネットワーク証明書 (ルート証明書ではない) を SSLEngine に受け入れさせ、例外を回避するにはどうすればよいですか?