Método ICertServerPolicy::GetCertificateProperty (certif.h)

El método GetCertificateProperty devuelve una propiedad con nombre de un certificado.

Debe llamar a ICertServerPolicy::SetContext antes de usar este método.

Sintaxis

HRESULT GetCertificateProperty(
  [in]  const BSTR strPropertyName,
  [in]  LONG       PropertyType,
  [out] VARIANT    *pvarPropertyValue
);

Parámetros

[in] strPropertyName

Especifica la propiedad con nombre que se va a recuperar. Hay un conjunto de existencias de propiedades de certificado, denominadas propiedades de nombre, que siempre son válidas y que se pueden recuperar llamando a este método. Para obtener información sobre estas propiedades, vea Propiedades de nombre. También se pueden recuperar otras propiedades junto a propiedades de nombre.

Las propiedades DistinguishedName y RawName del certificado son accesibles por ICertServerExit::GetCertificateProperty solo después de que el módulo de directiva haya terminado de procesar la solicitud y se emita el certificado. Las propiedades DistinguishedName y RawName del certificado emitidos también se pueden leer mediante un módulo de salida mediante ICertServerExit::GetCertificateProperty.

Hay propiedades de certificado adicionales a las que GetCertificateProperty no puede acceder. Estas propiedades no se establecen hasta después de que el módulo de directiva devuelva VR_INSTANT_OK y se emita el certificado. Para obtener una lista completa de todas las propiedades de un certificado emitido, consulte GetCertificateProperty.

Las siguientes propiedades son únicas para los certificados y se pueden leer mediante GetCertificateProperty.

Propiedad Certificate Significado
IdSolicitud
Long firmado
Identificador de solicitud interno
NotBefore
Fecha y hora
Fecha de validez del inicio del certificado
NotAfter
Fecha y hora
Fecha de expiración del certificado
RawPublicKey
Binary
Clave de asunto
PublicKeyAlgorithm
String
Id. de objeto del algoritmo de clave del firmante (OID)
RawPublicKeyAlgorithmParameters
Binary
Parámetros del algoritmo de clave del firmante
GeneralFlags
PROPTYPE_LONG
GeneralFlags en la solicitud de inscripción. Se trata de un OR bit a bit de valores. El único valor de interés debe ser el valor de marca de 0x00000400, que indica a la ENTIDAD de certificación que no conserve la solicitud en la base de datos. Si la ENTIDAD de certificación está en modo sin base de datos (es decir, para windows Server 2008 R2 y versiones posteriores, la base de datos de la ENTIDAD de certificación tiene establecida la marca DBFLAGS_ENABLEVOLATILEREQUESTS ), use certutil -getreg DbFlags y certutil -setreg DBFlags para configurar la CA en modo sin base de datos.

Windows Vista y Windows Storage Server 2003: Este campo no se admite.

RequesterNameFromOldCertificate
PROPTYPE_STRING
Para las solicitudes de renovación, devuelve el nombre de la cuenta del solicitante (por ejemplo, contoso\requester).
 

Las siguientes propiedades se aplican a la entidad de certificación.

Propiedad CA Significado
CAType
long
Tipo de entidad de certificación. Puede ser uno de los siguientes valores (definidos en Certsrv.h):
  • ENUM_ENTERPRISE_ROOTCA
  • ENUM_ENTERPRISE_SUBCA
  • ENUM_STANDALONE_ROOTCA
  • ENUM_STANDALONE_SUBCA
CertCount
long
Número de certificados de ENTIDAD de certificación. Este valor será uno más el número de veces que se ha renovado la ENTIDAD de certificación. Para obtener información sobre la renovación, consulte Certificación.
CertState
long
Estado del certificado de entidad de certificación. Puede ser uno de los siguientes valores:
  • CA_DISP_ERROR: el certificado de entidad de certificación nunca se emitió.
  • CA_DISP_REVOKED: se ha revocado el certificado de ENTIDAD de certificación.
  • CA_DISP_VALID: el certificado de entidad de certificación sigue siendo válido.
  • CA_DISP_INVALID: el certificado de CA ha expirado.
Este nombre de propiedad se puede anexar con '.#', donde # representa un índice de certificado de ENTIDAD de certificación (o, en el caso de la propiedad CRLSuffix, un índice CRL). Para obtener información sobre los índices de certificados y CRL, consulte Renovación de la entidad de certificación.
CertSuffix
String
Sufijo para el certificado de ca. El sufijo es una cadena vacía para los certificados de CA con un índice de cero; de lo contrario, el sufijo (en forma de "(nn)", donde nn es el índice de certificado) se aplica a todas las direcciones URL que apuntan a certificados de CA almacenados en archivos o objetos de servicio de directorio. En el caso de las direcciones URL que no son LDAP , el sufijo suele aparecer antes del texto ".crt". En el caso de las direcciones URL LDAP, el sufijo se anexa normalmente al primer "CN=" en el nombre distintivo completo.

