Compartir a través de


Método ICertPropertyRenewal::InitializeFromCertificateHash (certenroll.h)

El método InitializeFromCertificateHash inicializa el objeto del nuevo certificado.

Sintaxis

HRESULT InitializeFromCertificateHash(
  [in] VARIANT_BOOL MachineContext,
  [in] EncodingType Encoding,
  [in] BSTR         strCertificate
);

Parámetros

[in] MachineContext

Valor de VARIANT_BOOL que indica si el almacén de certificados es para el equipo local o el usuario actual. Especifique VARIANT_TRUE para el equipo y VARIANT_FALSE para el usuario.

[in] Encoding

Valor de enumeración EncodingType que especifica el tipo de codificación Unicode aplicada a la cadena de entrada que contiene el certificado codificado en DER.

[in] strCertificate

Variable BSTR que contiene el certificado codificado en DER.

A partir de Windows 7 y Windows Server 2008 R2, puede especificar una impresión digital de certificado o un número de serie en lugar de un certificado codificado. Si lo hace, la función buscará en los almacenes locales adecuados el certificado coincidente. Tenga en cuenta los siguientes puntos:

  • El BSTR debe ser un número par de dígitos hexadecimales.
  • Se omite el espacio en blanco entre pares hexadecimales.
  • El parámetro Encoding debe establecerse en XCN_CRYPT_STRING_HEXRAW.
  • El parámetro MachineContext determina si se busca en el usuario o en el equipo o en ambos.
  • Si se necesita una clave privada, solo se buscan los almacenes personales y de solicitud.
  • Si no se necesita una clave privada, también se buscan los almacenes de CA raíz e intermedia.

Valor devuelto

Si la función se realiza correctamente, la función devuelve S_OK.

Si se produce un error en la función, devuelve un valor HRESULT que indica el error. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Código o valor devuelto Descripción
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
El objeto ya se ha inicializado.

Comentarios

Este método crea un hash SHA-1 mediante el certificado especificado. El certificado se debe codificar mediante reglas de codificación distinguida (DER), tal y como se define en el estándar Notación de sintaxis abstracta uno (ASN.1). También debe especificar el tipo de codificación Unicode aplicada a la cadena que contiene el certificado codificado en DER.

Normalmente, el objeto ICertPropertyRenewal se inicializa durante el proceso de inscripción. Puede recuperar el certificado utilizado durante la inscripción llamando a la propiedad Certificate en la interfaz IX509Enrollment .

Llame al método SetValueOnCertificate para asociar la propiedad a un certificado. Llame a la propiedad Renewal para recuperar el hash.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certenroll.h
Archivo DLL CertEnroll.dll

Consulte también

ICertPropertyRenewal