3

我有两个从 Microsoft 管理控制台检索到的证书指纹。

当我将值复制/粘贴到我的程序中,然后手动键入相同的值以执行相等检查时,它们会失败。

有谁知道为什么,在粘贴字符串值时,它没有通过相等性检查,但是当手动输入它时呢?据我所知,它们是相同的值,所以不应该都是真的吗?

public void DoSomething()
{
    const string thumbprint1  = "‎1F279488F131074FC7B34B9AF6E6B087678404F2";
    const string thumbprint2  = "1F279488F131074FC7B34B9AF6E6B087678404F2";

    Debug.WriteLine("thumbprint1 = {0}\n", ("1F279488F131074FC7B34B9AF6E6B087678404F2" == thumbprint1));
    Debug.WriteLine("thumbprint2 = {0}\n", ("1F279488F131074FC7B34B9AF6E6B087678404F2" == thumbprint2));
}

这是 Visual Studio 中比较结果的图像:

在此处输入图像描述

4

1 回答 1

8

如果您从 MMC 复制并粘贴了指纹,您可能会发现其中一个指纹在指纹的开头有一个特殊的隐藏字符。

按指纹前的删除键删除隐藏字符,这将解决问题。

于 2014-09-20T13:46:36.173 回答