Cómo: Instalar certificados de cliente

Publicado: 26 de junio de 2006

Consulte la Página de entrada como punto de partida y para obtener una descripción completa del documento Crear aplicaciones ASP.NET seguras.

Resumen: IIS admite la autenticación mediante certificados de cliente. En este artículo se muestra cómo configurar una aplicación Web para requerir certificados de cliente. También se describe cómo instalar un certificado en un equipo cliente y utilizarlo al llamar a la aplicación Web.

En los servicios Web suele ser necesaria la posibilidad de autenticar a los llamadores (otras aplicaciones) para poder realizar la autenticación. Los certificados de cliente ofrecen un mecanismo de autenticación excelente para los servicios Web. Si se utilizan certificados de cliente, la aplicación se beneficia también de la creación de un canal seguro [en el que se utiliza Secure Sockets Layer (SSL)] entre la aplicación cliente y el servicio Web. Esto le permite enviar de forma segura información confidencial hacia y desde el servicio Web. SSL asegura la integridad y confidencialidad de los mensajes.
En este artículo se incluyen instrucciones paso a paso para llamar a un servicio Web que está configurado para requerir certificados de cliente.

Nota: la información de este artículo se aplica también a los componentes remotos alojados en IIS.

Requisitos

A continuación se describen las recomendaciones de hardware, software, infraestructura de red, conocimientos y Service Pack que se necesitan.

  • Sistema operativo Microsoft® Windows® 2000 Server con el Service Pack 2

  • Sistema de desarrollo Microsoft Visual Studio® .NET

  • Acceso a una entidad emisora de certificados (CA, Certification Authority) para generar nuevos certificados

  • Un servidor Web que tenga instalado un certificado de servidor
    Para obtener más información acerca de cómo instalar certificados de servidor Web, consulte "Cómo: Configurar SSL en un servidor Web" en la sección Referencia de esta guía.

Para llevar a cabo los procedimientos de este artículo, también es necesario que tenga conocimientos acerca de desarrollo Web en ASP.NET con la herramienta Microsoft Visual C#™.

En esta página

Crear una sencilla aplicación Web  Crear una sencilla aplicación Web
Configurar la aplicación Web para requerir certificados de cliente  Configurar la aplicación Web para requerir certificados de cliente
Solicitar e instalar un certificado de cliente  Solicitar e instalar un certificado de cliente
Comprobar el funcionamiento del certificado de cliente  Comprobar el funcionamiento del certificado de cliente
Recursos adicionales Recursos adicionales

Crear una sencilla aplicación Web

Para crear una sencilla aplicación Web

  1. Inicie Visual Studio .NET y cree una nueva aplicación Web ASP.NET en C# con el nombre SecureApp.

  2. Arrastre un control de etiqueta desde el cuadro de herramientas al formulario Web WebForm1.aspx y, después, configure su propiedad Id. en message.

  3. Arrastre una segunda etiqueta a WebForm1.aspx y configure su propiedad Id. en certData.

  4. Agregue el siguiente código al procedimiento de evento Page_Load.

    string username;
       username = User.Identity.Name;
       message.Text = "Welcome " + username;
       HttpClientCertificate cert = Request.ClientCertificate;
       if (cert.IsPresent)
       {
       certData.Text = "Client certificate retrieved";
       }
       else
       {
       certData.Text = "No client certificate";
       }
    
  5. En el menú Generar, haga clic en Generar solución.

  6. Inicie Internet Explorer y vaya a la dirección http://localhost/SecureApp/WebForm1.aspx.
    Debe mostrarse una página con el mensaje de bienvenida "Welcome" (no aparece ningún nombre de usuario porque el usuario no se ha autenticado) y el mensaje "No client certificate" (No hay ningún certificado de cliente).

  7. Cierre Internet Explorer.

Configurar la aplicación Web para requerir certificados de cliente

En este procedimiento se utiliza Servicios de Internet Information Server (IIS) para configurar el directorio virtual de la aplicación Web de forma que se requieran certificados.
En este procedimiento se supone que dispone de un certificado válido instalado en el servidor Web. Para obtener más información acerca de cómo instalar certificados de servidor Web, consulte "Cómo configurar SSL en un servidor Web".

