cryptopro-parser
v0.0.4
Published
Parser data from cryptopro certificate
Downloads
13
Readme
CryptoPro Parser
Библиотека для парсинга данных формата
SNILS=99999999999, OGRNIP=123456789123456, INN=123456789123, [email protected], CN=Тестов Тест Тестович, SN=Тестов, G=Тест Тестович, C=RU, L="РАЙОН ПУШКИНО, ПОСЕЛОК ГОРОДСКОГО ТИПА ПУШКИН", S=98 ЛЕНИНГРАДСКАЯ ОБЛАСТЬ
И поиск по полученным данным
В разработке использовался репозиторий https://github.com/vgoma/crypto-pro
Доступные поля:
- Владелец:
Тестов Тест Тестович
- Страна:
RU
- Регион:
98 ЛЕНИНГРАДСКАЯ ОБЛАСТЬ
- Адрес:
Строителей, д.3, лит.Б
- Компания:
ООО "Рога и Копыта"
- Подразделение:
Администрация
- Должность:
Генеральный директор
- ОГРН:
123456789123456
- ОГРНИП:
123456789123456
- СНИЛС:
99999999999
- ИНН:
123456789123
- Email:
[email protected]
- Город:
РАЙОН ПУШКИНО, ПОСЕЛОК ГОРОДСКОГО ТИПА ПУШКИН
Как использовать собранный файл:
Получаем объект с разобранными данными
var result = cryptoProParser.subjectName.parse('SNILS=99999999999, OGRNIP=123456789123456, INN=123456789123, [email protected], CN=Тестов Тест Тестович, SN=Тестов, G=Тест Тестович, C=RU, L="РАЙОН ПУШКИНО, ПОСЕЛОК ГОРОДСКОГО ТИПА ПУШКИН", S=98 ЛЕНИНГРАДСКАЯ ОБЛАСТЬ');
var resultIssue = cryptoProParser.issuerName.parse('CN="ООО ""КОМПАНИЯ ""ТЕНЗОР""", O="ООО ""КОМПАНИЯ ""ТЕНЗОР""", OU=Удостоверяющий центр, STREET="Московский проспект, д. 12", L=г. Ярославль, S=76 Ярославская область, C=RU, INN=007605016030, OGRN=1027600787994, [email protected]');
Объекты subjectName и issuerName имеют разное название, но одинаковые алгоритмы. Оба объекта содержат одинаковые аттрибуты и сделаны для удобства, чтобы понимать, что мы хотим распарсить
Получаем нужные нам поля
Правильное получение данных:
var inn = result.findByName('ИНН'); // 123456789123
var inn = resultIssue.findByName('ИНН'); // 007605016030
var email = result.findByName('Email'); // [email protected]
var email = resultIssue.findByName('Email'); // [email protected]
var email = result.findByName('email'); // [email protected]
var email = resultIssue.findByName('email'); // [email protected]
Неправильное получение данных
var inn = result.findByName('inn'); // undefined
var inn = resultIssue.findByName('inn'); // undefined
var inn = result.findByName('ИНННННН'); // undefined
var inn = resultIssue.findByName('ИНННННН'); // undefined
var email = result.findByName('e-mail'); // undefined
var email = resultIssue.findByName('e-mail'); // undefined