2013-03-01 105 views
8

最近我們用tomcat創建了一個服務器,我們也爲這個小服務器添加了SSL支持。對於SSL支持,我們需要由Entrust,Thawte等第三方發行的證書。SSL - 服務器證書綁定到特定的機器嗎?

一位同事對我說,證書綁定到特定的機器上。一旦我們獲得了頒發的證書,那麼這個證書就不能在另一臺機器上使用。

我完全懷疑這是因爲CSR沒有包含機器的任何信息。真的嗎?

謝謝

+0

一些SSL提供商在非技術上執行此操作 - 您從其購買單個服務器許可證,並且合同上同意僅在其中使用該服務器許可證。 – ceejayoz 2014-07-09 02:34:41

回答

9

證書不一定綁定到特定的機器。爲了能夠在機器上「使用證書」,需要兩件事:證書本身和私鑰。您應該已經生成了私鑰和CSR(取決於您使用的工具)。

有些系統不允許您重新提取私鑰(例如,Windows有一個選項可以導入私鑰,但不能再導出它,但據我瞭解,這可以被繞過如果您在該機器上擁有足夠的訪問權限)。在使用智能卡或硬件令牌的情況下,私鑰可能會以無法提取的方式生成(在這種情況下,如果需要,將令牌移動到新計算機上會有意義) 。

另一部分是證書及其名稱。證書中的主機名(通常在CSR中也可以找到,儘管這最終不是必需的)應該是本機的主機名,正如客戶端試圖連接它的主機名一樣(參見RFC 2818第3.1節詳細介紹了HTTPS的主機名驗證)。因此,雖然證書本身並不依賴硬件方面的特定機器,但它將與此主機名相關聯(例如,您可以更改此機器的硬件或其IP地址)。

+0

所以這意味着證書綁定到主機名。那我怎麼看到證書中的主機名? CN是? 另一個問題是SSL客戶端總是需要主機名檢查嗎?(我不這麼認爲) – zgcharley 2013-03-08 09:41:57

+0

如果有DNS主題替代名稱,主機名可以是其中的任何一個。否則,它是主題DN中的CN。 SSL客戶端應該總是檢查主機名(有些不這樣做,但這會讓他們容易受到MITM攻擊 - 不驗證名稱應該被視爲安全漏洞)。 – Bruno 2013-03-08 09:57:20

+0

感謝您的解釋! – zgcharley 2013-03-08 16:50:12

相關問題