Funções de propriedade externa

As propriedades são usadas para associar um valor a um certificado. As propriedades nunca são enviadas ou processadas por uma AC (autoridade de certificação ) e não são armazenadas dentro de um certificado. Normalmente, eles são associados a um certificado depois que o certificado é recebido da AC e antes de ser salvo em um repositório. As propriedades são salvas no repositório junto com o certificado. CertEnroll.dll implementa a interface ICertProperty e as seguintes interfaces derivadas de ICertProperty:

Cada uma das seções a seguir identifica uma função exportada por Xenroll.dll para gerenciar propriedades de certificado externas. Cada seção também discute como usar CertEnroll.dll para substituir a função ou indica que não existe nenhum mapeamento entre as duas bibliotecas:

addBlobPropertyToCertificateWStr

A função addBlobPropertyToCertificateWStr no Xenroll.dll adiciona uma propriedade ao certificado.

Em CertEnroll.dll, todos os objetos derivados de ICertProperty implementam um método SetValueOnCertificate que você pode usar para associar uma propriedade a um certificado. Além disso, o objeto IX509Enrollment implementa diretamente as propriedades CertificateFriendlyName e CertificateDescription .

GetPrivateKeyArchiveCertificate

A função GetPrivateKeyArchiveCertificate no Xenroll.dll recupera o certificado de troca usado para arquivar uma chave privada.

Você pode usar o objeto IX509CertificateRequestCmc no CertEnroll.dll para criar uma solicitação para uma AC arquivar sua chave privada. Você deve recuperar um certificado de troca da AC e usar a chave pública contida nesse certificado para criptografar a chave privada que você está enviando para arquivamento. Para especificar ou recuperar um certificado de troca de autoridade de certificação, chame a propriedade KeyArchivalCertificate nesse objeto.

resetBlobProperties

A função resetBlobProperties no Xenroll.dll remove a coleção de propriedades do certificado.

Em CertEnroll.dll, todos os objetos de propriedade derivados de ICertProperty implementam a propriedade RemoveFromCertificate que você pode usar para desassociar uma propriedade de um certificado.

SetPrivateKeyArchiveCertificate

A função SetPrivateKeyArchiveCertificate no Xenroll.dll especifica um certificado de troca usado para arquivar uma chave privada.

Você pode usar o objeto IX509CertificateRequestCmc no CertEnroll.dll para criar uma solicitação para uma AC arquivar sua chave privada. Você deve recuperar um certificado de troca da AC e usar a chave pública contida nesse certificado para criptografar a chave privada que você está enviando para arquivamento. Para especificar ou recuperar um certificado de troca de autoridade de certificação, chame a propriedade KeyArchivalCertificate nesse objeto.

SetSignerCertificate

A função SetSignerCertificate no Xenroll.dll especifica um certificado de signatário.

O objeto ISignerCertificate no CertEnroll.dll pode ser usado para assinar uma solicitação de certificadoPKCS nº 7, CMC ou autoassinada. Você pode inicializar o objeto usando um certificado de autenticação existente e associá-lo a uma solicitação chamando uma das seguintes propriedades:

Além disso, se você inicializar uma solicitação CMC de uma solicitação interna e um modelo ou inicializar uma solicitação PKCS nº 7 de uma solicitação existente, o certificado de assinatura poderá ser definido.

ThumbPrintWStr

A função ThumbPrintWStr no Xenroll.dll especifica ou recupera o valor do hash do certificado.

Em CertEnroll.dll, você pode usar o objeto ICertPropertySHA1Hash para recuperar um valor de hash (impressão digital) criado chamando o método InitializeFromCertificate .

Mapeando Xenroll.dll para CertEnroll.dll