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

概述

信息安全基本概念

数字证书

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

参考地址

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

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

证书的制作[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 

控制台输出: 

输入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

 

转载于:https://www.cnblogs.com/bjlhx/p/6565219.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值