Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > .NET: Web приложения > VB.NET:Сертификат безопасности с полями на русском


Автор: Radius 24.09.03, 08:30
Мой web клиент работает с сертификатами. Допустим, у меня есть два сертификата на имена:
1. Иванов Иван Иванович
2. Klinton Bill Salomonovich
Код для получения данных сертификата такой:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    <br>If Me.Request.ClientCertificate.IsPresent Then<br>   Dim fio As String = Me.Request.ClientCertificate.Get("SubjectCN")<br>   lastname.Value = fio.Split(" ", 3)(0)<br>   firstname.Value = fio.Split(" ", 3)(1)<br>   middlename.Value = fio.Split(" ", 3)(2)<br>End If<br>

Данный кусок кода работает только со вторым сертификатом, а при использовании первого все поля остаются пустыми.
В чем проблема? Где надо копать?

Автор: Radius 26.09.03, 07:18
Очень плохо, что никто не интересуется таким важным вопросом.
Пришлось решать всё локально! Спасибо сокамернику за помощь.
Решается проблема следующим образом:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    <br>Imports System.Security.Cryptography.X509Certificates<br>...<br>Dim myX509 As X509Certificate = New X509Certificate( _<br>   Me.Request.ClientCertificate.Certificate)<br>...<br>certificate.Value = myX509.GetName()<br>

Данный кусок кода даст нам текстовые поля сертификата в виде одной строки.
Её потом можно разбить на части и получить требуемые значения...

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)