zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Linux部署golang程序(无数据库访问)
    MySQL备份数据库mysqldump
    Linux命令netstat
    SQL优化01(转载)
    springcloud之gateway点滴
    关于数据库错误:serverTimeZone
    代码重构的重要性
    关于集合的泛型
    python 视频下载神器(you-get)
    linux下ssh
  • 原文地址:https://www.cnblogs.com/guweiwei/p/8005825.html
Copyright © 2011-2022 走看看