Este nombre de propiedad se puede anexar con '.#', donde # representa un índice de certificado de ENTIDAD de certificación (o, en el caso de la propiedad CRLSuffix, un índice CRL). Para obtener información sobre los índices de certificados y CRL, consulte Renovación de la entidad de certificación.

CRLIndex
long
Índice de la lista de revocación de certificados (CRL). Anexar un índice de certificado a este nombre de propiedad permite recuperar el índice CRL. El índice CRL no coincide necesariamente con el índice de certificado. Para obtener más información, consulte Certificación.

Este nombre de propiedad se puede anexar con '.#', donde # representa un índice de certificado de ENTIDAD de certificación (o, en el caso de la propiedad CRLSuffix, un índice CRL). Para obtener información sobre los índices de certificados y CRL, consulte Renovación de la entidad de certificación.

CRLState
long
Estado CRL. Puede ser uno de los siguientes valores:
  • CA_DISP_ERROR: la CRL se administra mediante otro certificado de CA.
  • CA_DISP_REVOKED: se han revocado todos los certificados de CA no expirados que usan la CRL de este certificado de CA.
  • CA_DISP_VALID: el certificado de entidad de certificación se sigue usando para publicar crLs según sea necesario.
  • CA_DISP_INVALID: todos los certificados de ENTIDAD de certificación que usan la CRL de este certificado de ca han expirado.
Este nombre de propiedad se puede anexar con '.#', donde # representa un índice de certificado de ENTIDAD de certificación (o, en el caso de la propiedad CRLSuffix, un índice CRL). Para obtener información sobre los índices de certificados y CRL, consulte Renovación de la entidad de certificación.
CRLSuffix
String
Sufijo para la CRL de CA. El sufijo es una cadena vacía para las CRL con un índice de cero; de lo contrario, el sufijo (en forma de "(nn)", donde nn es el índice CRL) se aplica a todas las direcciones URL que apuntan a CRL almacenadas en archivos o objetos de servicio de directorio. En el caso de las direcciones URL que no son LDAP, el sufijo suele aparecer antes del texto .crl. Para las direcciones URL LDAP, el sufijo normalmente se anexa al primer "CN=" en el nombre distintivo completo.

Este nombre de propiedad se puede anexar con ".#", donde # representa un índice de certificado de ENTIDAD de certificación (o, en el caso de la propiedad CRLSuffix, un índice CRL). Para obtener información sobre los índices de certificados y CRL, consulte Renovación de la entidad de certificación.

fUseDS
long
Indica si la ENTIDAD de certificación usa un servicio de directorio. Puede ser uno de los siguientes valores:
  • 0=no
  • 1=sí
MachineDNSName
String
Nombre DNS del servidor que hospeda la ENTIDAD de certificación.
ModuleRegistryLocation
String
Ubicación del Registro disponible para su uso por parte del módulo.
RawCACertificate
Binary
El certificado de entidad de certificación.

Este nombre de propiedad se puede anexar con ".#", donde # representa un índice de certificado de ENTIDAD de certificación (o, en el caso de la propiedad CRLSuffix, un índice CRL). Para obtener información sobre los índices de certificados y CRL, consulte Renovación de la entidad de certificación.

RawCRL
Binary
Lista de revocación de certificados (CRL) de la ENTIDAD de certificación.

Este nombre de propiedad se puede anexar con ".#", donde # representa un índice de certificado de ENTIDAD de certificación (o, en el caso de la propiedad CRLSuffix, un índice CRL). Para obtener información sobre los índices de certificados y CRL, consulte Renovación de la entidad de certificación.

RequesterCAAccess
long
Indica si el solicitante está autorizado para solicitar el certificado. Puede ser uno de los siguientes valores:
  • 0=no
  • 1=sí
(El complemento MMC de entidad de certificación se puede usar para controlar los permisos de solicitud de certificado ).
SanitizedCAName
String
Nombre saneado de la entidad de certificación. Para obtener información sobre los nombres de ca saneados, consulte ICertConfig::GetConfig.
SanitizedShortName
String
El nombre saneado de la ENTIDAD de certificación, que se abrevia y que contiene un valor hash para garantizar la unicidad.

[in] PropertyType

Especifica el tipo de propiedad. El tipo puede ser uno de los valores siguientes.

Tipo Significado
PROPTYPE_LONG
Datos largos firmados
PROPTYPE_DATE
Fecha y hora
PROPTYPE_BINARY
Datos binarios
PROPTYPE_STRING
Datos de cadena Unicode

[out] pvarPropertyValue

Puntero a VARIANT que contendrá el valor de la propiedad.

Valor devuelto

Si el método se ejecuta correctamente, el método devuelve S_OK y *pvarPropertyValue se establece en variant que contiene el valor de propiedad solicitado.

Si se produce un error en el método, devuelve un valor HRESULT que indica el error. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Requisitos

   
Cliente mínimo compatible No se admite ninguno
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certif.h (incluya Certsrv.h)
Library Certidl.lib
Archivo DLL Certcli.dll

Consulte también

ICertServerPolicy

ICertServerPolicy::SetContext

Propiedades de nombre