具有主题UID的X509证书

时间:2012-04-03 18:42:23

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

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

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)

1 个答案:

答案 0 :(得分:3)

  

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

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

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

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

  

我将非常感激如果有人可以共享openssl命令以包含此证书的UID

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

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