iis autenticação de mapeamento de certificado de cliente

1

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.

    
por Oliver Nilsen 18.09.2013 / 22:35

1 resposta

1

Eu mesmo descobri. Isso ocorre porque o mapeamento iisclientcertificate falha se o emissor do certificado, assunto, estiver em uma string codificada UTF8. Este é um problema conhecido com o IIS 7 e 7.5.

Existe um hotfix da Microsoft que corrige isso. Dê uma olhada no artigo da KB 2597665:

"Uma regra de mapeamento de certificado no IIS não funciona para um certificado de cliente que tenha atributos de codificação Unicode no Windows Server 2008, Windows Vista, Windows Server 2008 R2 ou Windows 7 "

    
por 26.09.2013 / 08:06