java生成https证书和密钥

第一步:运行cmd

第二步:目录切换到jdk或者jre/bin目录下,执行以下命令

第三步:生成client的私钥
keytool -genkey -alias client -keyalg RSA -keystore D:/work/keystore/client.keystore -validity 36500 -dname "CN=计算机全名或域名,OU=aaa,O=aaa,L=BJ,ST=BJ,C=CN" -keypass 123456 -storepass 123456

第四步:生成client的公钥
keytool -export -alias client -file D:/work/keystore/client.cer -keystore D:/work/keystore/client.keystore -storepass 123456

第五步:生成server的私钥
keytool -genkey -alias server -keyalg RSA -keystore D:/work/keystore/server.keystore -validity 36500 -dname "CN=计算机全名或域名,OU=aaa,O=aaa,L=BJ,ST=BJ,C=CN" -keypass 123456 -storepass 123456

第六步:生成server的公钥
keytool -export -alias server -file D:/work/keystore/server.cer -keystore D:/work/keystore/server.keystore -storepass 123456

第七步:将server的公钥导入到client的信任库中
keytool -import -alias server -file D:/work/keystore/server.cer -keystore D:/work/keystore/clientTrust.keystore -storepass 123456 -noprompt

第八步:将客户端的公钥添加到server的信任库中
keytool -import -alias client -file D:/work/keystore/client.cer -keystore D:/work/keystore/serverTrust.keystore -storepass 123456 -noprompt


以管理员身份打开dos窗口执行最后两步

第九步:将client的公钥导入到服务器JRE的密钥库中(以管理员身份打开dos窗口)
keytool -import -file D:\work\keystore\client.cer -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -alias client080 -storepass changeit

第十步:将server的公钥导入到服务器JRE的密钥库中(以管理员身份打开dos窗口)
keytool -import -file D:\work\keystore\server.cer -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -alias server080 -storepass changeit


关键词释义:

-alias 取别名,不同服务用不同的名字

-keystore 指定生成的私钥的名字

-keyalg 指定使用的加密算法,默认为DSA,这里使用RSA算法。

-validity 创建证书的有效期为多少天,默认为90

-keypass 私钥的密码

-storepass 公钥的密码

-file 指定的公钥

-dname 指定证书拥有者信息,例如: "CN=本机计算机名(我们电脑右键属性可看到),OU=组织单位名称,O=组织名称,L=城市或区域名称,ST=州或省份名称,C=单位的两字母国家代码"

JAVA_HOME为配置的java环境变量  java的默认密码:changeit


备注:

  1. 查询证书中的信任
    keytool -list -keystore D:\keystore\airTrust.keystore
  2. 从证书中删除信任
    keytool -delete -alias apmportal -keystore D:\keystore\airTrust.keystore
  3. 将证书导入到JDK中
    keytool -import -file D:\keystores\uams.cer -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -alias uams -storepass changeit
  4. 查看JDK中的证书
    keytool -list -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -storepass changeit
  5. 删除JDK中的某个证书
    keytool -delete -alias uams -keystore "%JAVA_HOME%\jre\lib\security\cacerts"

你可能感兴趣的:(JAVA)