
我是 .net 開發人員,目前正在致力於將 asp.net 專案從 http 遷移到 https。
我已經完成了一些教程,我想知道我是否錯過了任何東西。
迄今為止:
我已經在伺服器上安裝並設定了CA。 CA 服務運作良好,但我不完全確定是否需要從外部存取它?我正在執行 localhost/certsrv 來提交憑證請求。後來我登入伺服器並確認/拒絕請求。
在同一台伺服器上我配置了 IIS。確認 CA 服務產生的憑證。啟用匿名身份驗證並設定密碼以明文形式發送。
我不是 100% 知道證書是如何運作的。我的理解正確嗎?
- 我登入網站:https\someaddress.domain\site
- 有一個與該網站關聯的證書,因此會出現窗口,指出這是一個未知證書。
- 我確認我想要查看該網站,瀏覽器將我帶到該網站。
當我在瀏覽器和 Web 伺服器之間傳輸資料時,這如何提高安全性?
答案1
你說得對。自簽名憑證的問題在於,預設情況下它不是包含在受信任根中的簽名機構(因此會顯示它不是已知提供者的訊息)。對某些人來說,這不是問題(首先想到的是 OWA)。然而,對於在網路上進行交易的企業來說,您需要來自已知權威機構(Verisign、GeoTrust 等)的交易,以便發生 HTTPS 連接,而不會提示用戶進行連接。
至於提高安全性,確實如此。它會對從使用者瀏覽器到您的伺服器的流量進行加密。
CA 不必從外部可見。
對於自簽名證書,還有一些事情需要記住。由於瀏覽器會要求許可,除非您將其安裝在根目錄中,否則每次造訪網站時,都很容易讓使用者產生錯誤的安全感。我的意思是,因為他們每次訪問您的網站時都會收到該消息,所以進行一點 arp 中毒並發布假證書相當容易,此時您的“加密”連接就已被擁有。