将http的web项目改成https双向认证保护证书生成
Posted 快乐学习与分享
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将http的web项目改成https双向认证保护证书生成相关的知识,希望对你有一定的参考价值。
软件开发扣扣交流群:323592897
1、生成服务器证书库
keytool -validity 3650 -genkey -v -alias servercert -keyalg RSA -ext SAN=ip:192.168.1.111 -keystore D:\key2\server.keystore -dname "CN=192.168.1.111,OU=server,O=server,L=server,ST=server,c=CN" -storepass 123456 -keypass 123456
2、生成客户端证书库
keytool -validity 3650 -genkeypair -v -alias clientcert -keyalg RSA -storetype PKCS12 -keystore D:\key2\clientcert.p12 -dname "CN=client,OU=client,O=client,L=client,ST=client,c=CN" -storepass 123456 -keypass 123456
3、从客户端证书库中导出客户端证书
keytool -export -v -alias clientcert -keystore D:\key2\clientcert.p12 -storetype PKCS12 -storepass 123456 -rfc -file D:\key2\clientcert.cer
4、将客户端证书导入到服务器证书库(使得服务器信任客户端证书)
keytool -import -v -alias clientcert -file D:\key2\clientcert.cer -keystore D:\key2\server.keystore -storepass 123456
注意:执行这一步会提示你是否信任,输入 y 然后回车。
5、让客户端信任服务器证书,将证书填入到“受信任的根证书颁发机构”
keytool -keystore D:\key2\server.keystore -export -alias servercert -file D:\key2\server.cer -storepass 123456
6、查看证书库中的全部证书 (一个是服务器证书,一个是受信任的客户端证书),可以省略这一步。
keytool -list -keystore D:\key2\server.keystore -storepass 123456
赠送命令:证书条目的删除(根据项目情况这个需要时再用)
keytool -delete -alias clientcert -keystore D:\key2\server.keystore -storepass 123456
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="true" sslProtocol="TLS"
keystoreFile="D:/key2/server.keystore" keystorePass="123456"
truststoreFile="D:/key2/server.keystore" truststorePass="123456"/>
在服务服务器上可以将生成的 server.keystore 拷贝到Tomcat的 conf 目录下,如上的 server.xml 配置文件中的 keystoreFile、truststoreFile 的路径都改成 "./conf/server.keystore" ,然后就可以了。
如上操作服务端、客户端证书都有生成并且项目中已经配置好,接下来就是浏览器证书的安装,刚开始做时下面的证书安装位置不对导致绕了不少弯路,所以下面用一篇文章详细介绍。
软件开发扣扣交流群:323592897
以上是关于将http的web项目改成https双向认证保护证书生成的主要内容,如果未能解决你的问题,请参考以下文章