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:
- InitializeDecode
- InitializeFromCertificate
- InitializeFromPrivateKey
- InitializeFromPublicKey
- InitializeFromTemplateName
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 |