Autenticação do mapeamento de certificado do cliente <clientCertificateMappingAuthentication>

Visão geral

O elemento <clientCertificateMappingAuthentication> do elemento <authentication> especifica se o mapeamento de certificado do cliente usando o Active Directory está habilitado para o IIS (Serviços de Informações da Internet) 7.

Observação

A autenticação de Mapeamento de Certificado do Cliente usando o Active Directory difere da Autenticação de Mapeamento de Certificado do Cliente usando o IIS das seguintes maneiras:

  • Autenticação de Mapeamento de Certificado do Cliente usando o Active Directory - esse método de autenticação requer que o servidor IIS 7 seja membro de um domínio do Active Directory e que as contas de usuário sejam armazenadas no Active Directory. Esse método de autenticação de certificado do cliente reduziu o desempenho devido à viagem de ida e volta ao servidor do Active Directory.
  • Autenticação de Mapeamento de Certificado do Cliente IIS - Esse método de autenticação não requer o Active Directory e, portanto, funciona com servidores autônomos. Esse método de autenticação de certificado do cliente aumentou o desempenho, mas exigiu mais configuração e requer acesso a certificados do cliente para criar mapeamentos.

Para obter mais informações, consulte Configurando a autenticação no IIS 7.0 no site Microsoft TechNet.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <clientCertificateMappingAuthentication> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <clientCertificateMappingAuthentication> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <clientCertificateMappingAuthentication> não foi modificado no IIS 8.0.
IIS 7.5 O elemento <clientCertificateMappingAuthentication> não foi modificado no IIS 7.5.
IIS 7.0 O elemento <clientCertificateMappingAuthentication> do elemento <authentication> foi introduzido no IIS 7.0.
IIS 6,0 N/D

Instalação

O elemento <clientCertificateMappingAuthentication> não está disponível na instalação padrão do IIS 7 e posterior. Para instalar, use as etapas a seguir.

Windows Server 2012 R2 ou Windows Server 2012

  1. Na barra de tarefas, clique em Gerenciador do Servidor.
  2. No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.
  3. No assistente Adicionar Funções e Recursos, clique em Avançar. Selecione o tipo de instalação e clique em Avançar. Selecione o servidor de destino e clique em Avançar.
  4. Na página Funções de Servidor, expanda Servidor Web (IIS), Servidor Web, expanda Segurança e selecione Autenticação de Mapeamento de Certificado de Cliente. Clique em Avançar.
    Image of Web Server and Security pane expanded with Client Certificate Mapping Authentication selected. .
  5. Na página Selecionar recursos, clique em Avançar.
  6. Na página Confirmar seleções de instalação, clique em Instalar.
  7. Na página Resultados , clique em Fechar.

Windows 8 ou Windows 8.1

  1. Na tela Iniciar, mova o ponteiro até o canto inferior esquerdo, clique com o botão direito do mouse no botão Iniciar e clique em Painel de Controle.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.
  3. Expanda Serviços de Informações da Internet, expanda Serviços da World Wide Web, expanda Segurança e, em seguida, selecione Autenticação de Mapeamento de Certificado do Cliente.
    Screenshot of World Wide Web Services pane expanded and Client Certificate Mapping Authentication selected.
  4. Clique em OK.
  5. Clique em Fechar.

Windows Server 2008 R2 ou Windows Server 2008

  1. Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.
  2. No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).
  3. No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.
  4. Na página Selecionar Serviços de Função do Assistente para Adicionar Serviços de Função, selecione Autenticação do Mapeamento de Certificado do Cliente e clique em Avançar.
    Image of Select Role Services page with Security pane expanded and Client Certificate Mapping Authentication selected.
  5. Na página Confirmar Seleções de Instalação, clique em Instalar.
  6. Na página Resultados , clique em Fechar.

Windows Vista ou Windows 7

  1. Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.
  3. Expanda Serviços de Informações da Internet, selecione Autenticação do Mapeamento de Certificado do Cliente e clique em OK.
    Screenshot of Internet Information Services pane expanded and Client Certificated Mapping Authentication highlighted.

