數字證書電子證書,類似於日常生活中的身份證,也是另外一種形式的身份認證,用於標識網路中的用於身份。數字證書集合了多種密碼學的加密演算法,證書自身帶有公鑰資訊,可以完成相應的加密、解密操作。同時,還擁有自身資訊的數字簽名,可以鑑別證書的頒發機構,以及證書內容的完整性。
配置tomcat使用https協議
在配置之前,先了解一下https協議。https能夠加密資訊,以免敏感資訊被第三方獲取。所以很多銀行**或電子郵箱等等安全級別較高的服務都會採用https協議。https協議位於應用層和網路層之間,它其實由兩部分組成:http + ssl / tls,也就是在http上又加了一層處理加密資訊的模組。服務端和客戶端的資訊傳輸都會通過tls進行加密,所以傳輸的資料都是加密後的資料。
一般在個人訪問**時,為了保證安全性,很多**提供了安全證書。**伺服器端提供證書,該證書中包含了乙個rsa公鑰。瀏覽器,也就是客戶端通過該證書進行安全性驗證,如果該證書是值得信任的,就通過該證書中的公鑰來對乙個對稱加密金鑰進行加密。伺服器端則通過rsa私鑰進行解密,得到客戶端傳輸過來的對稱金鑰。這個對稱金鑰是用來對雙方在傳輸過程中的資訊進行加密的。由於只能通過rsa私鑰對這個加密過的對稱金鑰進行解密,所以就算雙方傳輸的資訊被中途截獲,也無法破解金鑰從而對傳輸的資訊進行解密(這裡要求對對稱機密機制和非對稱加密機制有一定了解),從而保證了資料傳輸的安全性。
配置tomcat使用https協議訪問其實很簡單,主要有以下步驟:
(1) 生成伺服器的證書
在jdk的bin目錄下,通過以下命令來生成伺服器端的證書:keytool -genkey -alias tomcat -keyalg rsa -keystore d:/keys/tomcat.keystore,-alias指明別名,-keystore指明證書生成的路徑。
在此過程中,需要設定以下內容:
金鑰庫口令自己設定,預設是changeit。完成之後在d盤相應目錄下生成伺服器證書。
注意:d:/keys/ 目錄需要提前手動建立好,否則會生成失敗; 提示輸入網域名稱(也就是名字和姓氏)的時候不能輸入ip位址。
(2) 匯出伺服器證書
生成的證書需要進一步匯出為cer:
keytool -export -alias tomcat –keystore d:/keys/tomcat.keystore -file d:/keys/comcat.cer。第乙個路徑是生成的證書的路徑,第二個路徑是匯出之後的證書路徑。完成之後會在d:/keys下生成證書檔案。
(3) 雙擊該證書,安裝到瀏覽器,選擇自動選擇證書頒發機構型別。
(4) 設定tomcat的server.xml,如下圖所示。
注意這裡clientauth預設為false,不修改。表示客戶端單方面需要驗證伺服器端證書。在上面的步驟中也只單方面提供了證書。
(5) 訪問時需按照之前輸入的網域名稱來訪問,所以還需要在host檔案中新增一行:127.0.0.1 你的姓名和姓氏(網域名稱)
(6) 啟動tomcat,通過https://」你的姓名和姓氏」(之前輸入的):8443來訪問伺服器。會發現現在的鏈結是https的了。
網路協議 HTTPS(2)數字簽名與數字證書
數字簽名 英文 digital signature 類似於我們寫在紙上的手寫簽名,它的誕生主要是為了解決如下問題 1.證明該檔案 或資訊 是由你傳送的。2.證明該檔案 或資訊 沒有被他人篡改過。其實,我們生活中手寫簽名的紙質合同也是通過各種形式達到上面2個效果 如 合同一式多份,每份合同都有雙方簽名...
詳解HTTPS協議之加密 數字證書 工作模式
http協議本身是不安全的,解決安全問題我們可以採用加密 對稱加密演算法中,加密和解密使用的秘鑰是相同的。假設你和外賣 約定了乙個秘鑰,傳送請求的時候用這個秘鑰進行加密,外賣 用同樣的秘鑰進行解密,就算中間的黑客截獲請求,但是沒有秘鑰,所以還是破解不了。這樣是安全了,但是核心,秘鑰如何傳輸給對方呢,...
數字簽名 數字證書 https
對稱加密和非對稱加密 對稱加密 加密和解密的金鑰是一樣的 缺點就是容易被中間人破解 非對稱加密 公鑰是所有人都可以認領 私鑰是保密的 只有乙個人知道 例如a給b傳送郵件 a用的b的公鑰 只有b的私鑰可以解密a的公鑰的內容 b的私鑰的唯一性 保證了信件不會被洩露 但是如果黑客冒充a給b傳送郵件 b是不...