Compartilhar via


Funções de atributo

Os atributos podem ser adicionados a uma solicitação de certificado para fornecer uma autoridade de certificação (AC) com informações adicionais que podem ser usadas ao criar e emitir um certificado.

CertEnroll.dll implementa as seguintes interfaces para definir atributos e coleções de atributos:

  • ICryptAttribute
  • ICryptAttributes
  • IX509Attribute
  • IX509Attributes
  • IX509AttributeClientId
  • IX509AttributeExtensions
  • IX509AttributeArchiveKey
  • IX509AttributeArchiveKeyHash
  • IX509AttributeCspProvider
  • IX509AttributeOSVersion
  • IX509AttributeRenewalCertificate

As seções a seguir identificam as funções exportadas por Xenroll.dll associar atributos criptográficos a solicitações de certificado e discutir como usar CertEnroll.dll para substituir a função ou indicar que não existe nenhum mapeamento entre as duas bibliotecas:

addAttributeToRequestWStr

A funçãoaddAttributeToRequestWStr em Xenroll.dll adiciona um atributo a uma solicitação de certificado.

Em geral, para adicionar um atributo a uma solicitação usando os objetos implementados no CertEnroll.dll, você pode executar as seguintes ações:

  1. Crie um objeto de coleção IX509Attributes.
  2. Crie um objeto IX509Attribute e chame o método Initialize para criar um atributo de um identificador de objeto e um valor de atributo ou usar qualquer uma das interfaces listadas anteriormente para definir um dos atributos mais comuns.
  3. Adicione cada novo atributo criado na etapa anterior à coleção IX509Attributes usando o método Add.
  4. Crie um objeto ICryptAttribute e inicialize-o chamando o método InitializeFromValues e especificando a coleção IX509Attributes na entrada.
  5. Recupere um objeto de coleção ICryptAttributes chamando a propriedadeCryptAttributes em um objeto de solicitação IX509CertificateRequestPkcs10existente ou IX509CertificateRequestCmc.
  6. Adicione o objetoICryptAttribute à coleçãoICryptAttributes.

AddAuthenticatedAttributesToPKCS7Request

Os atributos autenticados são pares nome-valor assinados e adicionados a uma assinatura. A funçãoAddAuthenticatedAttributesToPKCS7Request em Xenroll.dll adiciona uma matriz de atributos autenticados a uma solicitação de PKCS nº 7.

Conforme discutido acima para a funçãoaddAttributeToRequestWStr, você pode usar CertEnroll.dll para definir e adicionar facilmente uma coleção de atributos a uma solicitação de certificado. No entanto, você não pode escolher se o atributo está autenticado. O processo de registro toma essa decisão automaticamente.

addNameValuePairToRequestWStr

A funçãoaddNameValuePairToRequestWStrXenroll.dll adiciona um par nome-valor não autenticado a uma solicitação.

Você pode usar a interfaceIX509NameValuePairem CertEnroll.dll para definir um par nome-valor e adicionar uma coleção de pares nome-valor a um objeto de solicitação CMC executando as seguintes ações:

  1. Crie e inicialize um objetoIX509CertificateRequestCmc. O processo de inicialização cria uma coleção IX509NameValuePairs vazia.
  2. Chame a propriedade NameValuePairs em um objeto de solicitação CMC existente para recuperar a coleção.
  3. Crie e inicialize um objetoIX509NameValuePair.
  4. Adicione cada novo par nome-valor à coleção IX509NameValuePairs chamando o método Add.

O processo de registro coloca a coleção de pares nome-valor na estrutura TaggedAttribute da solicitação CMC.

AddNameValuePairToSignatureWStr

A funçãoAddNameValuePairToSignatureWStr em Xenroll.dll adiciona um par nome-valor autenticado a uma solicitação. Normalmente, isso é usado para especificar o nome do solicitante em uma solicitação EOBO (registro em nome).

Em CertEnroll.dll, use a propriedade RequesterName para especificar o nome em uma solicitação EOBO.

ClientId

A função ClientId em Xenroll.dll especifica ou recupera um atributo ClientId.

Use a propriedade ClientId em CertEnroll.dll para adicionar esse atributo a uma solicitação CMC ou PKCS #10.

RenewalCertificate

A funçãoRenewalCertificate em Xenroll.dll especifica ou recupera um atributo RenewalCertificate.

Em CertEnroll.dll, quando você chama InitializeFromCertificate em um objeto PKCS #7 ou PKCS ) é criado automaticamente.

resetAttributes

A função resetAttributes em Xenroll.dll remove a coleção de atributos de uma solicitação.

Para remover um atributo de uma solicitação por índice usando CertEnroll.dll, chame o método Remove na coleçãoIX509Attributes. Para remover todos os atributos de uma solicitação, chame o método Clear.

Xenroll.dll de mapeamento para CertEnroll.dll

ICryptAttribute

ICryptAttributes

IX509Attribute

IX509Attributes

IX509NameValuePair

IX509NameValuePairs