나는 이것에 관해 많은 미해결 질문을 보았습니다. 분명히 많은 개발자가 past이 이슈를 얻었지만 게시 된 솔루션을 보지 못했습니다.클라이언트 인증서 요청
내 ASP.NET MVC 5 웹 앱용 스마트 카드 (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 익스프레스 (10)