具有使用者UID的X509证书

本文关键字:X509 证书 UID 使用者 | 更新日期: 2023-09-27 18:29:49

我正在从以下字符串加载证书:

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代码中读取该值(我想我可以获得序列号、指纹和其他信息,但任何地方都没有主题UID)。

此外,如果有人能共享一个openssl命令来包含证书的UID,我将不胜感激:-)(pfx-one)

具有使用者UID的X509证书

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

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

但是您可以使用Mono.Security程序集(或者只是您想要从中获得的代码),从Mono项目中获得。它是开源的,获得了MIT.X11许可,并包含自己的X509Certificate

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

如果有人能分享一个openssl命令来包含证书的UID,我将不胜感激

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

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