自动选择数字证书对话框

2024-01-24

我使用 WatiN (2.0.10.928) 与 C# 和 Visual Studio 2008 来测试需要证书的 SSL 安全网站。当您导航到主页时,将显示“选择数字证书”对话框,要求您选择有效的证书并单击“确定”按钮。

我正在寻找一种自动选择证书的方法,以便每次执行新的测试或固定装置(并且浏览器重新启动)时,我不必手动干扰自动化测试并选择证书。我尝试过使用各种 WatiN Dialog Handler 类,甚至考虑使用 Win32 API 来自动执行此操作,但运气不佳。

我终于找到了一个解决方案,但它增加了对该解决方案的另一个依赖项(称为 AutoIT 的第三方库)。由于这个解决方案并不理想,但确实有效,并且是我能找到的最好的解决方案,我将发布该解决方案并将其标记为答案,但是我仍在寻找“开箱即用”的 WatiN 解决方案这与我的其余代码和测试装置更加一致。

感谢您的回复!


在我的情况下,我只附有一张证书,所以我必须拿起列表中唯一存在的一张证书,所以我有非常简单的DialogHandler为此 - 如果它可以处理对话框,它只会单击按钮:

public class CertificateChoosingHandler : BaseDialogHandler
{
    public override bool HandleDialog(Window window)
    {
        new WinButton(1, window.Hwnd).Click();
        return true;
    }

    public override bool CanHandleDialog(Window window)
    {
        return window.StyleInHex == "94C808CC";
    }
} 

AFAIR 这个解决方案在 Windows 7 中不起作用。

EDIT:我忘记了一些有用的东西。当我发现这个解决方案在 Windows 7 中不起作用时,我在“自定义级别”中的 IE Internet 选项中发现了非常有趣的选项:当不存在证书或仅存在一个证书时,不提示选择客户端证书。因此,我已将我的网站添加到受信任的网站并编辑了设置,现在我不需要使用它DialogHandler,但即使没有对话框出现,它仍然可以使用。如果不清楚,我写的,这里是如何在 Internet Explorer 中启用证书提示 https://ca.cern.ch/ca/Help/?kbid=031510显示证书对话框。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动选择数字证书对话框 的相关文章

