将http的web项目改成https双向认证保护证书生成

Posted 快乐学习与分享

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将http的web项目改成https双向认证保护证书生成相关的知识,希望对你有一定的参考价值。

软件开发扣扣交流群:323592897

近期有一个需求只允许指定的电脑访问项目,为项目添加上https双向认证。 网上生成证书的文章一大堆,不过很多都是单向https认证。 有的即使的的是双向但是还是很不清晰,今天就来记录一下最近使用jdk生成双向https证书的步骤。



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


 7、修改Tomcat的 server.xml 配置文件,这里使用的是Tomcat8.0.47版本测试
<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 配置文件中的 keystoreFiletruststoreFile 的路径都改成 "./conf/server.keystore" ,然后就可以了。


如上操作服务端、客户端证书都有生成并且项目中已经配置好,接下来就是浏览器证书的安装,刚开始做时下面的证书安装位置不对导致绕了不少弯路,所以下面用一篇文章详细介绍

软件开发扣扣交流群:323592897

感觉有用的话点下“ 在看 ”,然后去阅读原吧

以上是关于将http的web项目改成https双向认证保护证书生成的主要内容,如果未能解决你的问题,请参考以下文章

nginx 正向代理 配置https 双向认证

https 单向认证和双向认证配置

计算机网络

tomcat构建HTTPS双向认证

HTTPS双向认证

Https单向认证和双向认证