Ключевое слово в защите информации
ключевое слово
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline danbka  
#1 Оставлено : 17 марта 2016 г. 17:29:34(UTC)
danbka

Статус: Участник

Группы: Участники
Зарегистрирован: 05.02.2016(UTC)
Сообщений: 19
Российская Федерация
Откуда: Спб

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 1 раз в 1 постах
Здравствуйте, уважаемые участники форума.

Метод
Цитата:
cert = oStore.Certificates.Item(1);


возвращает объект сертификата, у которого есть поле SubjectName. Выглядит оно приблизительно так:

Цитата:
SN=Иванов, G=Иван Иванович, T=Генеральный директор, OID.1.2.840.113549.1.9.2="INN=0000000000/KPP=000000000/OGRN=0000000000000", STREET="ул. Центральная, д.1", CN="ООО ""Крипто-Спб""", O="ООО ""Крипто-Спб""", L=д. Кудрово, S=47 Ленинградская область, C=RU, E=myname@ololo.ru, ИНН=000000000000, ОГРН=0000000000, СНИЛС=00000000000


Вопрос заключается в том, как эту строку разобрать, чтобы получить массив вида:

Цитата:
SN : Иванов
G : Иван Иванович
CN : ООО "Крипто-Спб"
и т.д.


Пока что тут упоминался только такой способ: искать вхождение, например "SN=" и брать следующие символы до запятой. Но это не работает с полем STREET в значении которого есть запятая.
Кроме того некоторые значения обрамляются кавычками, а некоторые нет.

Может быть кто-то уже писал регулярку, позволяющую решить мою задачу? Или может предложить другой способ?
Offline Laroux  
#2 Оставлено : 17 марта 2016 г. 17:42:34(UTC)
Laroux

Статус: Активный участник

Группы: Участники
Зарегистрирован: 14.07.2008(UTC)
Сообщений: 1,287
Мужчина
Российская Федерация
Откуда: Краснодар

Сказал «Спасибо»: 81 раз
Поблагодарили: 72 раз в 60 постах
я на PHP говнокодил следующим образом: сделал массив их элементов SN=, G=, T=, OID.1.2.840.113549.1.9.2=, STREET= и т.д.
затем заменял их на |SN=, |G=, |T=, |OID.1.2.840.113549.1.9.2=, |STREET= и т.д.
затем explode-ил по |
ну а дальше дело техники :)
Offline Kirill-Ekb  
#3 Оставлено : 15 марта 2017 г. 5:04:26(UTC)
Kirill-Ekb

Статус: Участник

Группы: Участники
Зарегистрирован: 23.01.2017(UTC)
Сообщений: 10
Российская Федерация
Откуда: Екатеринбург

Сказал(а) «Спасибо»: 6 раз
Автор: Laroux Перейти к цитате
я на PHP говнокодил


Подскажите, пожалуйста, как Вы получили SubjectName в PHP? Пример моего кода в теме.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.