如何为需要客户端身份验证的IIS站点制作模拟智能卡的证书

问题描述:

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

我对此感到满意,因为当我在我的MacBook上打开我的开发站点时,它向我展示了2个Apple证书。这些将不起作用,因为我们的身份验证过程在通用名称末尾需要一个简短的数字序列。

我已经尝试了很多不同的东西,我无法创建一个证书,在打网站时与我的国防部CAC证书一起出现。在证书管理器中,Mac证书,DoC CAC和我的测试证书在“预期用途”字段中显示“客户端身份验证”。我还拥有自己签署的证书,作为我的信任根的测试证书的CA。

DoD证书在预期目的字段中有“智能卡登录”和“客户端身份验证”。我只能在使用makecert.exe时指定1 eku,因此我可以使用“客户端身份验证”或“智能卡登录”值创建证书,但不能同时使用两者。看起来合乎逻辑的是,我只需要使用“客户端身份验证”设置证书。

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

如何制作我自己的客户端认证证书,该网站会让我选择?

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

我是为Windows机器制作的,但你应该可以修改它,以便在mac上做一些小改动(基本上从command.com切换到sh)。

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

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

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

希望这会有所帮助。