1.将openSSL的bin目录设置为环境变量
2.set OPENSSL_CONF=E:\OpenSSL-Win32\bin\openssl.cfg
3.以管理员身份运行命令窗口
4.参考文章 https://blog.csdn.net/zhanggnol/article/details/24292507
以下内容均截取于这篇文章
新建文件夹用于存放证书,如“D:\keystore”,在命令提示符窗口切换到这个路径,执行以下命令
1.生成服务器的私钥:
openssl genrsa -out server.key 1024
2.生成签署申请(注意除Common Name以外可以为空,Common Name必须为服务器的ip或域名):
openssl req -new -out server.csr -key server.key
3.生成CA私钥
openssl genrsa -out ca.key 1024
4.利用CA的私钥产生CA的自签署证书(注意除Common Name和organizationName以外可以为空,Common Name必须为服务器的ip或域名(内外网区分), organizationName必须和上一次一致):
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
5. 在当前目录创建demoCA,里面创建文件index.txt和serial,serial内容为01,index.txt为空,以及文件夹newcerts。
CA为网站服务器签署证书:
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
6.把服务端代码转换浏览器可以识别的PCS12格式,密码使用上面输入的密码。
openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12
7.使用jetty中的PKCS12Import工具类完成转换,密码同上.(jetty-5.1.10.jar在当前文件夹中)
java -cp jetty-5.1.10.jar org.mortbay.util.PKCS12Import server.p12 server.jks
8.使用下面命令查看jks文件中包含的证书信息
keytool -v -list -keystore server.jks
至此客户端证书ca.crt以及tomcat服务器证书server.jks已经生成完毕。