Método IX509CertificateRequestPkcs10::get_CspStatuses (certenroll.h)

La propiedad CspStatuses recupera una colección de objetos ICspStatus que coincide con el uso previsto de la clave privada asociada a la solicitud de certificado.

Esta propiedad es de solo lectura.

Sintaxis

HRESULT get_CspStatuses(
  ICspStatuses **ppValue
);

Parámetros

ppValue

Valor devuelto

None

Observaciones

Esta propiedad recupera una colección de objetos ICspStatus . Cada objeto representa un único par de proveedores y algoritmos. La propiedad CspStatuses difiere del método GetCspStatuses . El método permite establecer un parámetro KeySpec , pero CspStatuses usa la propiedad KeySpec establecida en la clave privada asociada al objeto IX509CertificateRequestPkcs10 . Puede ser uno de los valores siguientes.

Valor Descripción
XCN_AT_NONE Solo se seleccionan proveedores de Cryptography API: Next Generation (CNG).
XCN_AT_KEYEXCHANGE Solo se seleccionan los proveedores de servicios criptográficos (CSP) cryptoAPI con algoritmos de cifrado (incluido el intercambio de claves).
XCN_AT_SIGNATURE Solo se seleccionan los proveedores de servicios criptográficos (CSP) cryptoAPI con algoritmos de firma.
 

Si especifica una plantilla al inicializar el objeto de solicitud, los atributos de plantilla como pKIDefaultCSPs y pKIDefaultKeySpec afectan inicialmente a qué pares de proveedor o algoritmo se habilitan inicialmente en la colección. Puede llamar a las siguientes propiedades en cada objeto ICspStatus para recuperar información sobre un par:

  • La propiedad CspInformation recupera la información del proveedor.
  • La propiedad CspAlgorithm recupera información del algoritmo.
  • La propiedad EnrollmentStatus recupera un objeto IX509EnrollmentStatus . Llame a la propiedad Selected en el objeto status para determinar si el par proveedor/algoritmo está habilitado para esta solicitud.
  • La propiedad Ordinal recupera la posición en la colección del par proveedor/algoritmo.

La colección recuperada por este método se guarda internamente en el objeto de solicitud. La colección existe siempre que el objeto PKCS #10 siga existiendo.

Supongamos, por ejemplo, que la propiedad KeySpec de la clave privada asociada al objeto de solicitud está establecida en XCN_AT_SIGNATURE y que se usa una plantilla para inicializar la solicitud. Las siguientes instrucciones serán verdaderas:

  • Se crea y guarda una colección de objetos ICspStatus en el objeto IX509CertificateRequestPkcs10 . La colección contiene todos los pares de proveedor/algoritmo válidos instalados en el equipo.
  • Dado que la propiedad KeySpec no está establecida en XCN_AT_NONE, la propiedad Selected se establece en SelectedNo para cada par de algoritmos o proveedor de Cryptography API: Next Generation (CNG) de la colección.
  • Dado que la propiedad KeySpec no está establecida en XCN_AT_KEYEXCHANGE, la propiedad Selected se establece en SelectedNo para cada par cryptoAPI CSP/algorithm de la colección donde el algoritmo solo se puede usar para cifrar datos o archivar una clave.
  • Para cada proveedor al que hace referencia la plantilla o la clave privada, pero no se admite en el equipo, se crea un objeto ICspStatus de marcador de posición y se agrega a la colección y la propiedad Selected se establece en SelectedNo.
  • La propiedad Selected se establece en SelectedYes para cada par cryptoAPI CSP/algorithm donde el algoritmo solo se puede usar para firmar los datos.
  • La propiedad Ordinal se establece para reflejar el orden de CSP, si existe, identificado por el atributo de plantilla pKIDefaultCSPs . Los CSP enumerados primero por el atributo se ordenan primero en la colección. Esta propiedad se usa durante la inscripción si se debe crear una clave privada. El primer par CSP/algoritmo seleccionado se usa para crear la clave, pero si se produce un error en la operación, se prueba el siguiente par seleccionado.

Debe inicializar el objeto IX509CertificateRequestPkcs10 antes de llamar a este método. Para obtener más información, consulte cualquiera de los métodos siguientes:

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

ICspAlgorithm

ICspAlgorithms

ICspInformation

ICspInformations

ICspStatus

IX509CertificateRequestPkcs10