Cliente de autenticación <de asignación de certificados de clienteCertificateMappingAuthentication>
Información general
<clientCertificateMappingAuthentication>
el elemento del elemento especifica si la <authentication>
asignación de certificados de cliente mediante Active Directory está habilitada para Internet Information Services (IIS) 7.
Nota
La autenticación de asignación de certificados de cliente con Active Directory difiere de la autenticación de asignación de certificados de cliente mediante IIS de las siguientes maneras:
- Autenticación de asignación de certificados de cliente mediante Active Directory : este método de autenticación requiere que el servidor IIS 7 sea miembro de un dominio de Active Directory y las cuentas de usuario se almacenen en Active Directory. Este método de autenticación de certificados de cliente ha reducido el rendimiento debido al recorrido de ida y vuelta al servidor de Active Directory.
- Autenticación de asignación de certificados de cliente iiS: este método de autenticación no requiere Active Directory y, por tanto, funciona con servidores independientes. Este método de autenticación de certificados de cliente ha aumentado el rendimiento, pero requiere más configuración y requiere acceso a los certificados de cliente para crear asignaciones.
Para obtener más información, consulte Configuración de la autenticación en IIS 7.0 en el sitio web de Microsoft TechNet.
Compatibilidad
Versión | Notas |
---|---|
IIS 10.0 | El <clientCertificateMappingAuthentication> elemento no se modificó en IIS 10.0. |
IIS 8,5 | El <clientCertificateMappingAuthentication> elemento no se modificó en IIS 8.5. |
IIS 8,0 | El <clientCertificateMappingAuthentication> elemento no se modificó en IIS 8.0. |
IIS 7,5 | El <clientCertificateMappingAuthentication> elemento no se modificó en IIS 7.5. |
IIS 7.0 | El <clientCertificateMappingAuthentication> elemento del <authentication> elemento se introdujo en IIS 7.0. |
IIS 6,0 | N/D |
Configurar
El <clientCertificateMappingAuthentication>
elemento no está disponible en la instalación predeterminada de IIS 7 y versiones posteriores. Para instalarlo, siga estos pasos.
Windows Server 2012 o Windows Server 2012 R2
- En la barra de tareas, haga clic en Administrador del servidor.
- En Administrador del servidor, haga clic en el menú Administrar y, a continuación, haga clic en Agregar roles y características.
- En el Asistente para agregar roles y características , haga clic en Siguiente. Seleccione el tipo de instalación y haga clic en Siguiente. Seleccione el servidor de destino y haga clic en Siguiente.
- En la página Roles de servidor , expanda Servidor web (IIS), expanda Servidor web, Expanda Seguridady, a continuación, seleccione Autenticación de asignación de certificados de cliente. Haga clic en Next.
.
- En la página Seleccionar características, haz clic en Siguiente.
- En la página Confirmar selecciones de instalación, haga clic en Instalar.
- En la página Resultados, haga clic en Cerrar.
Windows 8 o Windows 8.1
- En la pantalla Inicio, mueva el puntero hasta la esquina inferior izquierda, haga clic con el botón derecho en el botón Inicio y, a continuación, haga clic en Panel de control.
- En Panel de control, haga clic en Programas y características y, a continuación, haga clic en Activar o desactivar características de Windows.
- Expanda Internet Information Services, Servicios World Wide Web, Seguridad y, a continuación, seleccione Autenticación de asignación de certificados de cliente.
- Haga clic en Aceptar.
- Haga clic en Cerrar.
Windows Server 2008 o Windows Server 2008 R2
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativasy, a continuación, haga clic en Administrador del servidor.
- En el panel Administrador del servidor jerarquía, expanda Rolesy, a continuación, haga clic en Servidor web (IIS).
- En el panel Servidor web (IIS), desplácese hasta la sección Servicios de rol y, a continuación, haga clic en Agregar servicios de rol.
- En la página Seleccionar servicios de rol del Asistente para agregar servicios de rol, seleccione Autenticación de asignación de certificados de cliente y, a continuación, haga clic en Siguiente.
- En la página Confirmar selecciones de instalación, haz clic en Instalar.
- En la página Resultados, haga clic en Cerrar.
Windows Vista o Windows 7
- En la barra de tareas, haga clic en Inicioy, a continuación, haga clic en Panel de control.
- En Panel de control, haga clic en Programas y características y, a continuación, haga clic en Activar o desactivar características de Windows.
- Expanda Internet Information Services, seleccione Autenticación de asignación de certificados de cliente y, a continuación, haga clic en Aceptar.
Procedimientos
Habilitación de la autenticación de asignación de certificados de cliente para un servidor
Abra el Administrador de Internet Information Services (IIS):
Si usa Windows Server 2012 o Windows Server 2012 R2:
- En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
Si usa Windows 8 o Windows 8.1:
- Mantenga presionada la tecla Windows, presione la letra X y, a continuación, haga clic en Panel de control.
- Haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
Si usa Windows Server 2008 o Windows Server 2008 R2:
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativasy, a continuación, haga clic en Administrador de Internet Information Services (IIS).
Si usa Windows Vista o Windows 7:
- En la barra de tareas, haga clic en Inicioy, a continuación, haga clic en Panel de control.
- Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
En el panel Conexiones , haga clic en el nombre del servidor.
En el panel Inicio del servidor, haga doble clic en Autenticación.
En la página Autenticación , haga clic en Habilitar en el panel Acciones .
Configuración
Atributos
Atributo | Descripción |
---|---|
enabled |
Atributo Boolean opcional. Especifica si la autenticación de asignación de certificados de cliente mediante Active Directory está habilitada. Para que esta configuración surta efecto, debe establecer este atributo con el Administrador de IIS. Si usa cualquier otro método para establecer este atributo, debe reiniciar el servidor web para que la configuración surta efecto. El valor predeterminado es false . |
Elementos secundarios
Ninguno.
Ejemplo de configuración
En el ejemplo de configuración siguiente se habilita la autenticación de asignación de certificados de cliente mediante Active Directory para el sitio web predeterminado y se configura el sitio para requerir SSL y 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>
Código de ejemplo
Los ejemplos de código siguientes habilitan la autenticación de asignación de certificados de cliente mediante Active Directory para el sitio web predeterminado y configuran el sitio para requerir SSL y negociar certificados de 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
Nota
Debe asegurarse de establecer el parámetro apphost
commit en cuando use AppCmd.exe para configurar estas opciones. Esto confirma los valores de configuración en la sección de ubicación adecuada del archivo 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()