【问题标题】:Accept SSL Certificate in vb6 using the Webbrowser control使用 Webbrowser 控件接受 vb6 中的 SSL 证书
【发布时间】:2009-11-18 17:37:32
【问题描述】:

问题: 我正在创建一个 vb6 应用程序,它将连接到位于 HTTPS 站点上的特定 Web 服务。问题是,我正在访问的 HTTPS 站点要求所有请求都接受它的证书策略。 (作为它的自签名 ssl 证书)

基本上我需要应用程序自动接受安全证书对话框。示例安全对话框如下所示:

提前干杯。

@编辑:

我还不能发布图片,因为我是新用户...请参阅下面的网址以获取示例图片:

http://oit.nd.edu/network/nomad/images/ie_certs.gif

【问题讨论】:

    标签: vb6 ssl certificate


    【解决方案1】:

    查找名为 Silent 的属性。

    您必须捕获其他事件才能回复该对话框。虽然,我不确定行为是什么,但如果您将 Silent 设置为 true(即它是否假定它为是或其他?)。

    【讨论】:

    • 将其设置为静默会隐藏消息框,但假定用户单击否 - 导致内部“导航到网页已取消”页面...
    • 你知道任何公共网站,我可以在其中模拟这种行为吗?
    【解决方案2】:

    我知道的大多数 HTTPS 网站都使用自签名证书。

    我不知道 HTTPS 的 VB6 API,但例如在 Java 中,您应该事先向其提供站点证书的副本。那就是:

    • 导出证书副本,例如从您的浏览器证书存储库(在 Firefox 中:Tools->Options->Advanced->Encryption->View Certificates 等) - 假设您已经使用浏览器访问过该站点;
    • 检测您的 HTTPS API 指向哪个证书存储库(肯定有)
    • 将证书导入该存储库
    • 执行你的程序

    【讨论】:

    • 你知道我有什么方法可以在 vb6 中自动化这个过程吗?所以这个过程对用户来说似乎是完全透明的?
    • 我对 VBasic 了解不多。无论如何请注意,这是一个一次性的过程,尽管是手动的,并且用户应该知道他们信任谁。也许您可以预先构建证书存储库,并将其与应用程序一起分发。您真的应该阅读有关 VB 安全模型的文档。如果控件共享实际的浏览器存储库,您可以添加一个要求,即用户通过“真实”浏览器一劳永逸地连接到 Web 服务并接受站点证书。
    猜你喜欢
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    相关资源
    最近更新 更多