Funções de atributo

Os atributos podem ser adicionados a uma solicitação de certificado para fornecer a uma AC (autoridade de certificação ) 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:

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ção addAttributeToRequestWStr 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 use 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 propriedade CryptAttributes em um objeto de solicitação IX509CertificateRequestPkcs10 ou IX509CertificateRequestCmc existente.
  6. Adicione o objeto ICryptAttribute à coleção ICryptAttributes .

AddAuthenticatedAttributesToPKCS7Request

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

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

addNameValuePairToRequestWStr

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

Você pode usar a interface IX509NameValuePair em CertEnroll.dll para definir um par nome-valor e pode 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 objeto IX509CertificateRequestCmc . 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 objeto IX509NameValuePair .
  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ção AddNameValuePairToSignatureWStr 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 de registro em nome do (EOBO).

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ção RenewalCertificate 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ção IX509Attributes . Para remover todos os atributos de uma solicitação, chame o método Clear .

Mapeando Xenroll.dll para CertEnroll.dll

ICryptAttribute

ICryptAttributes

IX509Attribute

IX509Attributes

IX509NameValuePair

IX509NameValuePairs