Wininet - 如何下载和验证 SSL 证书
Posted
技术标签:
【中文标题】Wininet - 如何下载和验证 SSL 证书【英文标题】:Wininet - How to download and verify SSL certificate 【发布时间】:2012-09-19 09:33:21 【问题描述】:我想像 Internet Explorer 一样下载和验证证书,我尝试监视 IE API 调用以查看它是如何完成这一切的。 首先,我看不到哪个 wininet 函数正在下载 SSL 证书,其次有很多对 crypt32.dll 函数的调用。
谁能告诉我哪些函数请求证书或验证证书所需的证书数据。 我想了解方法并在我的应用程序中实现完全相同的行为。
【问题讨论】:
【参考方案1】:谁能告诉我哪些函数需要证书
证书是 SSL 握手的一部分,不单独下载。
【讨论】:
那么它如何检查证书是否有效?【参考方案2】:如果您使用 WinINet 打开 https 连接,它将为您下载并检查证书。所以不清楚你想做什么。
如果您想检查 WinINet 下载的证书,您可以在 IE8 或更高版本中使用INTERNET_OPTION_SERVER_CERT_CHAIN_CONTEXT。
如果您不想使用 WinINet,您可以使用 existing implementation 或 TLS,或者您可以自己实现它,但后者不是一个好主意。
【讨论】:
没有人确切知道使用哪些 Crypto API 来确认证书是否经过验证? 我不知道具体用的是哪个API,可能是CertVerifyCertificateChainPolicy。你为什么在乎?以上是关于Wininet - 如何下载和验证 SSL 证书的主要内容,如果未能解决你的问题,请参考以下文章