通过签名比较SSL证书:这够了吗?

时间:2013-03-15 10:56:54

标签: java android ssl-certificate

我正在处理的系统架构需要比较两个SSL / TLS(通常是X.509)证书。也就是说,我需要验证两个证书是否相同。

我不在乎他们是否过期或自签,我只是想确保他们没有被改变。

执行此类操作的最正确方法是什么?是否足以比较这些证书的两个签名(两个字节[]),或者这个操作是否容易出现我到目前为止没有考虑过的漏洞?

1 个答案:

答案 0 :(得分:3)

我不认为比较这两个签名就足够了,除非您的代码直接从某个实例获取证书,这些证书确保签名也已经检查证书本身。所以在很多情况下,我会说:没有

我认为最灵活,最正确的方法是分别检查两个证书(正文与签名)的完整性,然后直接比较证书中您需要相同的所有信息。 (我这样说是因为我不确定你需要身份)。

但是,如果您的目标是检查服务器发送的证书是否真实,那么在您的代码中获得整个证书的副本并不一定明智;在这种情况下,您可以验证服务器的证书,然后根据存储在应用程序中的安全哈希检查其正文。