【问题标题】:Certificates - More than 1 serial number?证书 - 超过 1 个序列号?
【发布时间】:2012-10-23 18:52:23
【问题描述】:

奇怪:

我使用此代码通过此代码通过 c# 查找证书:

 X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
 store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
 var certificates = store.Certificates;
 X509Certificate2Collection certificateCollection = store.Certificates.Find(X509FindType.FindBySerialNumber, "the Serial Number", false);

所以我通过现有的证书进行了测试:

但它不起作用(如链接问题中所述)。 (也尝试过,删除空格,大写等...... - 无效)。

但是当我玩了一下它时,我发现了另一个序列位置

这次只是粘贴了确切的短语"4e a1 ae 96 ec 1a b6 82 4e f6 23 9a 16 04 1a 51",它有效

这里发生了什么?

为什么有 2 个不同的序列号,它们之间有什么区别?

附注, 但是,并不是所有的证书都有“Authority Key Identifier”,所以还是有其他属性发现的问题……

【问题讨论】:

    标签: c# .net security certificate x509certificate


    【解决方案1】:

    我认为找到了解决方案。 (我不敢相信)

    通过复制+粘贴复制指纹号码并粘贴到cmd中:

    这个字符是什么鬼?

    所以我逐个字符地手动输入它 - 以及所有 good (+删除空格)。

    但为什么还有2个连续剧?

    【讨论】:

    • 啊——这就是它对我们有用的原因。我们是手工打出来的。不是因为我们删除了空格。 =)
    • @J.Steen 是的。在过去的 4 天里,我一直坐在这个上面。你能相信吗?
    【解决方案2】:

    授权密钥标识符是您可以添加到证书的附加扩展,它指示签署它的颁发者证书。它不是必需的,因为已经存在指示颁发者证书的主题名称的 Issuer 字段,但具有扩展名可以更准确地指定它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-07
      • 2017-08-29
      • 1970-01-01
      • 1970-01-01
      • 2017-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多