Instruções

Como habilitar a autenticação do mapeamento de certificado do cliente para um servidor

  1. Abra o Gerenciador dos Serviços de Informações da Internet (IIS):

    • Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows 8 ou Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:

      • Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
      • Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel Conexões, clique no nome do servidor.

  3. No painel Página Inicial do servidor, clique duas vezes em Autenticação.
    Screenshot of servers Home pane displaying Authentication highlighted.

  4. Na página Autenticação, clique em Habilitar no painel Ações.
    Image of Actions pane in Authentication page displaying Active Directory Client Certificate Authentication option highlighted.

Configuração

Atributos

Atributo Descrição
enabled Atributo booliano opcional.

Especifica se a autenticação do Mapeamento de Certificado do Cliente usando o Active Directory está habilitada. Para que essa configuração entre em vigor, você deve definir esse atributo com o Gerenciador do IIS. Se você usar qualquer outro método para definir esse atributo, reinicie o servidor Web para que a configuração entre em vigor.

O valor padrão é false.

Elementos filho

Nenhum.

Exemplo de configuração

O exemplo de configuração a seguir habilita a autenticação do mapeamento de certificado do cliente usando o Active Directory para o Site Padrão e configura o site para exigir SSL e negociar certificados de cliente.

<location path="Default Web Site">
   <system.webServer>
      <security>
         <access sslFlags="Ssl, SslNegotiateCert" />
          <authentication>
            <windowsAuthentication enabled="false" />
            <anonymousAuthentication enabled="false" />
            <digestAuthentication enabled="false" />
            <basicAuthentication enabled="false" />
            <clientCertificateMappingAuthentication enabled="true" />
         </authentication>
     </security>
   </system.webServer>
</location>

Exemplo de código

Os exemplos de código a seguir habilitam a autenticação do mapeamento de certificado do cliente usando o Active Directory para o Site Padrão e configuram o site para exigir SSL e negociar certificados do cliente.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/security/authentication/clientCertificateMappingAuthentication /enabled:"True" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.webServer/security/access /sslFlags:"Ssl, SslNegotiateCert" /commit:apphost

Observação

Defina o parâmetro commit para apphost quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();

         ConfigurationSection clientCertificateMappingAuthenticationSection = config.GetSection("system.webServer/security/authentication/clientCertificateMappingAuthentication", "Default Web Site");
         clientCertificateMappingAuthenticationSection["enabled"] = true;

         ConfigurationSection accessSection = config.GetSection("system.webServer/security/access", "Default Web Site");
         accessSection["sslFlags"] = @"Ssl, SslNegotiateCert";

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration

      Dim clientCertificateMappingAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/clientCertificateMappingAuthentication", "Default Web Site")
      clientCertificateMappingAuthenticationSection("enabled") = True

      Dim accessSection As ConfigurationSection = config.GetSection("system.webServer/security/access", "Default Web Site")
      accessSection("sslFlags") = "Ssl, SslNegotiateCert"

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var clientCertificateMappingAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/clientCertificateMappingAuthentication", "MACHINE/WEBROOT/APPHOST/Default Web Site");
clientCertificateMappingAuthenticationSection.Properties.Item("enabled").Value = true;

var accessSection = adminManager.GetAdminSection("system.webServer/security/access", "MACHINE/WEBROOT/APPHOST/Default Web Site");
accessSection.Properties.Item("sslFlags").Value = "Ssl, SslNegotiateCert";

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set clientCertificateMappingAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/clientCertificateMappingAuthentication", "MACHINE/WEBROOT/APPHOST/Default Web Site")
clientCertificateMappingAuthenticationSection.Properties.Item("enabled").Value = True

Set accessSection = adminManager.GetAdminSection("system.webServer/security/access", "MACHINE/WEBROOT/APPHOST/Default Web Site")
accessSection.Properties.Item("sslFlags").Value = "Ssl, SslNegotiateCert"

adminManager.CommitChanges()