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:
- ICertPropertyArchived
- ICertPropertyArchivedKeyHash
- ICertPropertyAutoEnroll
- ICertPropertyBackedUp
- ICertPropertyDescription
- ICertPropertyEnrollment
- ICertPropertyFriendlyName
- ICertPropertyKeyProvInfo
- ICertPropertyRenewal
- ICertPropertyRequestOriginator
- ICertPropertySHA1Hash
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
- GetPrivateKeyArchiveCertificate
- resetBlobProperties
- SetPrivateKeyArchiveCertificate
- SetSignerCertificate
- ThumbPrintWStr
- Tópicos relacionados
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:
- SignerCertificates em IX509CertificateRequestCmc
- SignerCertificate em IX509CertificateRequestPkcs7
- SignerCertificate em IX509CertificateRequestCertificate
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 .
Tópicos relacionados