一、在 .NET 程序中使用證書
請參見 《(2)強名稱程序集與數字證書》
二、在 web 程序中使用證書
1. SSL (Secure Sockets Layer) 協議
SSL協議位於TCP/IP協議與各種應用層協議之間,為數據通訊提供安全支持。SSL協議可分為兩層: SSL記錄協議(SSL Record Protocol):它建立在可靠的傳輸協議(如TCP)之上,為高層協議提供數據封裝、壓縮、加密等基本功能的支持。 SSL握手協議(SSL Handshake Protocol):它建立在SSL記錄協議之上,用於在實際的數據傳輸開始前,通訊雙方進行身份認證、協商加密算法、交換加密密鑰等。
SSL協議提供的服務主要有:
1)認證用戶和服務器,確保數據發送到正確的客戶機和服務器;
2)加密數據以防止數據中途被竊取;
3)維護數據的完整性,確保數據在傳輸過程中不被改變。
2. HTTPS(Secure Hypertext Transfer Protocol)安全超文本傳輸協議
它是由Netscape開發並【內置】於其瀏覽器中,用於對數據進行壓縮和解壓操作,並返回網絡上傳送回的結果。HTTPS實際上應用了Netscape的安全套接字層(SSL)作為HTTP應用層的子層(HTTPS使用端口443,而不是像 HTTP那樣使用端口80來和TCP/IP進行通信)。HTTPS和SSL支持使用X.509數字認證,如果需要的話用戶可以確認發送者是誰。
https是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,https的安全基礎是SSL。
3. 對網站啟用SSL
1) 首先使用IIS創建服務器證書(選中根節點)
2) 然后選擇需要啟動SSL的網站,進行“網站綁定”添加HTTPS端口和服務證書
3) 最后選擇需要啟動SSL的網站或頁面,點擊SSL設置
4. 應用示例
---------------網站如何通過加密和用戶安全通信
SSL技術已建立到所有主要的瀏覽器和 WEB 服務器程序中,因此,僅需安裝 SSL證書就可以激活服務器的安全通信功能,在通訊雙方間建立起一條安全、可信的通道。SSL原理很簡單:
1) 當你的瀏覽器向服務器請求一個安全的網頁(通常是 https://),服務器就把它的證書和公鑰發回來,瀏覽器檢查證書是不是由可以信賴的機構頒發的,確認證書有效和此證書是此網站的。
2) 瀏覽器隨機生成一個對稱密鑰,加密URL得到密文A,瀏覽器再使用證書公鑰加密對稱密鑰得到密文B,再將A和B一起發送到服務器。
3) 服務器用自己的私鑰解密密文B得到對稱密鑰。然后用對稱密鑰解密密文A得到URL,驗證URL。
4) 后續服務器與瀏覽器之間的通信,就使用這個隨機生成的對稱密鑰進行加解密
《 數字簽名|數字證書》系列
參考資料: