ホームページ > Java > &#&チュートリアル > Java 1.7 にアップグレードした後、「unrecognized_name」という SSL ハンドシェイク アラートが表示されるのはなぜですか?

Java 1.7 にアップグレードした後、「unrecognized_name」という SSL ハンドシェイク アラートが表示されるのはなぜですか?

DDD
リリース: 2024-12-07 07:12:10
オリジナル
766 人が閲覧しました

Why Am I Getting an

SSL ハンドシェイク アラート: Java 1.7.0 へのアップグレード後の認識されない名前の問題

Java 1.6 から 1.7 にアップグレードすると、ユーザーは次のような問題に遭遇する可能性があります。 SSLHandshake アラートが発生し、エラー メッセージ「unrecognized_name」が表示されるWeb サーバーへの SSL 接続を確立します。このエラーは主に、デフォルトで有効になる Java 7 の Server Name Indication (SNI) サポートの導入が原因です。

この問題を解決するには、いくつかのオプションが利用可能です。

  • SNI を無効にする:

SNI をグローバルに無効にするには、次の手順を実行します。コマンドライン引数は、アプリケーションの実行時に使用できます:

-Djsse.enableSNIExtension=false
ログイン後にコピー

また、SSL アクションを実行する前に、プロパティをプログラムで設定することもできます:

System.setProperty("jsse.enableSNIExtension", "false");
ログイン後にコピー

ただし、SNI を無効にすると、その機能を必要とするアプリケーションに影響を及ぼします。

  • ハンドルが認識されません名前アラート:

もう 1 つのアプローチには、「unrecogized_name」アラートをより適切に処理することが含まれます。次の手順を実行できます:

// Create an SSLSocket with the desired hostname
SSLSocket sslsock = ...

// Attempt handshake
try {
    // This will block until the attempt succeeds or fails.
    sslsock.startHandshake();
} catch (SSLException e) {
    // Handle the exception here. If it contains the "unrecognized_name" message, disable SNI and retry.
}

// Disable SNI and retry handshake without hostname
if (e.getMessage().contains("unrecognized_name")) {
    sslsock = ... // Create an SSLSocket without specifying a hostname
    sslsock.startHandshake();
}
ログイン後にコピー
  • 信頼できない証明書を許可する:

提供されたコードは、信頼できない証明書を使用してサーバーに接続しようとします。証明書。これを軽減するには、カスタム信頼管理を実装するか、組み込みの信頼マネージャーを使用することを検討してください:

// Custom trust management (for untrusted certificates)
TrustManager[] trustAllCerts = ...

// Built-in trust manager
TrustManager[] trustManagers = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()).getTrustManagers();
ログイン後にコピー

以上がJava 1.7 にアップグレードした後、「unrecognized_name」という SSL ハンドシェイク アラートが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート