如何测试客户端证书

Posted

技术标签:

【中文标题】如何测试客户端证书【英文标题】:How to test client certificate 【发布时间】:2014-10-20 21:08:47 【问题描述】:

我正在构建一个 Web 服务以允许 salesforce 调用它,SSL 用于安全的两种方式,并且 salesforce 提供了它的客户端证书:sfdc-client.cert。

为了测试 Salesforce 客户端证书是否有效,我在 MAC apache 上设置了一个非常简单的 Web,并在 ssl 配置文件 /etc/apache2/extra/httpd-ssl.conf 上启用 SSL 和客户端身份验证,如下所示(使用自签名):

SSLCertificateFile "/private/etc/apache2/ssl/server.crt"
SSLCertificateKeyFile "/private/etc/apache2/ssl/server.key"
SSLCACertificateFile "/private/etc/apache2/ssl/sfdc-client.cert"
SSLVerifyClient require
SSLVerifyDepth  10

第一次用 Chrome 浏览器,我得到“SSL 连接错误”,我认为在这种情况下是正确的。

然后,我尝试将sfdc-client.cert导入到钥匙串访问中,但是根本不起作用,因为它只支持p12/pfx格式。

我也尝试过使用 CURL:

curl https://test.com --cert-type der --cert sfdc-client.cert

但得到了错误:

curl: (58) unable to use client certificate (no key found or wrong pass phrase?)

我是这个东西的新手,有谁知道以确保它像上面那样工作?

【问题讨论】:

【参考方案1】:

首先,您需要同时拥有客户端证书和证书私钥才能测试 2-way SSL 身份验证。

要使用网络浏览器进行测试,请按照此处的说明进行操作:Is there a way to test 2 way ssl through browser?

【讨论】:

以上是关于如何测试客户端证书的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter-如何在Jmeter中测试受客户端证书身份验证保护的api?

如何将客户端 pkcs12 证书添加到 Postman Chrome、W7?

测试客户端浏览器中是不是安装了客户端证书

如何使用 create-react-app 提供 SSL 证书?

无论证书有效性如何,我的 node.js https 客户端始终有效

是否可以强制 WCF 测试客户端接受自签名证书?