我正在实施SSL固定作为项目的安全要求,而HTTPS端点正在为我提供SslPolicyErrors。发生以下错误,
RemoteCertificateChainErrors
RevocationStatusUnknown
UntrustedRoot
如果我忽略这些问题,只检查公钥certificate.GetPublicKeyString ()
是否匹配,是否安全,或者黑客是否能够欺骗我们的证书,因为我们没有检查链?
这是检查我正在考虑删除的SslPolicyErrors的代码。
if (sslPolicyErrors != SslPolicyErrors.None) {
Debug.Log(sslPolicyErrors);
for(int i=0; i<chain.ChainStatus.Length;i++){
Debug.Log("-");
Debug.Log(chain.ChainStatus[i].Status);
Debug.Log(chain.ChainStatus[i].StatusInformation);
}
return false;
}
答案 0 :(得分:1)
如果您购买了TSL证书,则必须检查root和撤销状态。必须验证这些信息,以检查您是否正在与正确的端点进行通信。
如果您使用自签名证书,那么检查指纹和有效日期应该是公平的游戏。但是将指纹存储在应用程序中也可以轻松编辑中间人攻击。
询问此问题及您的协议