首頁 >Java >java教程 >Java 應用程式和瀏覽器在 SSL 伺服器名稱解析方面有何不同?

Java 應用程式和瀏覽器在 SSL 伺服器名稱解析方面有何不同?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-12 13:09:18748瀏覽

How Do Java Applications and Browsers Differ in SSL Server Name Resolution?

SSL 憑證伺服器名稱解析

在 SSL 憑證中,伺服器名稱主要根據主題備用名稱 (SAN) 欄位進行解析。在大多數情況下,瀏覽器使用 SAN 來驗證它們所連接的網站的身份。然而,基於 Java 的應用程式似乎有不同的行為,完全依賴 SAN 進行伺服器名稱驗證。

為什麼有差別?

RFC 2818 定義瀏覽器可以使用通用名稱 (CN) 或 SAN 欄位進行伺服器名稱驗證。 RFC 6125 後來棄用了 CN,並建議專門使用 SAN。 Java 應用程式通常遵守 RFC 6125,而某些瀏覽器可能會因為相容性原因而接受 CN。

使用 Keytool 新增備用名稱

Keytool 允許將 SAN 新增至 SSL使用「-ext」選項的憑證。可以使用以下指令新增備用名稱:

-ext san=dns:www.example.com
-ext san=ip:10.0.0.1

我可以使用 OpenSSL 取代嗎?

是的,OpenSSL 也可以用來建立 SSL 憑證SAN。為此,請如下修改「openssl.cnf」設定檔:

[req]
req_extensions = v3_req

[ v3_req ]
subjectAltName=IP:10.0.0.1
# or subjectAltName=DNS:www.example.com

或者,將環境變數 OPENSSL_CONF 設定為修改後的「openssl.cnf」檔案的位置。

以上是Java 應用程式和瀏覽器在 SSL 伺服器名稱解析方面有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn