HTTPS - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
linwu
V2EX    问与答

HTTPS

  •  
  •   linwu 2019-11-16 10:21:07 +08:00 2407 次点击
    这是一个创建于 2162 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https 中:

    保证 接收公钥来源的正确性 是通过证书(数字签名+信息摘要)来保证的 

    想问下:接收的公钥究竟是来源于 1. 客户端请求服务端 获取的证书里的信息摘要 2. 客户端直接请求 CA 认证机构获取对应证书的公钥 两种情况的哪种?

     如果是从 1 中获取的话,那我是否只要把证书获取, 自己使用 hash 函数加密信息摘要(自己的公钥),再用自己的私钥加密,发送给客户端 不是就可以伪造证书了吗? 
    12 条回复    2019-11-16 15:21:52 +08:00
    JsonLee
        1
    JsonLee  
       2019-11-16 10:33:20 +08:00 via iPhone
    在这问等别人回答自己可能已经通过搜索引擎找到答案了。先去了解一下证书的格式和怎么生成的,这个答案自然明了。
    HarryQu
        2
    HarryQu  
       2019-11-16 10:45:44 +08:00   1
    https://s2.ax1x.com/2019/11/16/MwsGrT.png

    我之前关于这个问题做的笔记。 笔记来源 <图解 HTTP>
    linwu
        3
    linwu  
    OP
       2019-11-16 10:48:02 +08:00
    我选择的不是 问与答 的节点么,难道 V2EX 的答案不算 搜索引擎里的内容么?
    linwu
        4
    linwu  
    OP
       2019-11-16 10:48:38 +08:00
    @HarryQu 感谢
    chinvo
        5
    chinvo  
       2019-11-16 12:46:39 +08:00 via iPhone
    @linwu #3 不算啊,因为搜索引擎里早就有这个问题的答案了,你自己搜索就知道了,v2 还要别人回答

    你这思想,很伸手党
    aabbcc112233
        6
    aabbcc112233  
       2019-11-16 12:47:52 +08:00 via Android
    @chinvo 不懂就问,别太苛刻
    chinvo
        7
    chinvo  
       2019-11-16 12:49:51 +08:00 via iPhone
    @aabbcc112233 #6 提问的智慧,别太懒惰

    提问没错,下面有人指出可以搜索之后楼主竟然把对方批判一番实在过于伸手党
    aabbcc112233
        8
    aabbcc112233  
       2019-11-16 12:52:17 +08:00 via Android
    @chinvo 看了下他的提问标题,确实该!
    lhx2008
        9
    lhx2008  
       2019-11-16 13:00:42 +08:00 via Android
    公钥在证书里面,证书有 CA 的签名,可以用 CA 的公钥验证,CA 公钥是客户端内置的
    linwu
        10
    linwu  
    OP
       2019-11-16 13:19:46 +08:00
    @chinvo 你又是如何知道我没有搜索过?如果我搜索过出来的文章解释的并不清楚,我希望到专业些的技术网站来确定,也是不允许确定的?是不是每个问题都要附带(已在搜索引擎搜索过)才能提问,你看我的问题描述觉得我是一点都没查过自己就过来问的吗?
    TtiGeR
        11
    TtiGeR  
       2019-11-16 15:16:45 +08:00 via iPhone
    @linwu 没有批评的意思,只是作为过来人说几句。

    已经查过的情况下,建议说明已经看了哪些资料,但是*具体*哪里觉得说得不清楚或是不同资料之间哪里冲突。这样大家给的回答一般也更有针对性。

    至于你的问题,伪造出来的证书不是受信任的 CA 签发的话,签名是无法通过检验的。理论上讲,如果你实际控制了另一个受信任的 CA 是可以伪造证书的。但在公共互联网上是几乎不可行的,因为现在各大浏览器(和操作系统)对公共 CA 的审计和透明度要求非常高。
    TtiGeR
        12
    TtiGeR  
       2019-11-16 15:21:52 +08:00 via iPhone   1
    当然在你自己控制的设备上,想要伪造一个证书是完全可行的,像 Fiddler 或者 Burp Suite 之类监听 HTTPS 的原理本身就是重签发(伪造)证书,之所以可以“骗”过浏览器是因为这些软件会让你信任软件生成的根证书。

    也可以参考一下别人的答案:

    https://security.stackexchange.com/questions/68198/cant-i-forge-an-ssl-certificate
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     899 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 21:05 PVG 05:05 LAX 14:05 JFK 17:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86