簡體   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