• 使用JDK自带的keytool工具生成证书


    一、keytool 简介

      keytool 是java用于管理密钥和证书的工具,它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。在JDK 1.4以后的版本中都包含了这一工具,它的位置为%JAVA_HOME%inkeytool.exe,如下图所示:

    其功能包括:

    • 创建并管理密钥
    • 创建并管理证书
    • 作为CA 为证书授权
    • 导入导出证书

    keytool官方文档

    二、keytool的用法

    三、生成证书

    生成证书主要是使用" -genkey",该命令的可用参数如下:

    示例:生成一个名称为tomcat的证书(cas服务https环境证书生成示例)

    keytool -genkey -alias tomcat -keyalg RSA -keystore D:/cas.keystore  

    功能说明:

    生成一个别名为tomcat的证书,该证书存放在名为cas.keystore的密钥库中,若cas.keystore密钥库不存在则创建。

    参数说明:

    -genkey:生成一对非对称密钥;

    -alias:指定密钥对的别名,该别名是公开的;
    -keyalg:指定加密算法,本例中的采用通用的RAS加密算法;

    -keystore:密钥库的路径及名称,不指定的话,默认在操作系统的用户目录下生成一个".keystore"的文件。

    注意:

      1.密钥库的密码至少必须6个字符,可以是纯数字或者字母或者数字和字母的组合等等

      2."名字与姓氏"应该是输入域名,而不是我们的个人姓名,其他的可以不填

    执行完上述命令后,在D盘下生成了一个"cas.keystore"的文件,如下图所示:

    四、导出证书

     导出证书主要是使用" -export",该命令的可用参数如下:

    示例:将名为cas.keystore的证书库中别名为tomcat的证书条目导出到证书文件cas.crt中

    keytool -export -trustcacerts -alias tomcat -file D:/cas.crt -keystore D:/cas.keystore

    执行完上述命令后,在D盘下生成了一个"cas.crt"的文件,如下图所示:

     

    五、导入证书

    导入证书主要是使用" -import",该命令的可用参数如下:

    示例1:将证书文件cas.crt导入到名为test_cacerts的证书库中

    keytool -import -file D:/cas.crt -keystore D:/test_cacerts

    示例2:将证书文件test.crt导入到名为cacerts的证书库中(这里将会演示将证书导入到jdk的证书库中)

    keytool -import -trustcacerts -alias tomcat -file D:/cas.crt -keystore %JAVA_HOME%/jre/lib/security/cacerts

    注:次例中jdk证书库的默认密码为:changeit 

    六、查看密钥库里面的证书

    keytool -list -keystore D:/cas.keystore

    七、查看证书信息

    keytool -printcert -file D:/cas.crt

    八、删除密钥库中的条目

     示例:删除密钥库cas.keystore中别名为tomcat的证书条目

    keytool -delete -keystore D:/cas.keystore -alias tomcat

    九、修改证书条目的口令

    示例:将密钥库cas.keystore中别名为test的证书条目的密码修改为666666(别名为test的证书条目必须存在)

    keytool -keypasswd -alias test -keystore D:/cas.keystore

    (摘自:https://www.cnblogs.com/Jimc/p/10152999.html)

  • 相关阅读:
    小程序页面跳转 之 js页面函数绑定跳转
    win10系统激活提示无法连接到你组织的激活服务器如何解决
    小程序请求后端接口实例
    cors解决跨域问题
    aes加密 工具类
    后端解决跨域的问题
    理解传输层中UDP协议首部校验和以及校验和计算方法的Java实现
    常见面试题之操作系统中的LRU缓存机制实现
    Java算法之根据二叉树不同遍历结果重建二叉树
    基于Java的二叉树层序遍历打印实现
  • 原文地址:https://www.cnblogs.com/rdchen/p/13260883.html
Copyright © 2020-2023  润新知