Método ICertProperty::SetValueOnCertificate (certenroll.h)
El método SetValueOnCertificate asocia un valor de propiedad a un certificado existente.
Sintaxis
HRESULT SetValueOnCertificate(
[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 certificado identificada por el parámetro strCertificate .
[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 |
---|---|
|
No se encontró el certificado. |
|
Se encontró el certificado, pero no se pudo cargar la clave privada. |
Comentarios
Llame al método InitializeDecode o al método InitializeFromCertificate para crear un valor de propiedad. Antes de llamar a cualquiera de los métodos, primero debe establecer la propiedad PropertyId para especificar qué valor de propiedad se va a inicializar.
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 |