0

我有一个项目是一个使用智能卡 (DoD CAC) 进行身份验证的网站。我需要制作多个测试证书,该站点可用于客户端验证会话。用户可以选择用于客户端身份验证的非基于智能卡的证书似乎是可能的。

这么说我感觉很舒服,因为当我在 MacBook 上访问我的开发网站时,它会显示 2 个 Apple 证书。这些都行不通,因为我们的身份验证过程需要在公用名末尾有一个简短的数字序列。

我已经尝试了很多不同的东西,我根本无法创建一个证书,当我访问该站点时,我的 DoD CAC 证书与我的证书一起出现。在证书管理器中,Mac 证书、DoC CAC 和我的测试证书在“预期用途”字段中显示“客户端身份验证”。我还拥有自签名证书,用作受信任根中测试证书的 CA。

国防部证书在预期用途字段中具有“智能卡登录”和“客户端身份验证”。使用 makecert.exe 时我只能指定 1 个 eku,因此我可以使用“客户端身份验证”或“智能卡登录”值制作证书,但不能同时使用两者。我只需要使用“客户端身份验证”设置证书似乎是合乎逻辑的。

接下来我将尝试使用 certreq,阅读一些暗示我可以使用它为预期目的设置多个值的内容。

如何制作网站让我选择的自己的客户端身份验证证书?

4

1 回答 1

0

我在这里维护了一个批处理文件:http ://unmitigatedrisk.com/?p=28 ,它为测试目的制作了一个简单的 PKI。

我为 Windows 机器制作了它,但您应该能够通过一些小的改动来修改它以在 mac 上工作(基本上从 command.com 切换到 sh)。

它使用 OpenSSL 来执行此操作,在它创建的证书集中有一个客户端身份验证证书。

要将证书导入您的 mac,您需要将证书和密钥转换为 PKCS#12 文件。

您可以通过查看 openssl.cnf 文件轻松更新脚本创建的证书配置文件。

希望这可以帮助。

于 2017-04-16T07:58:25.693 回答