Compartir a través de


Cómo: Crear certificados temporales que puedan utilizarse durante las operaciones de desarrollo

Cuando se desarrolla un servicio seguro o cliente utilizando Windows Communication Foundation (WCF), a menudo es necesario proporcionar un certificado X.509 que se utilizará como una credencial. El certificado forma normalmente parte de una cadena de certificados con una entidad emisora raíz situada en el almacén de las Entidades emisoras de certificados raíz de confianza del equipo. Tener una cadena de certificados le permite establecer un conjunto de certificados donde normalmente la entidad emisora raíz pertenece a su organización o unidad del negocio. Para emularlo en el momento de desarrollo, puede crear dos certificados para satisfacer los requisitos de seguridad. El primero es un certificado con firma automática que se coloca en el almacén de las Entidades emisoras de certificados raíz de confianza y el segundo certificado se crea a partir del primero y se coloca en el almacén personal de la ubicación del equipo local o en el almacén personal de la ubicación del usuario actual. En este tema se describen los pasos para crear estos dos certificados mediante Certificate Creation Tool (MakeCert.exe), proporcionado por .NET Framework SDK.

Nota

Los certificados generados por la herramienta de creación de certificados sólo se proporcionan para pruebas. Al implementar un servicio o cliente, asegúrese de utilizar un certificado adecuado proporcionado por una entidad de certificación. Esto podría ser de un servidor de certificado Windows Server 2003 en su organización o de un tercero.

De forma predeterminada, Certificate Creation Tool (MakeCert.exe) crea certificados cuya entidad emisora raíz se denomina "Agencia raíz." Dado que la "Agencía raíz" no está en el almacén Entidades emisoras de certificados raíz de confianza, estos certificados no son seguros. Crear un certificado con firma automática que se coloca en el almacén Entidades emisoras de certificados raíz de confianza le permite crear un entorno de desarrollo que simula su entorno de distribución.

Para obtener más información acerca de crear y utilizar certificados, consulte Trabajar con certificados. Para obtener más información acerca de utilizar un certificado como credencial, consulte Protección de servicios y clientes. Dispone de un tutorial sobre el uso de la tecnología Microsoft Authenticode en https://go.microsoft.com/fwlink/?LinkId=88919.

Crear un certificado de la entidad emisora raíz firmado automáticamente y exportar la clave privada

  1. Utilice la herramienta MakeCert.exe con los modificadores siguientes:

    1. -n subjectName. Especifica el nombre del sujeto. La convención es prefijar el nombre sujeto con "CN = " para "Nombre Común."
    2. - r. Especifica que el certificado se firmará automáticamente.
    3. -sv privateKeyFile. Especifica el archivo que contiene el contenedor de clave privada.

    Por ejemplo, el comando siguiente crea un certificado firmado automáticamente con un nombre sujeto de "CN=TempCA."

    makecert -n "CN=TempCA" -r -sv TempCA.pvk TempCA.cer
    

    Le solicitarán que proporcione una contraseña para proteger la clave privada. Esta contraseña es necesaria para crear un certificado firmado por este certificado raíz.

Crear un nuevo certificado firmado por un certificado de la entidad emisora raíz

  1. Utilice la herramienta MakeCert.exe con los modificadores siguientes:

    1. -sk subjectKey. La ubicación del contenedor de la clave del sujeto que contiene la clave privada. Si no existe un contenedor de claves, se creará uno. Si no se utiliza ninguna de las opciones - sk o - sv, se crea un contenedor de claves llamado JoeSoft de forma predeterminada.
    2. -n subjectName. Especifica el nombre del sujeto. La convención es prefijar el nombre sujeto con "CN = " para "Nombre Común."
    3. -iv issuerKeyFile. Especifica el archivo de clave privada .del emisor.
    4. -ic issuerCertFile. Especifica la ubicación del certificado del emisor.

    Por ejemplo, el comando siguiente crea un certificado firmado por el certificado de entidad emisora raíz TempCA con un nombre sujeto de "CN=SignedByCA" utilizando la clave privada del emisor.

    makecert -sk SignedByCA -iv TempCA.pvk -n "CN=SignedByCA" -ic TempCA.cer SignedByCA.cer -sr currentuser -ss My
    

Instalar un certificado en el almacén de entidades emisoras de certificados raíz de confianza

Una vez creado un certificado firmado automáticamente, puede instalarlo en el almacén Entidades emisoras de certificados raíz de confianza. El equipo confía en todos los certificados firmados con el certificado en este punto. Por esta razón, elimine el certificado del almacén en cuanto ya no lo necesite. Cuando elimine este certificado de entidad emisora raíz, se desautorizan el resto de certificados que firmó con él. Los certificados de entidad emisora raíz simplemente son un mecanismo con el que se pueden incluir un grupo de certificados, cuando sea necesario. Por ejemplo, en aplicaciones punto a punto, normalmente no es necesario una entidad emisora raíz porque usted simplemente confía en la identidad de un individuo mediante el certificado proporcionado por él.

Instalar un certificado firmado automáticamente en las entidades emisoras de certificados raíz de confianza

  1. Abra el complemento del certificado. Para obtener más información, consulte Cómo: Ver certificados con el complemento de MMC.

  2. Abra la carpeta para almacenar el certificado, el Equipo local o el Usuario actual.

  3. Abra la carpeta Entidades emisoras de certificados raíz de confianza.

  4. Haga clic con el botón secundario en la carpeta Certificados y haga clic en Todas las tareas, a continuación, haga clic en Importar.

  5. Siga las instrucciones del asistente en pantalla para importar TempCa.cer en el almacén.

Uso de certificados con WCF

Una vez que se han preparado los certificados temporales, puede usarlos para desarrollar soluciones WCF que especifiquen los certificados como un tipo de credencial de cliente. Por ejemplo, en la siguiente configuración XML se especifica la seguridad de mensaje y un certificado como tipo de credencial de cliente.

Para especificar un certificado como tipo de credencial de cliente

  • En el archivo de configuración de un servicio, use el código XML siguiente para establecer el modo de seguridad en mensaje y el tipo de credencial de cliente en certificado.

    <bindings>     
      <wsHttpBinding>
        <binding name="CertificateForClient">
          <security>
            <message clientCredentialType="Certificate" />
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
    

En el archivo de configuración de un cliente, use el código XML siguiente para especificar que el certificado está en el almacén del usuario y que se puede encontrar buscando el valor "CohoWinery" en el campo SubjectName.

<behaviors>
  <endpointBehaviors>
    <behavior name="CertForClient">
      <clientCredentials>
        <clientCertificate findValue="CohoWinery" x509FindType="FindBySubjectName" />
       </clientCredentials>
     </behavior>
   </endpointBehaviors>
</behaviors>

Para obtener más información sobre el uso de certificados en WCF, consulte Trabajar con certificados.

Seguridad

Asegúrese de eliminar cualquier los certificados temporales de entidad emisora raíz de las carpetas Entidades emisoras de certificados raíz de confianza y Personal haciendo clic con el botón secundario en el certificado y, a continuación, haciendo clic en Eliminar.

Consulte también

Tareas

Cómo: Ver certificados con el complemento de MMC

Conceptos

Trabajar con certificados

Otros recursos

Protección de servicios y clientes