java-信息安全(十二)-数字签名【Java证书体系实现】

概述

信息安全基本概念

数字证书

  数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个签名)。它是由权威机构——CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。

参考地址

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

  java-信息安全(五)-非对称加密算法RSA

证书的制作

1.生成keyStroe文件

在命令行下执行以下命令:

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

其中 
-genkey表示生成密钥 
-validity指定证书有效期,这里是36000天 
-alias指定别名,这里是www.zlex.org 
-keyalg指定算法,这里是RSA 
-keystore指定存储位置,这里是d:zlex.keystore 

在这里我使用的密码为 123456 

控制台输出: 

复制代码
输入keystore密码:  
再次输入新密码:  
您的名字与姓氏是什么?  
  [Unknown]:  www.zlex.org  
您的组织单位名称是什么?  
  [Unknown]:  zlex  
您的组织名称是什么?  
  [Unknown]:  zlex  
您所在的城市或区域名称是什么?  
  [Unknown]:  BJ  
您所在的州或省份名称是什么?  
  [Unknown]:  BJ  
该单位的两字母国家代码是什么  
  [Unknown]:  CN  
CN=www.zlex.org, OU=zlex, O=zlex, L=BJ, ST=BJ, C=CN 正确吗?  
  [否]:  Y  
  
输入<tomcat>的主密码  
        (如果和 keystore 密码相同,按回车):  
再次输入新密码:  
复制代码

这时,在D盘下会生成一个zlex.keystore的文件。 

2.生成自签名证书

光有keyStore文件是不够的,还需要证书文件,证书才是直接提供给外界使用的公钥凭证。 
导出证书: 

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

其中 
-export指定为导出操作 
-keystore指定keystore文件 
-alias指定导出keystore文件中的别名 
-file指向导出路径 
-rfc以文本格式输出,也就是以BASE64编码输出 
这里的密码是 123456 

控制台输出:

输入keystore密码:  
保存在文件中的认证 <d:zlex.cer>  

当然,使用方是需要导入证书的! 
可以通过自签名证书完成CAS单点登录系统的构建。

示例代码 

 View Code

测试代码

 View Code

输出

 View Code
原文地址:https://www.cnblogs.com/guweiwei/p/8005825.html