Por que String.Equals está retornando false?

Eu tenho o seguinte código C # (de uma biblioteca que estou usando) que tenta encontrar um certificado comparando a impressão digital. Observe que, no código a seguir, ambosmycert.Thumbprint ecertificateThumbprint são cordas.

var certificateThumbprint = AppSettings.CertificateThumbprint;

var cert =
    myStore.Certificates.OfType<X509Certificate2>().FirstOrDefault(
      mycert => 
      mycert.Thumbprint != null && mycert.Thumbprint.Equals(certificateThumbprint)
      );

Falha ao encontrar o certificado com a impressão digital porquemycert.Thumbprint.Equals(certificateThumbprint) éfalse mesmo quando as cordas são iguais.mycert.Thumbprint == certificateThumbprint também retornafalse, enquantomycert.Thumbprint.CompareTo(certificateThumbprint) retorna 0.

Eu posso estar perdendo algo óbvio, mas não consigo descobrir por que oEquals método está falhando. Idéias?

questionAnswers(3)

yourAnswerToTheQuestion