• Java中keytool管理证书


    1.创建证书库以及第一个证书
    keytool -genkeypair -alias "wangpass" -keyalg "RSA" -keystore "wang.keystore"
    输入密码:wangpass

    说明:

    密钥库密码为wangpass

    功能:

    创建一个别名为wangpass的证书条目,该条目存放在名为wang.keystore的密钥库中,若wang.keystore密钥库不存在则创建。

    参数说明:

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

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

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

    注意:

    1.“名字与姓氏”应该是域名,若输成了姓名,和真正运行的时候域名不符,会出问题;

    2.再次输入密码,第一次输入的是密钥库(keystore)的密码,第二次输入的是证书条目的密码

    3.证书库和密钥库可以理解为相同概念

    2.查看证书库
    为了测试需要,这里再创建两个别名为wangpass2和wangpass3的证书条目在wang.keystore密钥库中,代码如下:
    keytool -genkeypair -alias "wangpass2" -keyalg "RSA" -keystore "wang.keystore"
    keytool -genkeypair -alias "wangpass3" -keyalg "RSA" -keystore "wang.keystore"
    查看wang.keystore的证书库中的证书条目
    keytool -list -keystore wang.keystore

    3.导出证书文件
    将名为wang.keystore的证书库中别名为wangpass的证书条目导出到证书文件wang.crt中
    keytool -export -alias wangpass -file wangpass.crt -keystore wang.keystore


    4.导入证书的信息

    将证书文件wangpass.crt导入到名为wangpass_cacerts的证书库中
    keytool -import -keystore wangpass_cacerts -file wangpass.crt

    备注:如果想要把证书导入到jdk的C:Program FilesJavajdk1.8.0_121jrelibsecuritycacerts中,需要进入到cacerts文件所在目录下,否则无法导入。如下图

    5.查看证书信息
    查看证书文件wangpass.crt的信息
    keytool -printcert -file "wangpass.crt"

    6.删除密钥库中的条目
    删除前查看密钥库test.keysote中的证书条目
    keytool -list -keystore wang.keystore
    删除密钥库test.keystore中别名为test2的证书条目
    keytool -delete -keystore wang.keystore -alias wangpass2
    删除后查看密钥库test.keystore中的证书条目
    keytool -list -keystore wang.keystore

     

    7.修改证书条目的口令
    将密钥库wang.keystore中别名为wangpass的证书条目的密码修改为wangpassnew
    keytool -keypasswd -alias wangpass -keystore wang.keystore

    非交互方式
    将密钥库wang.keystore中别名为wangpass的证书条目的密码修改为wangpass
    keytool -keypasswd -alias wangpass -keypass wangpassnew -new wangpass -storepass wangpass -keystore wang.keystore

  • 相关阅读:
    HDU 5360——Hiking——————【贪心+优先队列】
    HDU 5351——MZL's Border——————【高精度+找规律】
    高精度运算——java
    java题目练手
    java学习
    Arduino 模拟引脚
    Batch批处理 间断向EXE发送参数
    Example Code for a TMP102 I2c Thermometer————Arduino
    c++中vector的用法详解
    C/C++ 中 exit() 函数
  • 原文地址:https://www.cnblogs.com/wclwcw/p/6958214.html
Copyright © 2020-2023  润新知