keytool 生成 https 证书

 

C:\JAVADEV>keytool -genkey -alias webserver -validity 365 -storetype PKCS12 -keyalg RSA -keystore C:\JAVADEV\apache-tomcat-7.0.109\conf\https.keystore

 执行后会要求输入以下几部分内容:

密钥库口令(要求输入6位及以上),名字与姓氏(要求输入网站域名或者IP)

其中参数 validity 为证书有效期,单位为“天”,如上写的是365则有效期为365天

以下 为更详细的配置方法

# 服务器生成证书
#   命令中如果是IP方式访问用-ext SAN=ip:127.0.0.1,如果是域名用 -ext SAN=dns:www.123.com,注意“您的名字与姓氏是什么?”就是你的IP或域名,其他根据自己需要填写
keytool -genkey -v -alias ws -validity 36500 -keyalg RSA -storetype PKCS12 -keystore webserver.keystore
# 客户端生成证书
keytool -genkey -v -alias ws -validity 36500 -keyalg RSA -storetype PKCS12 -keystore https.p12
# 服务器信任客户端证书 - 双向SSL认证
#   由于是双向SSL认证,服务器必须要信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证。
#   由于不能直接将PKCS12格式的证书库导入,必须先把客户端证书导出为一个单独的CER文件,-storepass后面是客户端证书输入的密码
keytool -export -alias ws -keystore https.p12 -storetype PKCS12 -storepass Aa@123456 -rfc -file https.cer
# 服务器信任客户端证书 - 导入服务器的证书库
#   将该文件导入到服务器的证书库,添加为一个信任证书
keytool -import -v -file https.cer –keystore webserver.keystore
# 查看服务器的证书库
#   通过 list 命令查看服务器的证书库,可以看到两个证书,一个是服务器证书,一个是受信任的客户端证书
keytool -list -keystore webserver.keystore 
# 客户端信任服务器证书
#   把服务器证书导出为一个单独的CER文件提供给客户端
keytool -keystore webserver.keystore -export -alias ws -file webserver.cer

https.cer 提供给客户端,webserver.keystore供服务器使用
将 https.cer 导入到浏览器“受信任的根证书颁发机构”区域,这样是为了让浏览器信任服务器。
将 https.p12 导入到浏览器“个人”区域,这样是为了让服务器信任浏览器,访问时会提示选择这个证书。(如果clientAuth="false"不需要)

由于jdk自带的keytool生成的签名属于弱签名算法(SHA-1),但是,SHA-1已经过时因而不再推荐使用。新证书使用了更强的签名算法(比如SHA-256)。SHA-1的证书将从2017开始不再被主流浏览器厂商视为安全的。
通过cmd,将签名文件从**【***.keystore】文件转换成【***.p12】的文件,再转换成【*.jks】:

keytool -importkeystore -srckeystore webserver.keystore -srcstoretype JKS -deststoretype PKCS12 -destkeystore webserver.p12
keytool -v -importkeystore -srckeystore webserver.p12 -srcstoretype PKCS12 -destkeystore webserver.jks -deststoretype JKS


p12 证书提取pem证书和私钥
openssl pkcs12 -in https.p12 -clcerts -nokeys -password pass:Aa@123456 -out https.crt
openssl pkcs12 -in https.p12 -nocerts -password pass:Aa@123456 -passout pass:Aa@123456 -out https.key

 

posted on 2023-04-07 11:22  骑着母猪去打猎  阅读(663)  评论(0编辑  收藏  举报