繁体   English   中英

使用C#从证书签名请求(CSR)中读取电子邮件字段

[英]Reading email field from a certificate signing request (CSR) with C#

我正在使用以下代码来读取CSR的属性:

string csr = myCSR;
CX509CertificateRequestPkcs10 request = new CX509CertificateRequestPkcs10();
request.InitializeDecode(csr, EncodingType.XCN_CRYPT_STRING_BASE64_ANY);
request.CheckSignature();
string tmp = ReadDnsSan(request);
string attribs = (((CX500DistinguishedName)request.Subject).Name);

在attribs我得到共同的名称,组织,部门,城市,国家,但不是电子邮件地址

CSR不应该是强制性的吗? 有没有办法用C#读取它?

在attribs我得到共同的名字,组织,部门

您正朝着正确的方向前进,但似乎电子邮件RDN属性未显示在主题字段中。

CSR不应该是强制性的吗?

没有。 此外,整个主题字段是可选的。 因此,您可能需要相应地修改代码。 当主题字段为空时可能存在这样的情况,则主题信息应在主题备选名称扩展中呈现。

因此,如果主题字符串中缺少E=Email=属性,则此属性不会显示在那里。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM