2011-05-09 117 views
2

首先,感謝所有那些試圖幫助未知人員的耐心技術人員。其次,我有一個wcf服務,應該由我們公司已知的幾個客戶(10)使用。此wcf服務具有x509證書「CN = ABCD」。現在它希望從客戶那裏獲得一個證書來使用這項服務。因此,這裏有設計問題X509證書實施最佳實踐

  1. 我應該創建一個證書 「CN = ABCD」,然後在其上 進出口權單擊以PFX文件和 它們分發到客戶端?
  2. 有人說要驗證代碼和 有人說在配置中驗證哪個 更好?
  3. 我應該怎麼知道哪個客戶是 打電話的證書有相同的名稱 如果我的公司 分配它?
  4. .cer file和.pfx文件有什麼不同?
  5. 將證書傳遞給 客戶端時,我會同時提供.cer 和.pfx文件嗎?
  6. 如果客戶端過期,我應該如何撤銷其中一個 ?
  7. 我的公司已經有一個證書 像* .fdfd.org。我可以使用這個作爲 我的X509Certificate而不是 生成一個?

很多問題!
但由於很多挫折,我希望得到開發人員的意見,因爲我無法獲得正確的信息。

回答

1
  • NO必須有單獨的證書服務,你應該爲每個客戶端一個證書。一旦你分享了你的服務的私鑰,你的安全就沒了。
  • 您可以客戶端證書的公鑰安裝到機\信任的人(客戶端與任何受信任的證書將有機會獲得爲您服務),也可以使用自定義證書驗證(僅消息安全 - 根據您的previous question你可能使用消息安全性)僅確認這10個證書。
  • 這隻有在您爲每個客戶創建單獨的證書時纔有可能。也可以將證書與支持的用戶名和密碼結合起來,但它需要非常先進的WCF配置,並仍然在多個客戶端之間共享單個證書是一個不好的決定。
  • 證書只是一些信息的容器 - 用於非對稱加密的密鑰。 .cer僅包含可以自由分發的公鑰 - 您可能必須在客戶端之間分發服務證書的.cer文件。 .pfx包含公鑰和私鑰,必須儘可能保證安全。一旦.pfx文件被破壞,證書不再受到保護,必須更換。因此,您必須保留您的服務的.pfx(安裝在證書憑證存儲區中),並且每個客戶端都必須保留其.pfx。
  • 如果您爲客戶端創建證書,則至少會向其傳遞.pfx。很顯然,一旦您通過無擔保的電子郵件發送此類證書,您會嚴重傷害安全。
  • 如果一個客戶端到期,您將從可信證書中刪除其證書。如果您擁有自己的證書頒發機構(如果您想爲客戶機創建證書,則應該擁有該機構)
  • 如果您的服務位於fdfd.org上,您可以使用它,但僅限於該服務。
+0

太棒了...這是超過需要。謝謝你的精彩解釋。我讚賞它。親切的問候,Chand – Chandanan 2011-05-11 16:04:58