2

2 つの外部 DN にマッピングされた Apache があります。

sub1.dn.com
sub2.dn.com

どちらも同じ IP にマップされます。

それぞれに独自の SSL 証明書があります。各証明書は、CN と SAN を現状のままで一致させます (つまり、sub1 は sub1.dn.com、sub2 も同じ)。

しかし、私の Java コードがたとえばsub2.dn.comに接続しようとすると、次の ように失敗します。コムが見つかりました。

Java SSL デバッグ出力を有効にすると、奇妙なものが表示されます。Java が他の (sub1) 証明書をダウンロードして使用しているようです!!

[3]: ObjectId: 2.5.29.17 Criticality=false
SubjectAlternativeName [
  DNSName: **sub1.dn.com**
]

したがって、ブラウザは満足しているようで、適切な証明書を取得しています。ただし、Java は常に sub1.dn.com 証明書を認識し、他の証明書は認識しません。そのため、sub2 が呼び出されたときに明らかに一致しません。

Javaがこれを行う理由はありますか? そして、おそらくそれを修正する方法!ありがとう

4

1 に答える 1