У меня есть функция RemoteCertificateValidationCallback, вызываемая SslStream.AuthenticateAsClient, которому передается объект X509Certificate.
Я хотел бы извлечь имя из этого сертификата, так что если бы я передал эту строку в AuthenticateAsClient, она бы прошла. (Предполагая, что нет других проблем.)
(Примечание. Свойство Subject содержит имя домена, но внутри строки "CN =..., S =..." и т.д.)
См. также: Как извлечь CN из X509Certificate в Java? (задает аналогичный вопрос для Java, но я не могу найти похожие классы для .NET, упомянутые в эти ответы.)
(Последующая реакция на ответ Евгения.)
Я пробовал это...
var cert2 = new System.Security.Cryptography.X509Certificates.X509Certificate2();
cert2.Import(certificate.GetRawCertData());
... но cert2.SubjectName.Name по-прежнему имеет CN = etc форматирование. Я делаю это неправильно?