首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >矩阵SSL如何执行证书验证?

矩阵SSL如何执行证书验证?
EN

Security用户
提问于 2014-08-01 10:14:19
回答 2查看 814关注 0票数 0

我们使用一个定制的应用程序,它使用矩阵SSL (客户端)在MAC和Linux系统上执行证书验证。我的问题是,Matrix是否保留了中间根和可信根的证书存储缓存,以便根据服务器发送的内容执行其检查?还是像浏览器那样调用OCSP或者使用AIA扩展来验证链呢?或者可以开发矩阵SSL来使用这两种方法?

EN

回答 2

Security用户

发布于 2014-10-01 01:34:31

在查看了MatrixSSL的文档之后,我假设:

  • 由于它是与传输层无关的,所以它本身不会(也不能)检索丢失的中间证书。要做到这一点,需要有某种类型的HTTP客户端(可能有代理支持),而且我看不到任何这样的文档。
  • 它本身也不会检查主机名是否与证书匹配。为此,您需要添加自己的certValidator。如果您不验证证书中的主机名,您将接受由可信CA为任意主机签名的任何证书,这将有效地使您容易受到中间人的攻击。这意味着实现这一点是必须的,除非您只需要检查一些固定的证书(即证书钉扎)。
  • API包含用于CRL处理的函数,但要求开发人员提供CRL本身。它具有获取CRL的URL的功能,但是开发人员必须自己检索URL的数据。
  • OCSP没有文档化的API。由于OCSP需要HTTP访问,而且由于MatrixSSL本身与传输无关,因此可以假定它不会单独执行OCSP查找,并且也不会向开发人员提供执行OCSP查找所需的信息。

最后,这是关于您从OpenSSL获得的安全性,即没有主机名检查,只有手动CRL,没有为OCSP记录的API (尽管在OpenSSL中有一个没有文档但相当复杂的API )。

由于您只为您自己的自定义应用程序使用MatrixSSL,我建议您只接受少数由您控制并在应用程序中进行硬编码的特定证书,以保持它的简单和安全。在这种情况下,您将不需要更复杂的东西,如主机名或撤销检查。

票数 1
EN

Security用户

发布于 2014-08-01 14:34:51

我想你混淆了两件事。对于浏览器,与我所能想到的任何其他TLS堆栈一样,证书链验证将通过检查证书签名来完成,直到它在其信任存储中找到一个证书为止。(您可以进入浏览器的首选项/选项并检查默认的可信CA)。

然后,为了检查吊销状态,它要么使用CRL、OCSP,要么根本不麻烦,因为撤销是某种破坏。

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/64467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档