Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iis 在开发中使用自签名客户端证书_Iis_Ssl_Https_Client Certificates - Fatal编程技术网

Iis 在开发中使用自签名客户端证书

Iis 在开发中使用自签名客户端证书,iis,ssl,https,client-certificates,Iis,Ssl,Https,Client Certificates,我正在尝试为需要ssl+客户端证书的web应用程序设置开发环境。 所以服务器和客户端是一样的,它是我的笔记本电脑 到目前为止,我使用网上的几个不同教程做了些什么: -已创建自签名根CA -使用此根CA创建“服务器”证书,并使用此证书配置IIS ssl。 -创建了一个包含所有角色的“客户端”证书(仍然使用相同的根证书) 用于创建证书的命令如下所示: makecert -n "CN=Dev Client" -iv DevCA.pvk -ic DevCA.cer -pe -ss my -sr loca

我正在尝试为需要ssl+客户端证书的web应用程序设置开发环境。 所以服务器和客户端是一样的,它是我的笔记本电脑

到目前为止,我使用网上的几个不同教程做了些什么:
-已创建自签名根CA
-使用此根CA创建“服务器”证书,并使用此证书配置IIS ssl。
-创建了一个包含所有角色的“客户端”证书(仍然使用相同的根证书)

用于创建证书的命令如下所示:

makecert -n "CN=Dev Client" -iv DevCA.pvk -ic DevCA.cer -pe -ss my -sr localmachine -sv DevClient.pvk DevClient.cer
pvk2pfx -pvk DevClient.pvk -spc DevClient.cer -pfx DevClient.pfx
因此,客户端和服务器证书都具有相同的根证书

然后我:
-在当前用户和本地计算机的“受信任权限存储”中添加了根证书
-在“当前用户”的“个人存储”中添加了客户端证书
-在“本地计算机”的“个人存储”中添加了服务器证书

当我检查客户端证书属性时,它正确地找到了根证书

但现在的问题是,它在IIS中不起作用。
如果我将客户端证书设置为“必需”,则我有一个HTTP 403.4禁止证书
如果我将客户端证书设置为“已接受”,则站点确实可以工作,但没有收到证书

有人知道怎么做吗?

你应该使用

makecert ... -sky exchange
用于服务器证书和

makecert ... -sky signature

对于客户端证书,服务器能够保护连接,客户端能够验证自己。

是否需要在默认网站/Bindings../HTTPS/Edit中指定证书?在这里,我指定了按照本文所述生成的服务器证书。我在这里尝试配置服务器以接受客户端证书