Método ICertAdmin2::GetCAProperty (certadm.h)
El método GetCAProperty recupera un valor de propiedad para la entidad de certificación (CA). Este método se definió por primera vez en la interfaz ICertAdmin .
Sintaxis
HRESULT GetCAProperty(
[in] const BSTR strConfig,
[in] LONG PropId,
[in] LONG PropIndex,
[in] LONG PropType,
[in] LONG Flags,
[out] VARIANT *pvarPropertyValue
);
Parámetros
[in] strConfig
Representa una cadena de configuración válida para la ENTIDAD de certificación con el formato COMPUTERNAME\CANAME, donde COMPUTERNAME es el nombre de red del servidor de Servicios de certificados y CANAME es el nombre común de la ENTIDAD de certificación, tal como se especifica durante la configuración de Servicios de certificados. Para obtener información sobre el nombre de la cadena de configuración, vea ICertConfig.
[in] PropId
Especifica uno de los siguientes identificadores de propiedad.
Valor | Significado |
---|---|
|
Tipo de datos de la propiedad: Long Especifica si la ENTIDAD de certificación está ejecutando el servidor avanzado. |
|
Tipo de datos de la propiedad: Binary, indexed Lista de revocación de certificados (CRL) completa o base de la ENTIDAD de certificación. |
|
Tipo de datos de la propiedad: Long, indexed Estado de publicación de CRL base. Para obtener más información, consulte Comentarios. |
|
Tipo de datos de la propiedad: Binary, indexed Certificado cruzado hacia atrás. Un certificado cruzado hacia atrás es el certificado emitido tras la renovación de la entidad de certificación a sí misma firmada con la nueva clave de la ENTIDAD de certificación. El certificado cruzado hacia atrás tiene el identificador de clave de autoridad del nuevo certificado de ca y el identificador de clave de sujeto del certificado de ca anterior. Solo se aplica a las CA raíz. |
|
Tipo de datos de la propiedad: Long, indexed Si el certificado cruzado hacia atrás es válido. Válido solo para entidades de certificación raíz. |
|
Tipo de datos de la propiedad: Long Estado del certificado de entidad de certificación. Los valores pueden ser:
|
|
Tipo de datos de la propiedad: Long, indexed Estado del certificado de entidad de certificación, como HRESULT. |
|
Tipo de datos de la propiedad: Long, indexed Versión del certificado de entidad de certificación, como DWORD. La palabra de orden superior es el índice de clave y la palabra de orden bajo es el índice de certificado de CA. |
|
Tipo de datos de la propiedad: Binary, indexed Certificado cruzado de reenvío. Un certificado cruzado reenviado es un certificado emitido tras la renovación de la entidad de certificación a sí misma firmada con la clave anterior de la ENTIDAD de certificación. El certificado cruzado de reenvío tiene el identificador de clave de autoridad del certificado de entidad de certificación anterior y el identificador de clave de sujeto del nuevo certificado de CA. Solo se aplica a las CA raíz. |
|
Tipo de datos de la propiedad: Long, indexed Si el certificado cruzado de reenvío es válido. Válido solo para entidades de certificación raíz. |
|
Tipo de datos de la propiedad: String Nombre de la ENTIDAD de certificación. |
|
Tipo de datos de la propiedad: Binary, indexed Certificado de firma de entidad de certificación. |
|
Tipo de datos de la propiedad: Binary, indexed Cadena de certificados de firma de entidad de certificación. |
|
Tipo de datos de la propiedad: Long Número de certificados de firma para la entidad de certificación. |
|
Tipo de datos de la propiedad: Binary, indexed Cadena CRL del certificado de firma de la entidad de certificación. |
|
Tipo de datos de la propiedad: Long Tipo de ENTIDAD de certificación. Puede ser uno de los siguientes valores (definidos en Certsrv.h):
|
|
Tipo de datos de la propiedad: Binary, indexed Certificado de intercambio de CA. |
|
Tipo de datos de la propiedad: Binary, indexed Cadena de certificados de intercambio de CA. |
|
Tipo de datos de la propiedad: Long Número de certificados de intercambio para la entidad de certificación. |
|
Tipo de datos de la propiedad: Binary, indexed Cadena CRL del certificado de intercambio de la entidad de certificación. |
|
Tipo de datos de la propiedad: Cadena, indizada Especifica las direcciones URL de acceso a la información de autoridad como el tipo de dirección URL solicitada por un cliente. Windows Server 2003: Esta marca no se admite. |
|
Tipo de datos de la propiedad: Cadena, indizada Especifica las direcciones URL del punto de distribución CRL como el tipo de dirección URL solicitada por un cliente. Windows Server 2003: Esta marca no se admite. |
|
Tipo de datos de la propiedad: Long Estado de la CRL de la ENTIDAD de certificación. Los valores pueden ser:
|
|
Tipo de datos de la propiedad: Binary, indexed CRL delta de la ENTIDAD de certificación. |
|
Tipo de datos de la propiedad: Long, indexed Estado de publicación diferencial de CRL. Para obtener más información, consulte Comentarios. |
|
Tipo de datos de la propiedad: String El nombre DNS de la entidad de certificación. |
|
Tipo de datos de la propiedad: Long Número de módulos de salida en uso por la entidad de certificación. |
|
Tipo de datos de la propiedad: String Descripción del módulo de salida. |
|
Tipo de datos de la propiedad: String Versión del archivo de Servicios de certificados. |
|
Tipo de datos de la propiedad: Binary, indexed Certificado del agente de recuperación de claves (KRA) de la entidad de certificación. |
|
Tipo de datos de la propiedad: Long Número de certificados KRA para la entidad de certificación. |
|
Tipo de datos de la propiedad: Long, indexed El estado del certificado de KRA. El valor devuelto es uno de los siguientes:
|
|
Tipo de datos de la propiedad: Long Número de certificados KRA usados por la entidad de certificación. |
|
Tipo de datos de la propiedad: String Nombre de la ENTIDAD de certificación primaria de la entidad de certificación. |
|
Tipo de datos de la propiedad: String Descripción del módulo de directivas. |
|
Tipo de datos de la propiedad: String Versión del producto en la que se envió el archivo. |
|
Tipo de datos de la propiedad: Long Valor que especifica si la separación de roles está habilitada. |
|
Tipo de datos de la propiedad: String Nombre saneado de la ENTIDAD de certificación. Para obtener una definición de un nombre de ENTIDAD de certificación saneada, consulte ICertConfig2::GetConfig. |
|
Tipo de datos de la propiedad: String El nombre corto saneado de la entidad de certificación. Para obtener una definición de un nombre corto de CA saneado, consulte ICertConfig2::GetConfig. |
|
Tipo de datos de la propiedad: String Nombre del directorio de carpetas compartidas. |
|
Tipo de datos de la propiedad: String Lista de plantillas admitidas por la entidad de certificación. |
[in] PropIndex
Si se indexa el parámetro PropId , el índice de base cero que se usará al recuperar el valor de la propiedad. Si PropId no está indexado, se omite este valor.
[in] PropType
Especifica el tipo de la propiedad , indicado en la columna Significado de la tabla PropId . El tipo puede ser uno de los siguientes tipos.
Valor | Significado |
---|---|
|
Datos largos firmados |
|
Fecha y hora (reservada para uso futuro) |
|
Datos binarios |
|
Datos de cadena Unicode |
[in] Flags
Se pueden usar las marcas siguientes para especificar el formato del valor de propiedad devuelto; estas marcas solo tienen significado para los datos binarios (como certificados, cadenas de certificados o listas de revocación de certificados) y se omiten en caso contrario.
[out] pvarPropertyValue
Puntero a un búfer que recibe el valor de propiedad solicitado. Es responsabilidad del autor de la llamada liberar este recurso cuando haya terminado llamando a VariantClear.
Valor devuelto
C++
El valor devuelto es un HRESULT. Un valor de S_OK indica que el método se realizó correctamente.VB
El valor de propiedad solicitado.Comentarios
Los valores siguientes se devuelven cuando el identificador de propiedad se CR_PROP_BASECRLPUBLISHSTATUS o CR_PROP_DELTACRLPUBLISHSTATUS. Tenga en cuenta que estos valores se pueden combinar.
Valor | Descripción |
---|---|
CPF_BADURL_ERROR | Una dirección URL no es válida. |
CPF_BASE | Se publicó una CRL base. |
CPF_CASTORE_ERROR | Se ha evitado la publicación de un error de almacén de CA. |
CPF_COMPLETE | Se publicó una CRL completa. |
CPF_DELTA | Se publicó una CRL delta. |
CPF_FILE_ERROR | Un error de archivo impedía la publicación. |
CPF_FTP_ERROR | Se ha evitado un error ftp en la publicación. |
CPF_HTTP_ERROR | Se ha evitado un error HTTP en la publicación. |
CPF_LDAP_ERROR | Un error LDAP impedía la publicación. |
CPF_MANUAL | Una CRL se publicó manualmente. |
CPF_SHADOW | Se publicó una CRL delta vacía, junto con una nueva CRL base. |
CPF_SIGNATURE_ERROR | Un error de firma impedía la publicación. |
Para obtener un ejemplo de cómo recuperar una CRL, consulte Recuperación de una lista de revocación de certificados.
Ejemplos
En el ejemplo siguiente se muestra cómo recuperar el certificado de firma de la entidad de certificación. En el ejemplo se supone que el puntero de interfaz ICertAdmin2 es válido.
BSTR bstrCA = NULL;
VARIANT var1;
HRESULT hr;
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
printf("Failed to allocate memory for bstrCA\n");
exit(1);
}
VariantInit(&var1);
// Retrieve the CA signature certificate at index 0.
hr = pAdmin2->GetCAProperty(bstrCA,
CR_PROP_CASIGCERT,
0,
PROPTYPE_BINARY,
CV_OUT_BASE64HEADER,
&var1);
if (FAILED(hr))
{
printf("Failed GetCAProperty\n");
SysFreeString(bstrCA);
exit(1); // Or other error action.
}
// Use the property as needed.
// ...
// Clear the variant when finished.
VariantClear(&var1);
SysFreeString(bstrCA);
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | No se admite ninguno |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | certadm.h (incluya Certsrv.h) |
Library | Certidl.lib |
Archivo DLL | Certadm.dll |