Como: recuperar a impressão digital de um certificado

Ao escrever um aplicativo WCF (Windows Communication Foundation) que usa um certificado X.509 para autenticação, geralmente é necessário especificar declarações encontradas no certificado. Por exemplo, você precisa fornecer uma declaração de impressão digital ao usar a enumeração FindByThumbprint no método SetCertificate. A localização do valor da declaração exige duas etapas. Primeiro, abra o snap-in do MMC (Console de Gerenciamento da Microsoft) para certificados. (Confira Como exibir certificados com o snap-in do MMC). Em segundo lugar, conforme descrito aqui, localize um certificado apropriado e copie a impressão digital dele (ou outros valores de declaração).

Se você estiver usando um certificado para autenticação de serviço, é importante observar o valor da coluna Emitido para (a primeira coluna no console). Ao usar o protocolo SSL como uma segurança do transporte, uma das primeiras verificações feitas é comparar o URI (Uniform Resource Identifier) de um serviço com o valor Emitido para. Os valores precisam ser iguais ou o processo de autenticação é interrompido.

Use também o cmdlet New-SelfSignedCertificate do PowerShell para criar certificados temporários para uso somente durante o desenvolvimento. Por padrão, no entanto, esse certificado não é emitido por uma autoridade de certificação e é inutilizável para fins de produção. Para obter mais informações, confira Como criar certificados temporários para uso durante o desenvolvimento.

Para recuperar a impressão digital de um certificado

  1. Abra o snap-in do MMC (Microsoft Management Console) para certificados. (Confira Como exibir certificados com o snap-in do MMC).

  2. No painel esquerdo da janela Raiz do Console, clique em Certificados (Computador Local).

  3. Clique na pasta Pessoal para expandi-la.

  4. Clique na pasta Certificados para expandi-la.

  5. Na lista de certificados, observe o título Propósitos Pretendidos. Localize um certificado que lista Autenticação do Cliente como uma finalidade pretendida.

  6. Clique duas vezes no certificado.

  7. Na caixa de diálogo Certificado, clique na guia Detalhes.

  8. Role a lista de campos e clique em Impressão Digital.

  9. Copie os caracteres hexadecimal da caixa. Se essa impressão digital for usada no código para o X509FindType, remova os espaços entre os números hexadecimais. Por exemplo, a impressão digital "a9 09 50 2d d8 2a e4 14 33 e6 f8 38 86 b0 0d 42 77 a3 2 a 7b" deve ser especificado como "a909502dd82ae41433e6f83886b00d4277a32a7b" no código.

Confira também