我正在尝试在我的应用程序上实现证书固定。据我了解,存在3种类型的固定方式:
根据我所说的,似乎推荐的方法是SPKI固定。
我的应用程序可以基于用户在登录时键入的IP连接到多个服务器。 这是我的实现想法,但我不确定是否可以。
我将创建一个由CA签名的中间证书。然后创建我自己的公私钥。然后,我的应用程序可以连接的每台服务器都需要从我那里请求使用我的私钥签名其证书。 层次结构将是RootCertificate(由CA自行签名),然后是我的中间证书(由CA签名),然后为我的应用程序可以连接的每台服务器(由私钥签名)叶证书。
在应用程序上,我将存储中间证书中公钥的哈希值。首次连接到随机服务器时,该应用程序将获得3个证书:服务器证书,我的中间证书和根证书。在检查哈希值时,会发现与我的公钥匹配。
您怎么看?可以实施吗?我听错了吗?这种方法容易受到线虫攻击吗? 谢谢!