2009-10-10 184 views
2

我如何檢查我的ASP.net代碼中的客戶端瀏覽器SSL證書 我想確保如果任何https代理像fiddler正在運行,那麼我的應用程序不會加載 我做了以下至今沒有任何成功: 我的網站是在HTTPS 在IIS我已經設置 要求SSL =真 要求128位加密=真 接受證書=真我如何檢查客戶端瀏覽器SSL證書

在我的Default.aspx的Page_Load

我正在嘗試讀取Request.ClientCertificate的值時,集合即將變爲空。

+1

只需要清楚「ClientCertificate」返回任何客戶端提供的證書,例如來自最終用戶的智能卡。它不會返回客戶端對服務器SSL證書的看法。 – EricLaw 2009-10-10 22:11:39

回答

0

您是否期望客戶端安裝證書?大多數用戶沒有安裝客戶端證書。

儘管如此,我不知道一個客戶端證書究竟如何去保護你,你所描述的情況......

+0

感謝您的回覆 Iam不期望客戶端安裝證書 我打算使用證書的CA驗證在瀏覽器中加載的SSL – John 2009-10-10 14:56:34

1

沒有辦法做你想要做的,除非你運行一個什麼客戶端上的ActiveX控件。

Internet Explorer和其他瀏覽器不會將服務器的SSL證書信息公開給頁面中的JavaScript,這意味着您無法在您的客戶端上運行的頁面知道它是否隨您的證書一起提供,或者另一個證書。

話雖如此,即使提供了這種方法,它可能無法幫助你。據推測,您希望這樣做是爲了防止查看/修改您的流量,但還有其他工具可以直接插入瀏覽器(發佈HTTPS解密,預HTTPS加密),可以查看/修改流量,而無需將其重新分配爲Fiddler其他代理做。

此外,在邊緣代理(例如BlueCoat,Forefront)使用Fiddler使用的相同機制進行內容檢查的企業環境中,您的代碼會失敗。

相關問題