Seb*_*ano 5 java android ssl-certificate
我正在研究的系统架构需要比较两个 SSL/TLS(通常是 X.509)证书。也就是说,我需要验证两个证书是否相同。
我不在乎它们是否已过期或自签名,我只想确保它们没有以任何方式被更改。
执行此类操作的最正确方法是什么?比较这些证书的两个签名(两个字节[])就足够了,或者这个操作是否容易受到我目前尚未考虑的漏洞利用?
我认为比较两个签名还不够,除非您的代码直接从某个实例获取证书,以确保签名也已根据证书本身进行检查。所以在很多情况下,我会说:不。
我认为最灵活、最正确的方法是单独检查两个证书(正文与签名)的完整性,然后直接比较证书中您要求相同的所有信息。(我这样说是因为我不确定您是否需要完全身份)。
但是,如果您的目标确实是检查服务器发送的证书的真实性,那么在代码中拥有整个证书的副本不一定是明智的;在这种情况下,您可以验证服务器的证书,然后根据存储在应用程序中的安全哈希检查其正文。
归档时间: |
|
查看次数: |
2194 次 |
最近记录: |