Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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
.net System.Security.Cryptography.X509证书中的自定义扩展_.net_X509_System.security - Fatal编程技术网

.net System.Security.Cryptography.X509证书中的自定义扩展

.net System.Security.Cryptography.X509证书中的自定义扩展,.net,x509,system.security,.net,X509,System.security,.NET类System.Security.Cryptography.X509Certificates.X509扩展不支持某些我要分析主题可选名称、名称约束的X.509扩展。该类的MSDN页面说明可以在CryptoConfig文件链接中注册自定义扩展名,但CryptoConfig类的描述仅讨论设置自定义加密算法实现-如何注册自定义X.509扩展名并不明显 有人知道怎么做吗?如果您没有找到内置类的解决方案,请查看我们的解决方案。它们让您可以轻松地管理自定义扩展 谢谢。我没有找到一个干净的解决方案,但

.NET类System.Security.Cryptography.X509Certificates.X509扩展不支持某些我要分析主题可选名称、名称约束的X.509扩展。该类的MSDN页面说明可以在CryptoConfig文件链接中注册自定义扩展名,但CryptoConfig类的描述仅讨论设置自定义加密算法实现-如何注册自定义X.509扩展名并不明显


有人知道怎么做吗?

如果您没有找到内置类的解决方案,请查看我们的解决方案。它们让您可以轻松地管理自定义扩展

谢谢。我没有找到一个干净的解决方案,但事实证明X509Certificate2.Extensions字段会将未识别的扩展枚举为裸X509Extension实例-这些实例会在RawData字段中公开可以手动解析的DER编码ASN.1数据。您能开发更多吗?您的更多意思是什么?有一句话说.net类枚举DER编码的ASN.1数据,并且没有干净的方法来解码为字符串。实际上,您可以从字节数组、文件等创建X509Certificate2对象,并使用扩展数组项上的Formatbool方法提取解码字符串。您应该首先检查扩展数组是否有任何项等。
X509Certificate2 cert = new System.Security.Cryptography.X509Certificates.X509Certificate2(certByte);
string fn = cert.Extensions[0].Oid.FriendlyName;
string oid = cert.Extensions[0].Oid.Value;
string val = cert.Extensions[0].Format(true);