Como recuperar / calcular uma impressão digital do certificado X509 em Java?

Eu tenho um cliente java que está chamando uma operação de serviço da web que leva um certificado "impressão digital" como um parâmetro. Acredito que a impressão digital seja um tipo de hash SHA1, em formato de string hexadecimal, da chave pública do certificado, mas não tenho certeza.

A estrutura .NET parece incluir uma maneira simples de obter esse valor (X509Certificate2.Thumbprint propriedade). Visualizar as propriedades de um arquivo .cer no Windows também exibe a impressão digital, que se parece com:

a6 9c fd b0 58 0d a4 ee ae 9a 47 75 24 c3 0b 9f 5d b6 1c 77

Minha pergunta é, portanto: Alguém sabe como recuperar ou calcular essa cadeia de impressão digital em Java, se eu tiver uma instância de umajava.security.cert.X509Certificate?

questionAnswers(5)

yourAnswerToTheQuestion