随机推荐

  • 删除 Primefaces 组件中的所有样式?

    是否可以从 Primefaces 组件中删除所有样式 我的意思是 组件集很好 但必须手动覆盖每个组件的每一点以使组件样式适合我的应用程序的整体设计 这并不好 我不能花几个小时使用 Firebug 来查找它使用哪些类等等等 那么有没有办法删除
  • 应用动态实施

    我正在尝试将 Appdynamics 添加到我的应用程序中 我正在执行以下步骤 https docs appdynamics com display PRO40 Instrument an Android Application Instr
  • 检查 C 中的数组是否对称

    我正在研究一个示例问题 它要求我检查用户输入的数组是否对称 我已经弄清楚如何通过创建另一个数组 以相反的顺序复制第一个数组 然后检查它们是否彼此相等来做到这一点 如下面的代码所示 include
  • 如果禁用 GPS,三星手机将无法获取位置信息

    我使用三星手机通过 LocationManager API 获取位置 如果禁用 GPS 我无法获取位置 通过网络提供商我无法获取位置 这是代码 这在 HTC 和索尼甚至禁用 GPS 中都可以正常工作 但在三星手机中则不行 public Lo
  • 实体框架 - 仅更新不为空的值

    这对我来说有点新鲜 我被要求编写一个 ETL 程序 将两个数据集加载到同一个表中 数据集 1 已完成并包含表的所有数据 然而 数据集 2 仅包含changes需要覆盖到第一个数据集上 观察 数据集 1 小部件表 ID COL1 COL2 C
  • 外部硬盘上的 Docker 卷

    我正在使用 postgres 映像在本地运行容器 我需要处理大量数据 并且我想为此使用外部硬盘驱动器 是否可以在外部硬盘驱动器上安装卷 我可以完成我想要的吗Flocker https github com ClusterHQ flocker
  • 对于 Linux 上的 Windows 文件路径,Path.startsWith 返回 false

    为什么会这样呢 Path parent1 Paths get flugel borf noggin Path child1 Paths get flugel borf noggin foo bar baz jpg System out pr
  • LINQ to Entities 条件给出奇怪的结果

    尝试在 LINQ 查询 使用 Entityframework 中实现条件会创建奇怪的查询 在某些情况下 即使阈值设置为 180 秒 这些查询也会超时 List
  • 如何在 VS Code 中默认打开文本换行

    Usually when I use VS Code very first thing I do on new document is command Toggle Word Wrap or Alt Z I tried looking in
  • 没有 jquery 的 javascript find() 函数

    我喜欢尝试新事物 所以 我决定制作自己的功能without使用jquery 我正在尝试建立find 所以 这是我的代码 function el var firstChar el charAt 0 id document getElement
  • JSON 文件未下载,函数返回 null

    我正在尝试从 google book API 下载一些 JSON 我正在使用的 URL 和 API 密钥似乎有效 因为我可以使用浏览器手动获取它 我调用此类并使用此函数向其传递可用的 URL 我尝试过发布和获取 你可以看到我在哪里提交了另一
  • FileSystemWatcher 在模拟用户下运行

    我有一个在本地帐户下运行的 C winform 应用程序 但需要监视域上的文件夹 我正在使用稍微修改过的代码here http platinumdogs wordpress com 2008 10 30 net c impersonatio
  • 将整个 Discord 语音通道静音 (JS)

    我正在为我朋友组的游戏服务器开发一个不和谐机器人 我想添加一个命令将语音频道中的每个人静音 我想这msg member voice channel members setmute true 可以工作 但它返回的不是一个函数 并使机器人崩溃
  • Apache Web 服务器 - 当所有工作线程都繁忙时,请求会发生什么情况

    据我研究 当所有工作线程都忙于服务请求时 接下来的请求会发生什么情况 他们等待吗 这是否与某些可配置参数有关 我可以统计此类请求的数量吗 添加到此 请您解释一下或提供一个链接 让我可以清楚地了解 Apache Web 服务器的请求处理策略
  • 如何将变量从settings.py传递到视图?

    我使用以下命令在 settings py 中获取 Django 应用程序中的项目路径 PROJECT PATH os path realpath os path dirname file 我想在其他视图中使用 PROJECT PATH 值
  • 带有请求的 AWS Node JS

    我不确定这里出了什么问题 但是我在 Node js 中的下面的 lambda 不起作用 use strict exports handler function event context try var req require reques
  • 如何将文件从一个位置移动到另一个位置?

    我正在尝试将文件从一个地方移动到另一个地方 在本例中 它是我的用户个人资料图片 由于我根据用户名存储用户个人资料图片 因此当他们更改用户名时 我需要移动他们的个人资料照片 否则图像链接将被破坏 我在这里尝试过 if user gt user
  • 调试 ASP MVC 应用程序中使用的 C++ DLL

    我的 ASP MVC5 Web 应用程序项目的 bin 文件夹中有一个 C DLL 我从原始 C 项目中复制并粘贴了它 因为我无法添加引用 我能够调用 DLL 的一些函数 使用 DLLImport 我的其中一项功能有问题 只有当我能够进入
  • 如何使用 Vue.js 切换按钮?

    Note 使用 Vue js 和 Vuetify js 实现功能和样式 With class and click属性 我能够将按钮的背景颜色更改为所需的颜色 但它将更改应用于他们全部 而不仅仅是我点击的那个 问题 如何在不同时切换所有按钮的
  • 自动选择数字证书对话框

    我使用 WatiN 2 0 10 928 与 C 和 Visual Studio 2008 来测试需要证书的 SSL 安全网站 当您导航到主页时 将显示 选择数字证书 对话框 要求您选择有效的证书并单击 确定 按钮 我正在寻找一种自动选择证