openssl双向认证在客户端证书导入证书后为什么无法正常通过https向服务器发送请求?
一:生成CA证书
1)创建私钥
D:/OpenSSL>openssl genrsa -out ca/ca-key.pem 1024
2)创建证书请求
D:/OpenSSL>set OPENSSL_CONF=D:/Program Files/OpenSSL/bin/openssl.cfg
D:/OpenSSL>openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem -config openssl.cnf
3)自签署证书
D:/OpenSSL>openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650
4)将证书导出成浏览器支持的.p12格式
D:/OpenSSL>openssl pkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -out ca/ca.p12
Enter Export Password:ca123456
二.生成server证书
1.创建私钥
D:/OpenSSL>openssl genrsa -out server/server-key.pem 1024
2.创建证书请求
D:/OpenSSL>openssl req -new -out server/server-req.csr -key server/server-key.pem -config openssl.cnf
3.自签署证书
D:/OpenSSL>openssl x509 -req -in server/server-req.csr -out server/server-cert.pem -signkey server/server-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650
4.将证书导出成浏览器支持的.p12格式
D:/OpenSSL>openssl pkcs12 -export -clcerts -in server/server-cert.pem -inkey server/server-key.pem -out server/server.p12
Enter Export Password:s123456
三.生成client证书
1.创建私钥
D:/OpenSSL>openssl genrsa -out client/client-key.pem 1024
2.创建证书请求
D:/OpenSSL>openssl req -new -out client/client-req.csr -key client/client-key.pem -config openssl.cnf
3.自签署证书
D:/OpenSSL>openssl x509 -req -in client/client-req.csr -out client/client-cert.pem -signkey client/client-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650
4.将证书导出成浏览器支持的.p12格式
D:/OpenSSL>openssl pkcs12 -export -clcerts -in client/client-cert.pem -inkey client/client-key.pem -out client/client.p12
Enter Export Password:c123456
四.根据ca证书生成jks文件
D:/OpenSSL> keytool -keystore truststore.jks -keypass 222222 -storepass 222222 -alias ca -import -trustcacerts -file ca/ca-cert.pem
按照以上步骤生成根证书,服务器证书以及客户端证书,在tomcat中的server.xml做如下配置,
<Connector port="8433" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="server.p12" keystorePass="ca123456" keystoreType="PKCS12"
truststoreFile="truststore.jks" truststorePass="222222" truststoreType="JKS"/>
在客户端证书导入证书后,发现无法正常通过https向服务器发送请求?
- 等 最代码怎么获取牛币啊?
- 完 谁来告诉我最代码上线的时间,答对者给5牛币,先来先得
- 等 牛友们,大家好,你们做程序员多久了?现在还好吗?
- 完 在微信打开的页面里进行app下载
- 等 最代码2014年欢乐聚声会
- 完 mysql如何查询表数据并且对3个字段降序的SQL?
- 完 最代码牛币机制改革
- 完 成功的在bae上使用了自定义运行环境 jetty+nginx的组合,大家对jetty+nginx优化有哪些心得?
- 完 进来分享一下各位牛牛是如何加入最代码大家庭的?
- 等 为什么java BufferedImage类处理大图直接抛出内存溢出的异常?
- 等 最代码是否开发手机app客户端?
- 完 java程序员学习哪些java的技术?java有哪些框架?都能做哪方面的开发?
- 等 php格式网页文件怎么运行?
- 等 Java volatile值获取的问题
- 等 前端vue,拦截了登录后台后,返回的token,requests拦截token,但是发送请求的时候,就出现跨越异常
- 等 大专本科计算机科班怎么找到Java工作?
- 等 eclipse怎么把三个java swing游戏项目合成一个项目?
- 完 伙伴们,大家都有什么好的解压方式么,分享一下~
- 完 三四线城市,6、7k,运维工作,索然无味,想去辞职上培训,各位牛牛有什么建议嘛
- 等 jsp页面输入中文变成问号
- 等 JPA在线上运行一段时间后报错Caused by: java.lang.IncompatibleClassChangeError: null
- 等 PHP 这个规则用preg_match_all怎么写
- 等 大佬们,有没有知道Alfresco如何配置LDAP登录呢?
- 等 php的install目录是框架带的吗?