Статус: Новичок
Группы: Участники
Зарегистрирован: 22.04.2011(UTC) Сообщений: 2 Откуда: Тверь
|
Доброго дня. Подскажите, пожалуйста, желательно, на примере, как из сертификата ЭЦП вытащить данные об ИНН/КПП организации, которой он был выдан? Была идея разбирать строку Subject. Работало до перестановки системы. После в Subject вместо подстроки "... ИНН=0000000000 ..." оказалось нечто вроде "... OID.1.3.643.куча_цифр=...". Видать, от версии КриптоПро зависит (возможно, разные версии прописывают в реесто разные OIDы). При этом крайне не хотелось бы решать проблему ручным дописыванием OIDов в реестр. Нужен достаточно универсальный программный механизм на C#. Спасибо
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,691 Сказал «Спасибо»: 500 раз Поблагодарили: 2046 раз в 1586 постах
|
Автор: vovka_tm Доброго дня. Подскажите, пожалуйста, желательно, на примере, как из сертификата ЭЦП вытащить данные об ИНН/КПП организации, которой он был выдан? Была идея разбирать строку Subject. Работало до перестановки системы. После в Subject вместо подстроки "... ИНН=0000000000 ..." оказалось нечто вроде "... OID.1.3.643.куча_цифр=...". Видать, от версии КриптоПро зависит (возможно, разные версии прописывают в реесто разные OIDы). При этом крайне не хотелось бы решать проблему ручным дописыванием OIDов в реестр. Нужен достаточно универсальный программный механизм на C#. Спасибо Автор: vovka_tm При этом крайне не хотелось бы решать проблему ручным дописыванием OIDов в реестр.
Если OID не зарегистрирован в реестре ОС - извлекать подстроку из значения OID-а "не предлагать"? "простое решение", не требующее "примера кода": OID ИНН = 1.2.643.3.131.1.1 Соответственно, если в Subject нет ИНН=.. или INN=.. (не нужно забывать и такой вариант регистрации ИНН в реестре ОС), тогда вытаскивать из 1.2.643.3.131.1.1=.. Автор: vovka_tm Была идея разбирать строку Subject. Работало до перестановки системы. После в Subject вместо подстроки "... ИНН=0000000000 ..." оказалось нечто вроде "... OID.1.3.643.куча_цифр=...". Видать, от версии КриптоПро зависит (возможно, разные версии прописывают в реесто разные OIDы).
"текстовое название" хранится в реестре: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CryptDllFindOIDInfo\1.2.643.3.131.1.1 .. и не могут "разные версии" прописывать разные "OID-ы" для ИНН ... P.S. Российский сегмент мирового пространства идентификаторов объектов (по классификации ISO)+ Дополнительные идентификаторы 1.2.643.100.3 = СНИЛС 1.2.643.100.4 = КПП 1.2.643.100.5 = ОГРНИП ... P.S.2 Некоторые УЦ выпускают сертификаты также с указанием значений ИНН\КПП в OID "Неструктурированное имя". |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.07.2008(UTC) Сообщений: 1,287 Откуда: Краснодар Сказал «Спасибо»: 81 раз Поблагодарили: 72 раз в 60 постах
|
Автор: Андрей * P.S.2 Некоторые УЦ выпускают сертификаты также с указанием значений ИНН\КПП в OID "Неструктурированное имя".
это для неквалифицированных сертификатов
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,691 Сказал «Спасибо»: 500 раз Поблагодарили: 2046 раз в 1586 постах
|
Автор: Laroux Автор: Андрей * P.S.2 Некоторые УЦ выпускают сертификаты также с указанием значений ИНН\КПП в OID "Неструктурированное имя".
это для неквалифицированных сертификатов и не забывать два нуля отбрасывать слева :) для квалифицированных сертификатов... |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 29.01.2017(UTC) Сообщений: 12 Сказал(а) «Спасибо»: 3 раз
|
Коллеги, всем привет! Работаю с квалифицированной электронной подписью. Очень прощу, подскажите как получить ИНН? Прошерстил форум или плохо искал или нет такой инфы (((( Очень нужно срочно! (help)
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 29.01.2017(UTC) Сообщений: 12 Сказал(а) «Спасибо»: 3 раз
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,691 Сказал «Спасибо»: 500 раз Поблагодарили: 2046 раз в 1586 постах
|
Автор: alexk79 Коллеги, всем привет! Работаю с квалифицированной электронной подписью. Очень прощу, подскажите как получить ИНН? Прошерстил форум или плохо искал или нет такой инфы (((( Очень нужно срочно! (help)
Вопрос не понятен. Вы получить подстроку (12 цифр) не можете? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 29.01.2017(UTC) Сообщений: 12 Сказал(а) «Спасибо»: 3 раз
|
Автор: Андрей * Автор: alexk79 Коллеги, всем привет! Работаю с квалифицированной электронной подписью. Очень прощу, подскажите как получить ИНН? Прошерстил форум или плохо искал или нет такой инфы (((( Очень нужно срочно! (help)
Вопрос не понятен. Вы получить подстроку (12 цифр) не можете? ПОдстроку чего? OID? - могу. Из нее как ИНН вытащить? Из какого именно OID? Отредактировано пользователем 30 ноября 2017 г. 12:43:12(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,691 Сказал «Спасибо»: 500 раз Поблагодарили: 2046 раз в 1586 постах
|
Автор: alexk79 Автор: Андрей * Автор: alexk79 Коллеги, всем привет! Работаю с квалифицированной электронной подписью. Очень прощу, подскажите как получить ИНН? Прошерстил форум или плохо искал или нет такой инфы (((( Очень нужно срочно! (help)
Вопрос не понятен. Вы получить подстроку (12 цифр) не можете? ПОдстроку чего? OID? - могу. Из нее как ИНН вытащить? Из какого именно OID? Вы не читали ответ? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 29.01.2017(UTC) Сообщений: 12 Сказал(а) «Спасибо»: 3 раз
|
Код:
var certObj = new CertificateObj(certificate);
/*document.getElementById(BoxID).style.display = '';
document.getElementById(field_prefix + "subject").innerHTML = "Владелец: <b>" + certObj.GetCertName() + "<b>";
document.getElementById(field_prefix + "issuer").innerHTML = "Издатель: <b>" + certObj.GetIssuer() + "<b>";
document.getElementById(field_prefix + "from").innerHTML = "Выдан: <b>" + certObj.GetCertFromDate() + "<b>";
document.getElementById(field_prefix + "till").innerHTML = "Действителен до: <b>" + certObj.GetCertTillDate() + "<b>";
document.getElementById(field_prefix + "provname").innerHTML = "Криптопровайдер: <b>" + certObj.GetPrivateKeyProviderName() + "<b>";
document.getElementById(field_prefix + "algorithm").innerHTML = "Алгоритм ключа: <b>" + certObj.GetPubKeyAlgorithm() + "<b>";
*/
Но где тут ИНН?
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close