tlkj123的gravatar头像
tlkj123 2016-05-25 16:12:15

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向服务器发送请求?

所有回答列表(1)
qin_guanming的gravatar头像
qin_guanming  LV2 2016年5月27日

sfdsd sd s s

最近浏览
zooeZuo  LV1 2020年4月13日
java先生  LV26 2019年8月30日
hotdog  LV2 2019年2月26日
331235161 2018年1月11日
暂无贡献等级
yltume@  LV9 2016年6月16日
wentao  LV24 2016年6月16日
cdtanya  LV4 2016年6月6日
god羽2333  LV1 2016年6月3日
441362604  LV2 2016年5月31日
131500 2016年5月31日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友