これについて多くの未解決の質問があります。どうやら多くの開発者がpastこの問題を抱えていますが、私はどんなソリューションも投稿していません。クライアント証明書をリクエストする
私は、ASP.NET MVC 5 Webアプリケーション用のスマートカード(X.509 CAC)を読み込もうとしています。
var request = HttpContext.Request;
var cert = request.ClientCertificate;
証明書には空の値があります。
問題は、他のウェブサイトに表示されているようにユーザー証明書情報を要求するダイアログが表示されていないようです。 このダイアログを公開するにはどうすればよいですか?
SSLを有効にして実行しています。私のapplicationHost.configはそれでこれを持っている:
<access sslFlags="SslRequireCert" />
注:
<authentication>
<anonymousAuthentication enabled="false"/>
<basicAuthentication enabled="false" />
<clientCertificateMappingAuthentication enabled="false" />
<digestAuthentication enabled="false" />
<iisClientCertificateMappingAuthentication enabled="true" manyToOneCertificateMappingsEnabled="true">
<manyToOneMappings>
<add name="Authentication Certificate"
enabled="true"
permissionMode="Allow"
userName="foo"
password="bar">
<rules>
<add certificateField="Issuer" certificateSubField="CN" matchCriteria="*localhost*" compareCaseSensitive="false" />
</rules>
</add>
</manyToOneMappings>
</iisClientCertificateMappingAuthentication>
<windowsAuthentication enabled="false">
<providers>
<add value="Negotiate" />
<add value="NTLM" />
</providers>
</windowsAuthentication>
</authentication>
はここに私のアクセス・ノードであるユーザ名/パスワード= fooの/バーが疑わしいです。なぜ、これはユーザー側には何も配置されませんでしたか?これに関連する必要なサービスアカウントはありますか?私はまた、より単純な構成を試みた
:
<authentication>
<anonymousAuthentication enabled="false" userName="" />
<basicAuthentication enabled="false" />
<clientCertificateMappingAuthentication enabled="true" />
<digestAuthentication enabled="false" />
<iisClientCertificateMappingAuthentication enabled="false">
</iisClientCertificateMappingAuthentication>
<windowsAuthentication enabled="false">
<providers>
<add value="Negotiate" />
<add value="NTLM" />
</providers>
</windowsAuthentication>
</authentication>
何が起こるするページが正常に提示されているが、私は私のクライアント証明書のために募集しておりません。
私は明らかにクライアントの証明書を持っていますので、なぜ他のウェブサイトからリクエストできるのか分かりません。私はIIS Expressの10