https连接的时候,如果不能导出私钥,那怎么解密数据

lvshuchenyin 2014-01-05 12:15:06
当浏览器访问一个需要双向验证的网站时,浏览器会发送客户端证书给服务器,接着服务器会使用这个证书加密一些数据发送给浏览器,然后浏览器应该要有一个私钥去解密这些数据,然后发给服务器验证。

但是,安装pfx格式的个人证书时,可以设置私钥不能导出,那样就无法获取私钥去解密了。但是我尝试过,使用chrome浏览器去访问的时候,的确是能够访问的,那就是说浏览器可以不需要获取私钥,就能解密数据了,请问这是如何做到的?

我去查了一下,发现了一个叫CSP的东西,是否通过这个的接口,就能直接解密数据呢?
...全文
869 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuobattle 2014-01-07
  • 打赏
  • 举报
回复
引用 5 楼 lvshuchenyin 的回复:
[quote=引用 4 楼 zhuobattle 的回复:] [quote=引用 3 楼 lvshuchenyin 的回复:] [quote=引用 2 楼 ping192168101 的回复:] 如果是https所有浏览器都一样吧
那是怎么做的?[/quote] https是服务端把自己的证书发给客户端,客户端去验证服务端的合法性,这个服务端给客户端的证书不会有私钥的。只有公钥。 你提到的浏览器要提交证书给服务端,那么应该是类似支付宝安全证书的概念吧?本地会有一个证书,里面应该是包括私钥的。[/quote] 但是私钥应该是不能够获取的,不然每个人都能够写程序去获取了,而且pfx格式的个人证书的话可以设置不能导出私钥,那样就无法导出私钥了, 不知是不是windows有一些接口,能够让你传入公钥证书,然后自动帮你找到那个私钥去解密数据,然后传回解密的数据[/quote] 如果有接口可以做这个事情,那么只要逆向一下接口调用流程,还是能找到私钥的。
zhuobattle 2014-01-06
  • 打赏
  • 举报
回复
引用 3 楼 lvshuchenyin 的回复:
[quote=引用 2 楼 ping192168101 的回复:] 如果是https所有浏览器都一样吧
那是怎么做的?[/quote] https是服务端把自己的证书发给客户端,客户端去验证服务端的合法性,这个服务端给客户端的证书不会有私钥的。只有公钥。 你提到的浏览器要提交证书给服务端,那么应该是类似支付宝安全证书的概念吧?本地会有一个证书,里面应该是包括私钥的。
lvshuchenyin 2014-01-06
  • 打赏
  • 举报
回复
引用 4 楼 zhuobattle 的回复:
[quote=引用 3 楼 lvshuchenyin 的回复:] [quote=引用 2 楼 ping192168101 的回复:] 如果是https所有浏览器都一样吧
那是怎么做的?[/quote] https是服务端把自己的证书发给客户端,客户端去验证服务端的合法性,这个服务端给客户端的证书不会有私钥的。只有公钥。 你提到的浏览器要提交证书给服务端,那么应该是类似支付宝安全证书的概念吧?本地会有一个证书,里面应该是包括私钥的。[/quote] 但是私钥应该是不能够获取的,不然每个人都能够写程序去获取了,而且pfx格式的个人证书的话可以设置不能导出私钥,那样就无法导出私钥了, 不知是不是windows有一些接口,能够让你传入公钥证书,然后自动帮你找到那个私钥去解密数据,然后传回解密的数据
lvshuchenyin 2014-01-05
  • 打赏
  • 举报
回复
引用 2 楼 ping192168101 的回复:
如果是https所有浏览器都一样吧
那是怎么做的?
ping192168101 2014-01-05
  • 打赏
  • 举报
回复
如果是https所有浏览器都一样吧

9,506

社区成员

发帖
与我相关
我的任务
社区描述
Windows专区 安全技术/病毒
社区管理员
  • 安全技术/病毒社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