第一步:运行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
备注: