tomcat生成证书步骤
#进入jdk的bin目录,%JAVA_HOME%\bin\keytool
cd /mnt/jdk/bin
#生成服务端证书
#keytool为Tomcat生成证书(“-validity 36500”证书有效期,36500表示100年,默认值是90天)
keytool -genkey -v -alias tomcat -keyalg RSA -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore -validity 36500
#名字与姓氏,unknown:填的东西可能和tomcat启动时访问的域名有关系
#alias: 别名 这里我起名testKey
#keyalg: 证书算法,RSA
#validity:证书有效时间,10年
#keystore:证书生成的目标路径和文件名,替换成你自己的路径即可,我定义的是/tomcat/tomcat/test.keystore
keytool -genkey -v -alias testKey -keyalg RSA -keystore /tomcat/tomcat/test.keystore -validity 3650
#生成客户端证书
keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.p12
keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore /mnt/webservice/tomcatbootark/cert/tomcatkey.p12
#由于不能直接将PKCS12格式的证书库导入,必须先把客户端证书导出为一个单独的CER文件,使用如下命令
keytool -export -alias mykey -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.p12 -storetype PKCS12 -storepass 111111 -rfc -file C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.cer
#将该文件导入到服务器的证书库,添加为一个信任证书使用命令如下
keytool -import -v -file C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.cer –keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore
#通过 list 命令查看服务器的证书库,可以看到两个证书,一个是服务器证书,一个是受信任的客户端证书
keytool -list -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore
让客户端信任服务器证书
把服务器证书导出为一个单独的CER文件提供给客户端,使用如下命令:
keytool -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore -export -alias tomcat -file C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.cer
#通过cmd,将签名文件从**【***.keystore】文件转换成【**.p12】的文件,再转换成【.jks】
keytool -importkeystore -srckeystore /mnt/webservice/tomcatbootark/cert/tomcat.keystore -srcstoretype JKS -deststoretype PKCS12 -destkeystore /mnt/webservice/tomcatbootark/cert/tomcat.p12
keytool -v -importkeystore -srckeystore /mnt/webservice/tomcatbootark/cert/tomcat.p12 -srcstoretype PKCS12 -destkeystore /mnt/webservice/tomcatbootark/cert/tomcat.jks -deststoretype JKS
#p12 证书提取pem证书和私钥
openssl pkcs12 -in server.p12 -clcerts -nokeys -password pass:111111 -out server.crt
openssl pkcs12 -in server.p12 -nocerts -password pass:111111 -passout pass:111111 -out server.key