java生成https证书和密钥

本文详细介绍如何使用Java Keytool生成客户端和服务端的私钥及公钥,并将这些密钥导入到相应的信任库中,包括步骤说明及命令解释。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步:运行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"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值