2013-07-09 84 views
1

我真的不太瞭解SSL。我有一個應用程序在Azure上,我需要把SSL。我一直在關注教程:http://www.windowsazure.com/en-us/develop/net/common-tasks/enable-ssl/自簽名SSL證書 - CN是否需要放置證書的位置(我的應用的URL)?

我的具體問題是:我在本地機器上通過IIS創建了自簽名證書,並自動將「頒發給:」值作爲我創建此證書的計算機,本地計算機名稱。我沒有任何選擇來改變它。因此,在創建自簽名證書時,「頒發給:(CN)」是否需要成爲我在Azure上的應用程序的域以使其運行?我是否需要在將託管我的應用的計算機上創建此證書?

+0

CN需要與您將要爲該網站提供服務的主機名相匹配。如果您的證書是針對「foo.com」的,但實際上您的服務是「bar.com」,那麼您將得到來自瀏覽器的更大的安全警告,而不僅僅是您自己的自簽證書。 –

回答

2

自簽名證書由不同的客戶端處理不同。我不認爲有一個通用的規則。

例如,如果您使用自簽名證書將Firefox連接到站點,則可以添加將與該特定主機名綁定的異常。這是您可以用於通過已知CA而信任的證書的異常,但是用於其他網站。實際上,Firefox異常機制會同時執行兩項操作:每個異常都將用於目標主機名和特定證書的組合。

對於您用來處理自簽名證書的所有「異常」機制,情況當然不是這樣。例如,在Java中向信任庫添加證書可能會使其信任,但是Java應用程序仍然會驗證主機名(如果它正確實施)。

自簽名證書的狀態一般是有問題的。

如果由於某些原因您不能使用知名CA的證書,那麼使用自己的CA可能會比直接使用自簽名證書更好。這至少應該讓你有一個更現實的環境(特別是關於檢查證書本身的真實性和證書身份的兩個問題),以便稍後想要切換到另一個CA時。

我不知道是否有一種很好的方式可以在IIS中完成所有這些工作,但有些工具可以幫助您解決這個問題。想起XCA。然後,您應該能夠以PKCS#12格式(p12/pfx)導出您的主機證書並將其導入到IIS中,並導出您的PEM格式的CA證書並將其導入您的客戶端。