0.0.4 • Published 4 years ago

cryptopro-parser v0.0.4

Weekly downloads
3
License
MIT
Repository
github
Last release
4 years ago

CryptoPro Parser

NPM version Build Status


Библиотека для парсинга данных формата

SNILS=99999999999, OGRNIP=123456789123456, INN=123456789123, E=example@example.com, CN=Тестов Тест Тестович, SN=Тестов, G=Тест Тестович, C=RU, L="РАЙОН ПУШКИНО, ПОСЕЛОК ГОРОДСКОГО ТИПА ПУШКИН", S=98 ЛЕНИНГРАДСКАЯ ОБЛАСТЬ

И поиск по полученным данным

В разработке использовался репозиторий https://github.com/vgoma/crypto-pro

Доступные поля:

  • Владелец: Тестов Тест Тестович
  • Страна: RU
  • Регион: 98 ЛЕНИНГРАДСКАЯ ОБЛАСТЬ
  • Адрес: Строителей, д.3, лит.Б
  • Компания: ООО "Рога и Копыта"
  • Подразделение: Администрация
  • Должность: Генеральный директор
  • ОГРН: 123456789123456
  • ОГРНИП: 123456789123456
  • СНИЛС: 99999999999
  • ИНН: 123456789123
  • Email: example@example.com
  • Город: РАЙОН ПУШКИНО, ПОСЕЛОК ГОРОДСКОГО ТИПА ПУШКИН

Как использовать собранный файл:

Получаем объект с разобранными данными

var result = cryptoProParser.subjectName.parse('SNILS=99999999999, OGRNIP=123456789123456, INN=123456789123, E=example@example.com, 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, E=ca_tensor@tensor.ru');

Объекты subjectName и issuerName имеют разное название, но одинаковые алгоритмы. Оба объекта содержат одинаковые аттрибуты и сделаны для удобства, чтобы понимать, что мы хотим распарсить

Получаем нужные нам поля

Правильное получение данных:

var inn = result.findByName('ИНН'); // 123456789123
var inn = resultIssue.findByName('ИНН'); // 007605016030
var email = result.findByName('Email'); // example@example.com
var email = resultIssue.findByName('Email'); // ca_tensor@tensor.ru
var email = result.findByName('email'); // example@example.com
var email = resultIssue.findByName('email'); // ca_tensor@tensor.ru

Неправильное получение данных

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
0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago