chenxiaoshou opened a new issue #2242:
URL: https://github.com/apache/servicecomb-java-chassis/issues/2242


   最近在使用cse搭建后台服务并启用ssl。参考《消费者云VM安装指南-2.3.8》,但是配置证书时有两个疑问:
   
   
![image](https://user-images.githubusercontent.com/14272090/108582674-af077e00-736f-11eb-926d-ca567f125849.png)
   
   1. trust.cert和rust.jks是CA证书以及其jks形式么?
   
   我比较了一下3.8章节《签发证书》步骤5生成自签名的CA证书ca.cer,这里trust.cer和ca.cer签名内容和公钥一样。
   
   
   2. 使用签发工具为什么没有生成客户端证书和秘钥?
   开启服务端authPeer认证后,使用postman客户端发送请求,为何要使用服务端证书和秘钥,而非客户端证书和秘钥?
   
   为什么cse服务设置了authPeer: 
true后,使用postman发送请求,需要使用服务端证书和秘钥。同样的,对于一个纯springboot的java客户端(非cse服务),keymanager也必须加载服务端证书和秘钥合成的server.p12。这样算不算暴露服务端秘钥和证书给其他服务,是否会出现仿冒的安全问题。
   
   
![image](https://user-images.githubusercontent.com/14272090/108582682-bfb7f400-736f-11eb-8b97-84d3fda8e696.png)
   
   
个人基于对ssl通信理解,既然是服务端要求校验客户端,那么服务提供者应该创建客户端秘钥,并基于CA签发客户端证书。客户端在发送请求时,预先拿到这两个文件,把客户端证书、客户端秘钥发送过去,服务端使用ca证书去解密签名,从而验证客户端的身份。服务端校验客户端身份,收到的identity不是客户端的身份,反而是自己服务端的identity,这个看起来很怪。
   
   
使用cse的签发工具,并没有client_key.pem,client.cer,而是让客户端直接使用服务端的证书。这是因为服务端证书和客户端证书共用一套了么?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to