2015-07-06 4 views
2

Я использую следующий код для чтения атрибутов КСО:Чтение поля электронной почты из запроса подписи сертификата (CSR) с C#

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#?

ответ

1

в attribs я получаю общее название, организация, отдел

вы идете в правильном направлении, но это, кажется, что электронная почта атрибут РДН не представлен в предметной области.

Не должно быть обязательным для КСО?

no. Кроме того, поле «Целевое поле» необязательно. Поэтому вам может потребоваться изменить ваш код соответствующим образом. Может возникнуть ситуация, когда поле Subject пустое, тогда предметная информация должна быть указана в расширении имен альтернативных имен.

Поэтому, если в строке темы отсутствуют атрибуты E= или Email=, то этот атрибут здесь не представлен.

Смежные вопросы