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

时间:2017-04-14 13:46:10

标签: authentication iis client makecert cac

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

我觉得这很舒服,因为当我在MacBook上点击我的开发网站时,它会显示2个Apple证书。那些因为我们的身份验证过程需要在公共名称的末尾有一小段数字而无法工作。

我尝试过很多不同的东西,但是在点击网站时我根本无法创建与我的DoD CAC证书一起出现的证书。在证书管理器中,Mac证书,DoC CAC和我的测试证书正在显示"客户端身份验证"在预期目的字段中。我还拥有自签名证书,我在受信任的根目录中用作我的测试证书的CA.

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

接下来我将尝试使用certreq,阅读暗示我可以为其设定多个值的内容。

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

1 个答案:

答案 0 :(得分:0)

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

我是为一台Windows机器制作的,但是您应该可以修改它以便在Mac上进行一些微小的更改(基本上从command.com切换到sh)。

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

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

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

希望这有帮助。