Para configurar el directorio virtual de la aplicación Web para requerir certificados

  1. En el equipo host de servicios Web, inicie IIS.

  2. Vaya al directorio virtual SecureApp.

  3. Haga clic con el botón secundario del mouse (ratón) en SecureApp y, a continuación, haga clic en Propiedades.

  4. Haga clic en la ficha Seguridad de directorios.

  5. En Comunicaciones seguras, haga clic en Modificar.

    Si el botón Modificar no está disponible, es probable que no tenga instalado un certificado de servidor Web.

  6. Active la casilla de verificación Requerir canal seguro (SSL).

  7. Seleccione la opción Requerir certificados de cliente.

  8. Haga clic en Aceptar y, a continuación, haga clic de nuevo en Aceptar.

  9. En el cuadro de diálogo Omitir herencia, haga clic en Seleccionar todo y, después, haga clic en Aceptar para cerrar el cuadro de diálogo de propiedades de SecureApp.

    De esta forma se aplica la nueva configuración de seguridad a todos los subdirectorios de la raíz del directorio virtual.

  10. Para confirmar que el sitio Web está configurado correctamente, inicie Internet Explorer y utilice HTTPS para ir a la dirección https://localhost/secureapp/webform1.aspx.

  11. Internet Explorer muestra el cuadro de diálogo Autenticación del cliente en el que se pide que seleccione un certificado de cliente. Puesto que todavía no ha instalado un certificado de cliente, haga clic en Aceptar y confirme que se muestra una página de error para informarle de que la página requiere un certificado de cliente.

  12. Cierre Internet Explorer.

Solicitar e instalar un certificado de cliente

En este procedimiento se instala un certificado en el lado del cliente. Puede utilizar un certificado de cualquier entidad emisora o puede generar su propio certificado con Servicios de Microsoft Certificate Server como se describe en las secciones siguientes.
En este procedimiento se supone que Servicios de Microsoft Certificate Server está configurado para solicitudes pendientes, las cuales requieren que un administrador emita explícitamente el certificado. También puede configurarse para emitir automáticamente certificados como respuesta a las solicitudes de certificados.

Para comprobar la configuración de estado de la solicitud de certificado

  1. En el equipo donde reside Servicios de Microsoft Certificate Server, elija Entidad emisora de certificados dentro del grupo de programas Herramientas administrativas.

  2. Expanda Entidad emisora de certificados (local), haga clic con el botón secundario en la entidad y, a continuación, haga clic en Propiedades.

  3. Haga clic en la ficha Módulo de directivas y, después, haga clic en Configurar.

  4. Compruebe la acción predeterminada.

    En el siguiente procedimiento se supone que la opción Establecer el estado de la petición de certificados como pendiente. El administrador debe emitir explícitamente el certificado está seleccionada.

Para solicitar un certificado de cliente

  1. Inicie Internet Explorer y vaya a la dirección http://nombreDeHost/certsrv, donde nombreDeHost es el nombre del equipo en el que está instalado Servicios de Microsoft Certificate Server.

  2. Haga clic en Solicitar un certificado y, después, en Siguiente.

  3. En la página Elegir tipo de solicitud, haga clic en Certificado de usuario y, después, en Siguiente.

  4. Haga clic en Enviar para completar la solicitud.

  5. Cierre Internet Explorer.

Para emitir el certificado de cliente

  1. En el grupo de programas Herramientas administrativas, inicie la herramienta Entidad emisora de certificados.

  2. Expanda la entidad emisora de certificados y, después, seleccione la carpeta Peticiones pendientes.

  3. Seleccione la solicitud de certificado que acaba de enviar, elija Todas las tareas en el menú Acción y, después, haga clic en Emitir.

  4. Confirme que el certificado se muestra en la carpeta Certificados emitidos y, después, haga doble clic en él para verlo.

  5. En la ficha Detalles, haga clic en Copiar en archivo para guardar el certificado como Base64 codificado X.509.

  6. Cierre la ventana de propiedades del certificado.

  7. Cierre la herramienta Entidad emisora de certificados.

Para instalar el certificado de cliente

  1. Para ver el certificado, inicie el Explorador de Windows, vaya hasta el archivo .cer que guardó en el procedimiento anterior y haga doble clic en él.

  2. Haga clic en Instalar certificado y, después, haga clic en Siguiente en la primera página del Asistente para importación de certificados.

  3. Seleccione Seleccionar automáticamente el almacén de certificados en base al tipo de certificado y, después, haga clic en Siguiente.

  4. Haga clic en Finalizar para completar el asistente. Omita el cuadro de mensaje de confirmación y haga clic en Aceptar para cerrar el certificado.

Comprobar el funcionamiento del certificado de cliente

En este procedimiento se comprueba que se puede tener acceso a la aplicación SecureApp con un certificado de cliente.

Para comprobar el funcionamiento del certificado de cliente

  1. Inicie Internet Explorer y vaya a la dirección https://localhost/secureapp/webform1.aspx.

  2. Confirme que la página Web se muestra correctamente.

Recursos adicionales

Para obtener más información, consulte "Cómo configurar SSL en un servidor Web" en la sección Referencia de esta guía.

Mostrar: