【问题标题】:Given two X509Certificate how to tell if one is signed by the other给定两个 X509Certificate 如何判断一个是否由另一个签名
【发布时间】:2013-09-12 14:01:54
【问题描述】:

我在数据库中有两个序列化证书,我可以从中构造X509Certificate。如何判断一个证书是否由另一个证书签名。我不想根据IssuerName 进行检查,因为它不可靠(对于我的场景)。

【问题讨论】:

  • 这在 Java 中或使用 OpenSSL 命令行很容易做到,但我不确定它在 C# 中是如何完成的。我能找到的最接近的是x509certificate2 verify 方法。虽然我不明白它是如何让 CA 证书用于验证的,除非它只是查看 Windows 信任库。

标签: c# x509certificate x509certificate2


【解决方案1】:

IssuerName 属性和授权密钥标识符扩展是查找证书之间关系的方法。匹配它们后,您可以验证所谓的父证书是否实际上是被检查的 CA 证书。我不确定单独使用 .NET Framework 是否可以进行此类检查,而我们的 SecureBlackbox 可以通过一种方法轻松完成此操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    • 1970-01-01
    • 2015-04-07
    相关资源
    最近更新 更多