Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# X509自定义扩展-如何设置它们?_C#_X509_X509certificate2 - Fatal编程技术网

C# X509自定义扩展-如何设置它们?

C# X509自定义扩展-如何设置它们?,c#,x509,x509certificate2,C#,X509,X509certificate2,尽管进行了广泛的搜索,但我找不到任何在X509(v3)证书上设置自定义扩展名的示例(CustomExtensions属性) 如果我想生成新证书(基于计算机上已安装的现有CA证书),如何向其添加自定义扩展?我希望在证书中携带一些额外的海关信息,以便以后检查。这可以通过编程或使用makecert实现吗?或者只能通过编写在生成证书时调用的扩展来设置这些扩展吗?这甚至可以通过使用.Net framework中的常规X509Certificate或X509Certificate2类来实现吗 我找到了检查自

尽管进行了广泛的搜索,但我找不到任何在X509(v3)证书上设置自定义扩展名的示例(
CustomExtensions
属性)

如果我想生成新证书(基于计算机上已安装的现有CA证书),如何向其添加自定义扩展?我希望在证书中携带一些额外的海关信息,以便以后检查。这可以通过编程或使用makecert实现吗?或者只能通过编写在生成证书时调用的扩展来设置这些扩展吗?这甚至可以通过使用.Net framework中的常规
X509Certificate
X509Certificate2
类来实现吗


我找到了检查自定义扩展的代码,但没有设置它的代码

无论您拥有什么现有证书,都会通过签名“盖章”。更改其内容将使签名和证书失效。这就是为什么你找不到任何关于你想做什么的信息

当您通过MMC中的“证书管理”管理单元查看证书或在Internet Explorer中浏览证书时,可能会混淆的是证书的自定义属性。这些属性不存储在证书中-它们由CryptoAPI单独保存,而不是“嵌入”到证书中


对于具有私钥的自签名证书,可以重新创建证书并向其添加自定义扩展,但这种情况很少。我不确定.NET Framework是否允许您使用自定义扩展,但我们的SecureBackbox允许。

有点。。。通用的你能找到更好的吗?请注意,当它符合条件时,我将提供最低200悬赏。欢迎对图书馆等提出建议,只要他们回答了问题,您可以展示一个工作样本。@Charles-done。这是一个新标签,现在我已经改进了一点。非常感谢。你可能希望找到它可以适用的其他问题。新标签讨厌只被一个问题卡住…@slugster:你查过这个库了吗?我希望在生成证书时在证书中嵌入一些特定于客户的信息(之后不会更改,目的是在使用/提供证书时可以检查这些信息),但我没有找到关于如何执行此操作的明确说明。只能通过证书模板完成吗?在创建证书之前,是否可以动态生成或修改该模板?@slugster可能我误解了您在“生成新证书(基于机器上已安装的现有证书)”部分中提出的问题。我不知道如何使用.NET类生成带有自定义扩展的证书,以及这是否真的可行。