我在统一证书验证方面存在问题.我使用.Net类HttpWebResponse来发出请求并向ServicePointManager.ServerCertificateValidationCallback提供回调函数.
证书由权限签名,在Web浏览器中正常工作.
验证失败,状态为:X509ChainStatusFlags.PartialChain X509ChainStatusFlags.RevocationStatusUnknown X509ChainStatusFlags.OfflineRevocation
问题,我怎么看,是空根证书存储和空CRL列表.我打开了Mono源代码,发现这些数据应该是从X509Store获得的,但不知何故它不包含任何Root证书或CRL.
我需要实现证书的正确验证,而不是通过在ServerCertificateValidationCallback中返回true或者对证书指纹进行硬编码来跳过它,为此我需要提供所有必需的数据.
假设我知道Root权限,我可以在应用程序启动时将其添加到存储.但它不适用于CRL.该平台是Android\IOS.
问题是:如何强制统一安装根和CRL?