2011-06-02 21 views

回答

2

由於使用它所涉及的開銷,客戶端證書有點痛苦。

正如Jura所說,您需要一個使用客戶端證書作爲身份驗證機制的目標服務器。這個服務器端部分不需要是基於CF的。 Web服務器(例如,IIS)將被設置爲需要此。這是SSL/TLS協議的一部分,不適用於應用程序級別的任何語言。

如果您要請求資源的服務器需要客戶端證書,則可以使用此選項。該服務器的管理員需要提前提供客戶端證書和私鑰。正如user349433所提到的,這通常是PKCS12(.p12或.pfx)文件。

服務器將驗證客戶端證書是否爲「可信」,如果是,它將允許繼續進行TLS/SSL握手,並且CF將能夠在其上寫入HTTP請求。

今天的用例是爲了防止中間人攻擊,但是由於證書分發,修復等開銷,它不是非常常見。

如果您想了解更多內容,請查看TLS 1.1規範:

http://tools.ietf.org/html/rfc4346 http://tools.ietf.org/html/rfc4346#section-7.4.6

+0

是壞的開銷嗎?如果是這樣,那麼今天常用的是什麼? – Henry 2011-06-14 19:57:19

+0

是的。例如,什麼是安全分發客戶端證書和私鑰的好方法?如果有人能夠攔截私鑰,那麼系統就會崩潰。如果每個用戶都擁有自己的證書/密鑰,這可能對每個用戶都是唯一的。 – jglouie 2011-06-16 02:33:29

3

您正在使用的客戶端證書的情況下,如果目標服務器使用的身份驗證機制。您需要從服務提供商處獲得特定的客戶端證書才能連接到該服務。它已被用於一些網絡銀行應用程序,我相信在幾天內。不知道今天它的用例是什麼,可能是分佈式公司網絡,您需要通過互聯網以高度安全的方式連接到企業服務器?

+1

任何指導/教程如何使用它?我很感興趣。 (假設生產者和消費者都是CF9) – Henry 2011-06-03 09:32:46

+2

@Henry您可以在服務器上以PKCS12格式存儲證書作爲文件,並且只需將'/ path/to/cert.p12'作爲'CertFile'參數傳遞。驗證證書(即確保證書由可信證書頒發機構頒發)通常在ColdFusion(由IIS或Apache)範圍之外執行。您可以通過添加到CGI範圍的[extra variables](http://httpd.apache.org/docs/2.0/mod/mod_ssl.html)訪問客戶端證書信息,通常證書的Subject DN標識哪個用戶帳戶客戶端被認證爲。 – Josh 2011-06-05 21:58:22

相關問題