Eu tenho pesquisado isso por horas. Não consigo fazer com que meu mapeamento funcione em determinados campos de certificado. Fx este código de amostra:
<iisClientCertificateMappingAuthentication enabled="true" manyToOneCertificateMappingsEnabled="true">
<manyToOneMappings>
<add name="Contoso Employees"
enabled="true"
permissionMode="Allow"
userName="Username"
password="[enc:AesProvider:57686f6120447564652c2049495320526f636b73:enc]">
<rules>
<add certificateField="Subject"
certificateSubField="O"
matchCriteria="MyCompany A/S CVR:12345"
compareCaseSensitive="true" />
</rules>
</add>
</manyToOneMappings>
</iisClientCertificateMappingAuthentication>
Isso não funciona. Estou suspeitando dos caracteres especiais em matchCriteria="MyCompany A / S CVR: 12345" . Se eu mapeá-lo em certificateSubField="C" e matchCriteria="DK", então ele funciona. Eu também tentei com essa combinação matchCriteria="MyCompany *", onde estou usando o caractere curinga * e ainda não funciona. Se eu usar apenas o * como em matchCriteria="*" então funciona, mas, novamente, isso é uma correspondência inútil.
Eu verifiquei com o certutil para ver qual o valor que ele me dá para os subcampos CN, O e C. CN e O têm valor semelhante: MyCompany A / S CVR: 12345
Ambos contêm espaços e caracteres especiais.
Como posso fazer essa correspondência no II 7.5? Devo mencionar que esse mapeamento no mesmo valor exato funciona bem no IIS 6.