Чтение полей из сертификата ЭП

Автор Тема: Чтение полей из сертификата ЭП  (Прочитано 3490 раз)

wujo

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
День добрый. Есть приложение (бд) в IBM Notes 9-й версии в котором хранятся электронные подписи, для учета и мониторинга истечения срока действия сертификатов. При импорте сертификатов, в форме заполняются поля, при этом, информация берется из открытого ключа сертификата ЭП. Все поля импортируются нормально кроме одного, в сертификате оно обозначено как "STREET" , то есть адрес (местоположение) и оно встает в поле Должность в самой форме, хотя должность в самом сертификате обозначена полем "T".
Вот кусок кода, который работает с данными полями (и еще некоторыми другими, но они не важны, т.к. отрабатывает все норм). Если в коде в строке, где идет обработка поля "T" ввести точный адрес как в сертификате, то должность встанет куда нужно в форме и все ок, но бывает так, что в сертификате что-то меняется и приходится менять написание адреса в самом коде, чтоб подстроиться

                        If Not FSubject Then
If Instr(txt$, "SN=") > 0 Then
txt$ = Strright(txt$, "SN=")
Call uidoc.FieldSetText("Fimilia", txt$)
End If
If Instr(txt$, "G=") > 0 Then
txt$ = Trim(Strright(txt$, "G="))
Call uidoc.FieldSetText( "Imia",  Strleft(txt$, " "))
Call uidoc.FieldSetText( "Otchest",  Strrightback(txt$, " "))
End If
If Instr(txt$, "T=") > 0 Then
txt$ = Strright(txt$, "T=")
If (txt$ ="ТУТ ИДЕТ АДРЕС ОРГАНИЗАЦИИ") Then
Else
Call uidoc.FieldSetText("Post", txt$)
End If
End If
If Instr(txt$, "OU=") > 0 Then
txt$ = Strright(txt$, "OU=")
If Instr(txt$, "Управление") > 0 Or Instr(txt$, "Департамент") > 0 Then
Call uidoc.FieldSetText("Department", txt$)
Else
Call uidoc.FieldSetText("Division", txt$)
End If
End If
If Instr(txt$, "E=") > 0 Then
txt$ = Strright(txt$, "E=")
Call uidoc.FieldSetText("SendTo", txt$)
End If
If txt$ <> "" Then
txt$ = "Subject:"
End If
End If