Стандартные средства 1С по работе с сертификатами, такой как
Сертификат = Новый СертификатКриптографии()
не позволяет в полной мере получить информацию, хранимую в файле. Лишь поверхностную информацию.
Данная обработка решает эту проблему.
Используя инструменты 1С по работе с двоичными данными, такие как:
ПроверитьБит()
ПроверитьПоБитовойМаске()
УстановитьБит()
ПобитовоеИ()
ПобитовоеИли()
ПобитовоеНе()
ПобитовоеИНе()
ПобитовоеИсключительноеИли()
ПобитовыйСдвигВлево()
ПобитовыйСдвигВправо()
можно извлечь и структурировать хранимую в сертификате информацию любой сложности.
Обработка не требует никаких дополнительных внешних компонент и программ, используя исключительно язык 1С.
В левой части обработки расположена HEX строка двоичных данный, полученная методом:
HEXСтрока = ПолучитьHexСтрокуИзДвоичныхДанных(ДД);
Чуть ниже, отображена строка двоичных данных в Base64:
Base64 = Base64Строка(ДД);
В левой части располагается структурированный результат обработки файла, в виде "ДереваЗначений", представляющую иерархическую структуру хранимой информации.
Типы хранимой в файле информации:
Номер тэга | Тип хранимой информации |
0 | EOC |
1 | BOOLEAN |
2 | INTEGER |
3 | BIT STRING |
4 | OCTET STRING |
5 | NULL |
6 | OBJECT IDENTIFIER |
7 | ObjectDescriptor |
8 | EXTERNAL |
9 | REAL |
10 | ENUMERATED |
11 | EMBEDDED PDV |
12 | UTF8String |
13 | RELATIVE OID |
16 | SEQUENCE |
17 | SET |
18 | NumericString |
19 | PrintableString |
20 | TeletexString |
21 | VideotexString |
22 | IA5String |
23 | UTCTime |
24 | GeneralizedTime |
25 | GraphicString |
26 | VisibleString |
27 | GeneralString |
28 | UniversalString |
30 | BMPString |
*В зависимости от номера тэга, определяется способ получения хранимой информации
Обработка работает со следующими типами файлов:
- key
- cer
- der
- p7m
- p7s
- crt
- pem
Функционал полностью основан на разработке lapo-luchini (github) под JavaScript.
Пример "Парсинг типа строки"
Пример "Парсинг целочисленных типов"
Пример "Парсинг типа даты"
Требования:
- Платформа 1С начиная с 8.3.14 и выше