使用openSSL制作SSL证书

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已经生成完毕。