java-信息安全(十二)-數字簽名【Java證書體系實現】

概述

信息安全基本概念html

數字證書

  數字證書就是互聯網通信中標誌通信各方身份信息的一串數字,提供了一種在Internet上驗證通訊實體身份的方式,數字證書不是數字身份證,而是身份認證機構蓋在數字身份證上的一個章或印(或者說加在數字身份證上的一個簽名)。它是由權威機構——CA機構,又稱爲證書受權(Certificate Authority)中心發行的,人們能夠在網上用它來識別對方的身份。java

參考地址

  http://snowolf.iteye.com/blog/391931git

  java-信息安全(五)-非對稱加密算法RSAgithub

證書的製做[windows]

1.生成keyStroe文件

在命令行下執行如下命令:算法

keytool -genkey -validity 36000 -alias www.lhx.org -keyalg RSA -keystore d:\lhx.keystore

其中 
-genkey表示生成密鑰 
-validity指定證書有效期,這裏是36000天 
-alias指定別名,這裏是www.lhx.org 
-keyalg指定算法,這裏是RSA 
-keystore指定存儲位置,這裏是d:\lhx.keystore 

在這裏我使用的密碼爲 123456 windows

控制檯輸出: tomcat

輸入keystore密碼:  
再次輸入新密碼:  
您的名字與姓氏是什麼?  
  [Unknown]:  www.lhx.org  
您的組織單位名稱是什麼?  
  [Unknown]:  lhx
您的組織名稱是什麼?  
  [Unknown]:  lhx
您所在的城市或區域名稱是什麼?  
  [Unknown]:  BJ  
您所在的州或省份名稱是什麼?  
  [Unknown]:  BJ  
該單位的兩字母國家代碼是什麼  
  [Unknown]:  CN  
CN=www.lhx.org, OU=zlex, O=zlex, L=BJ, ST=BJ, C=CN 正確嗎?  
  [否]:  Y  
  
輸入<tomcat>的主密碼  
        (若是和 keystore 密碼相同,按回車):  
再次輸入新密碼:  

這時,在D盤下會生成一個lhx.keystore的文件。 安全

2.生成自簽名證書[經過lhx.keystore導出證書]

光有keyStore文件是不夠的,還須要證書文件,證書纔是直接提供給外界使用的公鑰憑證。 
導出證書: 編碼

keytool -export -keystore d:\lhx.keystore -alias www.lhx.org -file d:\lhx.cer -rfc 

其中 
-export指定爲導出操做 
-keystore指定keystore文件 
-alias指定導出keystore文件中的別名 
-file指向導出路徑 
-rfc以文本格式輸出,也就是以BASE64編碼輸出 
這裏的密碼是 123456 

控制檯輸出:加密

輸入keystore密碼:  
保存在文件中的認證 <d:\lhx.cer>  

固然,使用方是須要導入證書的! 
能夠經過自簽名證書完成CAS單點登陸系統的構建。

示例代碼 

代碼地址:https://github.com/bjlhx15/algorithm-sign.git

相關文章
相關標籤/搜索