【问题标题】:SSL client certificate authentication with Java2se html-unit使用 Java2se html-unit 进行 SSL 客户端证书身份验证
【发布时间】:2014-11-17 21:00:53
【问题描述】:

我目前正在使用 htmlunit 来模拟需要安装 ssl 客户端证书(https 连接)的网页的报废。此证书已成功安装在我的 windows 操作系统中。通过网络浏览器(chrome 和 IE)访问给定网页时,会提示选择将使用的个人证书。我想访问 Windows 证书存储,最好是这个个人证书来验证并创建与我的 htmlunit 客户端的成功连接。

我已经设法使用 Windows-MY 研究 SunMSCAPI 以读取存储,如下面的代码所示。

        Provider provider = Security.getProvider("SunMSCAPI");
        KeyStore store = KeyStore.getInstance("Windows-MY", provider);
        store.load(null, null);

        Enumeration<?> aliases = store.aliases();
        while (aliases.hasMoreElements()) {
            String alias = aliases.nextElement().toString();
            if (alias.equals("mypersonalcert")) {

                Certificate[] signerKey = (Certificate[]) store
                        .getCertificateChain(alias);
                Object entry = store.getKey(alias, null);
                System.out
                        .println("cert aquired! got it");

            }
        }

如何成功地将它集成到我的 htmlunit webconnection 和 web 客户端实例以进行连接?提前致谢。

【问题讨论】:

    标签: java ssl ssl-certificate htmlunit unit-testing


    【解决方案1】:

    你可以使用 WebClientOptions.setSSLClientCertificate(URL certificateUrl,String certificatePassword, String certificateType)

    将 HTMLUnit 指向您选择的客户端证书。

    【讨论】:

      猜你喜欢
      • 2014-04-04
      • 2021-02-11
      • 2012-01-10
      • 1970-01-01
      • 2015-10-29
      • 2018-07-05
      • 2019-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多