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 |
---|---|
|
Identificador de solicitud interno |
|
Fecha de validez del inicio del certificado |
|
Fecha de expiración del certificado |
|
Clave de asunto |
|
Id. de objeto del algoritmo de clave del firmante (OID) |
|
Parámetros del algoritmo de clave del firmante |
|
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. |
|
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 |
---|---|
|
Tipo de entidad de certificación. Puede ser uno de los siguientes valores (definidos en Certsrv.h):
|
|
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. |
|
Estado del certificado de entidad de certificación. Puede ser uno de los siguientes valores:
|
|
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. |
|
Í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. |
|
Estado CRL. Puede ser uno de los siguientes valores:
|
|
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. |
|
Indica si la ENTIDAD de certificación usa un servicio de directorio. Puede ser uno de los siguientes valores:
|
|
Nombre DNS del servidor que hospeda la ENTIDAD de certificación. |
|
Ubicación del Registro disponible para su uso por parte del módulo. |
|
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. |
|
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. |
|
Indica si el solicitante está autorizado para solicitar el certificado. Puede ser uno de los siguientes valores:
|
|
Nombre saneado de la entidad de certificación. Para obtener información sobre los nombres de ca saneados, consulte ICertConfig::GetConfig. |
|
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 |
---|---|
|
Datos largos firmados |
|
Fecha y hora |
|
Datos binarios |
|
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 |