【问题标题】:X509 Certificate with Subject UID带有主题 UID 的 X509 证书
【发布时间】:2012-04-04 02:56:34
【问题描述】:

我正在从这样的字符串加载证书:

public static void Test()
{
    byte[] arrayCertificate;
    arrayCertificate = Convert.FromBase64String("CERT_STRING");
    X509Certificate2 clientCertificateFromXml = new X509Certificate2(arrayCertificate);
    Console.Write(clientCertificateFromXml);
    Console.ReadKey();
}

但此证书没有“主题唯一标识符” 看看这个:

http://en.wikipedia.org/wiki/X.509证书结构部分)

我想知道如何从我的 .NET 代码中读取该值(我发现我可以获取 SerialNumber、Thumbprints 和其他,但任何地方都没有 Subject UID)。

另外,如果有人可以共享一个 openssl 命令以包含此 UID 作为证书,我将不胜感激 :-)(pfx one)

【问题讨论】:

    标签: c# .net vb.net cryptography x509certificate


    【解决方案1】:

    我想知道如何从我的 .NET 代码中读取该值

    IIRC 这不会在 .NET BCL 中公开,无论是来自 X509Certificate 还是更新的(更好但仍然不完整)X509Certificate2

    但是您可以使用来自Mono 项目的Mono.Security 程序集(或只是您想要的代码)。它是开源的,经过 MIT.X11 许可,并且包含它自己的 X509Certificate

    此版本几乎公开了 X.509 证书中的所有内容,包括 SubjectUniqueIdentifier 属性。

    如果有人可以共享一个 openssl 命令以包含此 UID 的证书,我将不胜感激

    我不记得 openssl... 但您可以使用 Mono.Security 中的 X509CertificateBuilder 创建您自己的证书。示例参见 Mono 的 makecert 工具源代码。

    免责声明:我编写了代码 :-)

    【讨论】:

    • 感谢您的回复,我将测试 mono.security 程序集,我会通知您:-)
    猜你喜欢
    • 2016-12-31
    • 2018-06-30
    • 1970-01-01
    • 2017-01-15
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多