Issuer
的{{1}}属性返回X509Certificate2
,例如:
“ CN =电子商务开发CA,OU = ITSB电子商务系统团队,O = AVANO,L =悉尼,S = NSW,C = AU”
如何在RFC-1779中获得相同的信息?例如:
“ / C = AU / ST = NSW / L =悉尼/ O = AVANO / OU = ITSB电子商务系统团队/ CN =电子商务开发CA”
string
答案 0 :(得分:0)
您想要的字符串与您从Issuer
实际获得的字符串相反,并且由斜杠而不是逗号分隔,并带有空格。
我解决这个问题的第一个尝试是创建一个新的X500DistinguishedName
对象,将证书的IssuerName
和X500DistinguishedNameFlags.Reversed
传递给构造函数:
var distinguishedName = new X500DistinguishedName(cert.Issuer, X500DistinguishedNameFlags.Reversed);
但是,这并没有为我提供我想要的结果。我不确定是否有任何方法可以做到这一点。但是您可以尝试手动重新格式化字符串以满足您的需求:
var split = cert.Issuer.Split(new []{',', ' '}, StringSplitOptions.RemoveEmptyEntries);
var reversed = split.Reverse();
var finalIssuerName = string.Join("/", reversed);