Compartilhar via


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

A propriedade CspStatuses recupera uma coleção de objetos ICspStatus que corresponde ao uso pretendido da chave privada associada à solicitação de certificado.

Esta propriedade é somente para leitura.

Sintaxe

HRESULT get_CspStatuses(
  ICspStatuses **ppValue
);

Parâmetros

ppValue

Valor retornado

Nenhum

Comentários

Essa propriedade recupera uma coleção de objetos ICspStatus . Cada objeto representa um único par de provedor/algoritmo. A propriedade CspStatuses difere do método GetCspStatuses . O método permite definir um parâmetro KeySpec , mas O CspStatuses usa a propriedade KeySpec definida na chave privada associada ao objeto IX509CertificateRequestPkcs10 . Esse pode ser um dos valores a seguir.

Valor Descrição
XCN_AT_NONE Somente API de Criptografia: provedores de CNG (próxima geração) são selecionados.
XCN_AT_KEYEXCHANGE Somente CSPs (provedores de serviço criptográfico) de CryptoAPI com algoritmos de criptografia (incluindo troca de chaves) são selecionados.
XCN_AT_SIGNATURE Somente CSPs (provedores de serviço criptográfico) de CryptoAPI com algoritmos de assinatura são selecionados.
 

Se você especificar um modelo ao inicializar o objeto de solicitação, atributos de modelo como pKIDefaultCSPs e pKIDefaultKeySpec afetarão quais pares de provedor/algoritmo estão inicialmente habilitados na coleção. Você pode chamar as seguintes propriedades em cada objeto ICspStatus para recuperar informações sobre um par:

  • A propriedade CspInformation recupera informações do provedor.
  • A propriedade CspAlgorithm recupera informações de algoritmo.
  • A propriedade EnrollmentStatus recupera um objeto IX509EnrollmentStatus . Chame a propriedade Selected no objeto status para determinar se o par provedor/algoritmo está habilitado para essa solicitação.
  • A propriedade Ordinal recupera a posição na coleção do par provedor/algoritmo.

A coleção recuperada por esse método é salva internamente no objeto de solicitação. A coleção existe desde que o objeto PKCS #10 continue a existir.

Suponha, por exemplo, que a propriedade KeySpec na chave privada associada ao objeto de solicitação esteja definida como XCN_AT_SIGNATURE e que um modelo seja usado para inicializar a solicitação. As seguintes instruções serão verdadeiras:

  • Uma coleção de objetos ICspStatus é criada e salva no objeto IX509CertificateRequestPkcs10 . A coleção contém todos os pares de provedor/algoritmo válidos instalados no computador.
  • Como a propriedade KeySpec não está definida como XCN_AT_NONE, a propriedade Selected está definida como SelectedNo para cada par de provedor/algoritmo de CNG (Cryptography API: Next Generation) na coleção.
  • Como a propriedade KeySpec não está definida como XCN_AT_KEYEXCHANGE, a propriedade Selected é definida como SelectedNo para cada par de algoritmos/CSP de CryptoAPI na coleção em que o algoritmo só pode ser usado para criptografar dados ou arquivar uma chave.
  • Para cada provedor referenciado pelo modelo ou chave privada, mas sem suporte no computador, um objeto de espaço reservado ICspStatus é criado e adicionado à coleção e a propriedade Selected é definida como SelectedNo.
  • A propriedade Selected é definida como SelectedYes para cada par CSP/algoritmo de CryptoAPI em que o algoritmo só pode ser usado para assinar dados.
  • A propriedade Ordinal é definida para refletir a ordem CSP, se houver, identificada pelo atributo de modelo pKIDefaultCSPs . Os CSPs listados primeiro pelo atributo são ordenados primeiro na coleção. Essa propriedade será usada durante o registro se uma chave privada precisar ser criada. O primeiro par CSP/algoritmo selecionado é usado para criar a chave, mas se a operação falhar, o próximo par selecionado será tentado.

Você deve inicializar o objeto IX509CertificateRequestPkcs10 antes de chamar esse método. Para obter mais informações, consulte qualquer um dos seguintes métodos:

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho certenroll.h
DLL CertEnroll.dll

Confira também

ICspAlgorithm

ICspAlgorithms

ICspInformation

ICspInformations

ICspStatus

IX509CertificateRequestPkcs10