Funções do provedor de serviços criptográficos

Cada uma das seções a seguir identifica uma função exportada por Xenroll.dll que pode ser usada para gerenciar um provedor criptográfico. Cada tópico também discute como usar CertEnroll.dll para substituir a função ou indica que não existe nenhum mapeamento entre as duas bibliotecas:

EnumAlgs

A função EnumAlgs no Xenroll.dll recupera uma coleção de algoritmos criptográficos.

Ao usar CertEnroll.dll, você pode executar as seguintes ações para recuperar informações sobre os algoritmos compatíveis com um CSP ( provedor de serviços criptográficos ):

  1. Chame a propriedade Request em um objeto IX509Enrollment existente.
  2. Chame o método GetInnerRequest na solicitação retornada da etapa 1 para recuperar a solicitação mais interna.
  3. Chame QueryInterface no objeto IX509CertificateRequest retornado da etapa 2 para converter em um objeto IX509CertificateRequestPkcs10 .
  4. Chame a propriedade PrivateKey na solicitação PKCS nº 10.
  5. Chame a propriedade CspInformations no objeto IX509PrivateKey recuperado da etapa 4.
  6. Chame a propriedade CspAlgorithms em um objeto ICspInformation específico na coleção ICspInformations recuperada na etapa 5.

enumContainersWStr

A função enumContainersWStr em Xenroll.dll recupera um contêiner de chave da coleção por índice.

A biblioteca de CertEnroll.dll não implementa diretamente essa funcionalidade.

enumProvidersWStr

A função enumProvidersWStr em Xenroll.dll recupera um CSP da coleção por índice.

Ao usar CertEnroll.dll, você pode executar as seguintes ações para recuperar a coleção de contêineres criptográficos:

  1. Chame a propriedade Request em um objeto IX509Enrollment existente.
  2. Chame o método GetInnerRequest na solicitação retornada da etapa 1 para recuperar a solicitação mais interna.
  3. Chame QueryInterface no objeto IX509CertificateRequest retornado da etapa 2 para converter em um objeto IX509CertificateRequestPkcs10 .
  4. Chame a propriedade PrivateKey na solicitação PKCS nº 10.
  5. Chame a propriedade CspInformations no objeto IX509PrivateKey recuperado da etapa 4.

GetAlgNameWStr

A função GetAlgNameWStr no Xenroll.dll recupera o nome de um algoritmo criptográfico.

Ao usar CertEnroll.dll, você pode executar as seguintes ações para recuperar o nome do algoritmo:

  1. Chame a propriedade Request em um objeto IX509Enrollment existente.
  2. Chame o método GetInnerRequest na solicitação retornada da etapa 1 para recuperar a solicitação mais interna.
  3. Chame QueryInterface no objeto IX509CertificateRequest retornado da etapa 2 para converter em um objeto IX509CertificateRequestPkcs10 .
  4. Chame a propriedade PrivateKey na solicitação PKCS nº 10.
  5. Chame a propriedade Algorithm no objeto IX509PrivateKey para recuperar o identificador de objeto de algoritmo.
  6. Chame a propriedade FriendlyName na interface IObjectId para recuperar o nome de exibição do algoritmo.

getProviderTypeWStr

A função getProviderTypeWStr no Xenroll.dll recupera o tipo de provedor criptográfico.

Ao usar CertEnroll.dll, você pode executar as seguintes ações para recuperar o tipo de provedor:

  1. Chame a propriedade Request em um objeto IX509Enrollment existente.
  2. Chame o método GetInnerRequest na solicitação retornada da etapa 1 para recuperar a solicitação mais interna.
  3. Chame QueryInterface no objeto IX509CertificateRequest retornado da etapa 2 para converter em um objeto IX509CertificateRequestPkcs10 .
  4. Chame a propriedade PrivateKey na solicitação PKCS nº 10.
  5. Chame a propriedade ProviderType no objeto IX509PrivateKey recuperado da etapa 4.

HashAlgID

A função HashAlgID no Xenroll.dll recupera um valor inteiro que contém a ID do algoritmo usado para assinar uma solicitação.

Ao usar CertEnroll.dll, você pode executar as seguintes ações para recuperar o algoritmo de hash:

HashAlgorithmWStr

A função HashAlgorithmWStr no Xenroll.dll especifica ou recupera um valor de cadeia de caracteres que identifica o algoritmo de hash usado para assinar uma solicitação.

Ao usar CertEnroll.dll, você pode executar as seguintes ações para recuperar o algoritmo de hash:

ProviderFlags

A função ProviderFlags no Xenroll.dll especifica ou recupera os sinalizadores usados ao adquirir um identificador para um CSP.

A biblioteca de CertEnroll.dll não mapeia essa função perfeitamente, mas você pode obter informações de propriedade avançadas do objeto de registro e da chave privada. Para obter mais informações, examine as propriedades expostas pelas interfaces IX509Enrollment e IX509PrivateKey .

ProviderNameWStr

A função ProviderNameWStr no Xenroll.dll especifica ou recupera o nome de um CSP.

Ao usar CertEnroll.dll, você pode executar as seguintes ações para recuperar o nome do provedor:

  1. Chame a propriedade Request em um objeto IX509Enrollment existente.
  2. Chame o método GetInnerRequest na solicitação retornada da etapa 1 para recuperar a solicitação mais interna.
  3. Chame QueryInterface no objeto IX509CertificateRequest retornado da etapa 2 para converter em um objeto IX509CertificateRequestPkcs10 .
  4. Chame a propriedade PrivateKey na solicitação PKCS nº 10.
  5. Chame a propriedade ProviderName no objeto IX509PrivateKey recuperado da etapa 4.

ProviderType

A função ProviderType no Xenroll.dll especifica ou recupera um valor inteiro que identifica o tipo do CSP.

Ao usar CertEnroll.dll, você pode executar as seguintes ações para recuperar o tipo de provedor:

  1. Chame a propriedade Request em um objeto IX509Enrollment existente.
  2. Chame o método GetInnerRequest na solicitação retornada da etapa 1 para recuperar a solicitação mais interna.
  3. Chame QueryInterface no objeto IX509CertificateRequest retornado da etapa 2 para converter em um objeto IX509CertificateRequestPkcs10 .
  4. Chame a propriedade PrivateKey na solicitação PKCS nº 10.
  5. Chame a propriedade ProviderType no objeto IX509PrivateKey recuperado da etapa 4.

Mapeando Xenroll.dll para CertEnroll.dll

ICspAlgorithm

ICspAlgorithms

ICspInformation

ICspInformations

IX509Enrollment

IX509PrivateKey