TLS / SSL证书验证

时间:2014-04-17 17:20:55

标签: ssl gnutls

我是TLS / SSL的新手,所以这可能是一个非常基本的问题,但我一直在搜索很多找不到的答案。

我正在尝试实现TLS / SSL客户端。该客户端将在带有Windows操作系统的嵌入式设备上运行(XPe或WES7)。我的实现使用GnuTLS。

如何获取我单位的受信任权限列表,以便我的客户端可以验证服务器的证书?它应该是存储在客户端的文件,客户端是否负责保持最新状态?或者我的客户可以在每次需要时以某种方式从互联网上获取此列表而不是在本地维护它吗?

2 个答案:

答案 0 :(得分:1)

认证机构(CA)主证书存储在客户端,客户端负责使其保持最新。让它们保持最新并不像听起来那么难,因为CA证书通常不会改变 - 大多数证书至少有效5到10年。

客户端存储是必要的,因为您的应用程序使用的任何特定互联网站点可能会受到损害。

要获取列表,您可以首先查看使用浏览器分发的CA证书或使用Java分发的cacerts文件。在发布代码之前,您可能希望通过根据CA提供的信息检查您使用的证书是否真实。

答案 1 :(得分:0)

转到任何Windows计算机并从命令行运行“certman.msc”。将每个CA证书(中间证书,受信任的颁发机构)导出到文件(BER,PEM),然后将这些证书导入嵌入式软件。现在,您可以像Windows一样验证电子邮件证书(即使用各种x.509相关的RFC和CRL)