Certificate 数字证书签名

Certificate 数字证书签名,certificate,digital-signature,Certificate,Digital Signature,好的,我确信这是显而易见的,我在这里遗漏了一些非常基本的东西。我们正在向服务器发送http请求。为了证明是我们发出请求,我们附上了一份证书 此证书具有受信任的CA,因此服务器知道该证书是真实的 我不明白的一点是,我们对服务器说,好吧,比如说,来自Comodo的信任证书。好的所以我发送请求,它说我是“A公司”,这是由科摩多认证的 我们运行服务器的客户只想知道CA是谁,这样他们就可以信任它。有道理。但是证书中肯定还有其他东西需要检查才能喜欢嵌入的公司名称吗?否则,我可以为我自己的个人公司购买另一个证

好的,我确信这是显而易见的,我在这里遗漏了一些非常基本的东西。我们正在向服务器发送http请求。为了证明是我们发出请求,我们附上了一份证书

此证书具有受信任的CA,因此服务器知道该证书是真实的

我不明白的一点是,我们对服务器说,好吧,比如说,来自Comodo的信任证书。好的所以我发送请求,它说我是“A公司”,这是由科摩多认证的

我们运行服务器的客户只想知道CA是谁,这样他们就可以信任它。有道理。但是证书中肯定还有其他东西需要检查才能喜欢嵌入的公司名称吗?否则,我可以为我自己的个人公司购买另一个证书,比如说,从Comodo那里获得它,并且根据服务器的情况,该证书也是有效的

请开导我

谢谢
Simon

如果我理解正确,你是在问一个人如何在网络浏览器上访问“a公司”的网站,以确定它真的是“a公司”,而不是一个冒名顶替者,他拥有由同一个受信任的CA(Comodo)颁发的“B公司”的证书

快速回答是浏览器会检查证书上的名称,而不仅仅是它是否信任颁发证书的CA。证书中的Subject字段是一个可分辨名称(DN),如下所示:

CN=www.google.com,O=googleinc,L=mountainview,S=California,C=US

浏览器可以检查CN(规范名称)是否与您在浏览器()中输入的内容匹配,以确保您位于正确的站点。有时CN不匹配,但证书包含的主题备选名称中包含的名称不匹配。在任何一种情况下,证书都包括您试图加载的网站,因此您可以验证它是否是该网站的正确证书

此外,还有许多其他检查已经(或可以)完成:
*检查当前日期和时间是否在证书的有效期内
*检查证书是否未被吊销(使用CRL或OCSP)
*检查签名是否有效并由受信任的CA签名
*检查签名CA是否实际上是CA(CA证书中的密钥使用字段)
*检查证书本身的使用情况,确保它是服务器证书
*检查公钥是否足够强(例如,至少2048位RSA)
*检查签名算法是否足够强大(例如SHA256RSA与SHA1RSA)
*检查有效期是否足够短(例如,服务器的有效期为3年或更短)