簡體   English   中英

使用WCF在客戶端和服務器中進行自定義證書驗證

[英]Custom certificate validation in client and server with WCF

我有一個非常具體的配置,其中WCF客戶端和服務器需要使用證書進行身份驗證。 因為此證書僅由我的客戶端和服務器應用程序使用,並且無法為每個實例生成一個專用證書,所以采用了自簽名的方式。 因此,我的漏洞連接運行良好,可以在指向服務器的通道中附加客戶端證書,並且服務器服務還附加自己的證書。 我想確保只有允許的客戶才能調用我的服務,因此必須在服務器端進行驗證。 我正在使用自定義驗證器(X509CertificateValidator)覆蓋方法Validate(X509Certificate2 certificate)到目前為止,一切都很好,在建立連接時調用該方法,它接收具有所有屬性的客戶端證書,這是問題所在:

-如何確定我收到的證書是原始證書,以驗證我的客戶?

現在,我正在使用真實的(偽)證書進行測試,該證書是使用HTTPS從網站導出的(導出在瀏覽器中顯示並在本地安裝的證書)。 我當然沒有私鑰,但是我可以將此證書附加到客戶端的連接中,並且可以在服務器端很好地接收到它。 該證書內的所有屬性均與原始證書相同,但不相同! 因此,如何驗證我在服務器端收到的證書是原始證書,而不僅僅是副本? 有什么方法可以使用證書的私鑰在呼叫中添加一些簽名?

非常感謝

如果您覆蓋validate函數,則基本上是您自己的。 這基本上是在規避整個證書安全系統。 您需要在根級別上使證書在服務器上受信任。 如果無法執行此操作,則可以使用以下選項:1.使用通配符證書(如果所有服務器都可以位於同一域中)2.創建自己的證書頒發機構

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM