3
我有一個我要求客戶端證書的網站。根據SSL客戶端證書(授權)限制對Web服務的訪問
我已經配置我的IIS網站與以下:
<location path="MySecureService">
<system.webServer>
<security>
<access sslFlags="SSl, SslRequireCert"/>
<authentication>
<anonymousAuthentication enabled="true"/>
<windowsAuthentication enabled="true"></windowsAuthentication>
<digestAuthentication enabled="false"/>
<basicAuthentication enabled="false"/>
<iisClientCertificateMappingAuthentication enabled="true" oneToOneCertificateMappingsEnabled="true" >
<oneToOneMappings>
<add enabled="true" userName="myUsername" password="myPassword"
certificate=[certificate-blob-here]
/>
</oneToOneMappings>
</iisClientCertificateMappingAuthentication>
</authentication>
</security>
我可以有我的服務器識別根CA「ANY」客戶端證書訪問此網站。我如何限制只有一些證書的訪問?
這正是「iisClientCertificateMappingAuthentication」部分應該執行的操作:將證書映射到用戶。 – Attilah 2011-04-08 11:56:50
但未將匿名設置爲true,Web應用程序甚至無法啓動,它會引發異常:此服務的安全設置需要「匿名」身份驗證,但未啓用託管此服務的IIS應用程序。「 – Attilah 2011-04-08 11:58:07
能夠訪問網站的客戶端證書不是來自可信CA的列表嗎?我一半懷疑您只是作爲匿名用戶進行身份驗證。另外,當您禁用匿名身份驗證標誌給我時iis config和您的實際應用程序的.config文件不同步,兩者都禁用匿名。最後,我沒有看過您的WindowsAuthentication設置,但我幾乎可以確定您只能選擇一種形式身份驗證(無論是Windows還是客戶端證書),您都不能同時使用。 – Tung 2011-04-12 03:56:51