ホームページ > Java > &#&チュートリアル > Java で「java.security.cert.CertificateException: サブジェクトの代替名が存在しません」エラーを修正する方法

Java で「java.security.cert.CertificateException: サブジェクトの代替名が存在しません」エラーを修正する方法

DDD
リリース: 2024-11-08 02:18:02
オリジナル
1024 人が閲覧しました

How to Fix the

HTTPS Web サービスに接続するときの Java の「java.security.cert.CertificateException: No subject Alternative Names Present」エラーのトラブルシューティング

Java クライアントを使用している場合、「java.security.cert.CertificateException: サブジェクトの代替名が存在しません」という例外が発生するとイライラすることがあります。この問題に対処する方法は次のとおりです。

証明書情報の確認

サーバーの証明書の詳細を取得するには、コマンド「openssl s_client -showcerts -connect AAA.BBB.CCC」を使用します。 .DDD:9443 > 証明書.txt;結果のファイル「certs.txt」には次の内容が含まれます:

  • 証明書のチェーン: 「CN=AAA.BBB.CCC.DDD」を含む証明書を特定します。
  • サーバー証明書: この証明書の「-----BEGIN CERTIFICATE-----」と「-----END CERTIFICATE-----」の間のセクションを抽出します。

代替解決策

提案された解決策のステップ 1 について:

  • 証明書だけを抽出するのは間違っています。追加の変更が必要です。
  • 目的は、IP アドレス (AAA.BBB.CCC.DDD) に一致する証明書を作成することです。

手順 2 について提案された解決策:

  • AAA.BBB.CCC.DDD を含めるように証明書を変更するには、特定のツールと専門知識が必要であり、この手順は現実的ではありません。

推奨されるアプローチ

次の代替案を検討してください:

  • HTTPS チェックを無効にする:
// In the ISomeService class:
static {
    disableSslVerification();
}

private static void disableSslVerification() {
    // ... [Code to disable HTTPS checks as described in the provided answer]
}
ログイン後にコピー
  • カスタム ホスト名検証ツールの実装:
// In the ISomeService class:
HostnameVerifier customVerifier = new HostnameVerifier() {
    @Override
    public boolean verify(String hostname, SSLSession session) {
        // Perform custom hostname verification, such as accepting the IP address (AAA.BBB.CCC.DDD).
        return true;
    }
};

HttpsURLConnection httpsConn = (HttpsURLConnection) url.openConnection();
httpsConn.setHostnameVerifier(customVerifier);
ログイン後にコピー

注意: HTTPS チェックを無効にしたり、カスタム ホスト名検証ツールを実装すると、セキュリティが危険にさらされる可能性があります。これらのアプローチは、テストまたは制御された環境でのみ使用してください。

以上がJava で「java.security.cert.CertificateException: サブジェクトの代替名が存在しません」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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