我正在将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;
}
最佳答案
如果您购买了TSL证书,则必须检查root和吊销状态。必须验证这些信息,以检查您是否与正确的端点进行通信。
如果您使用自签名证书,则检查指纹和有效日期应为自由游戏。但是,将指纹存储在应用程序中,还可以轻松进行中间人攻击的编辑。
也许您可以在https://security.stackexchange.com/上询问此问题以及您的协议
关于c# - 进行SSL固定安全时是否忽略SslPolicyErrors?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29685991/