1

Тема: Работа Сигнатуры 3.6

Добрый день!
Используем Сигнатуру 3.6 на Windows.
Для каждого контрагента у нас отдельный скрипт .cmd на шифрование, в котором прописаны идентификаторы ключей получателя. 10 контрагентов = 10 скриптов на шифрование. Скрипты запускаем с интервалами.
Может ли Сигнатура обрабатывать сразу много запросов к себе (многопотоковый режим), к примеру 10 одновременно запущенных скриптов? Запуск одного скрипта, запуск второго скрипта, до окончания второго скрипта, запуск третьего и 4-го скриптов - такой сценарий.

2

Re: Работа Сигнатуры 3.6

Добрый день!

Сигнатура 3.6 работает в многопотоковом режиме. Насколько я понял, то для шифрования используется утилита командной строки.
Вопрос сколько профилей Вы используете для работы? Если один, то желательно справочник сертификатов (local.gdbm) перенести в SQL и использовать через ODBC.

3 (2014-12-10 15:44:35 отредактировано hcsibir)

Re: Работа Сигнатуры 3.6

ant пишет:

Добрый день!

Сигнатура 3.6 работает в многопотоковом режиме. Насколько я понял, то для шифрования используется утилита командной строки.
Вопрос сколько профилей Вы используете для работы? Если один, то желательно справочник сертификатов (local.gdbm) перенести в SQL и использовать через ODBC.

Можно ли где нибудь почитать, или Вы можете рассказать, как это организовать?
Профиль у нас один.

4

Re: Работа Сигнатуры 3.6

В документации в 00046-03 91 01.pdf раздел 4 "УСТАНОВКА И НАСТРОЙКА БАЗЫ ДАННЫХ"
В документе 00046-03 92 01.pdf раздел 5.2.2 "Справочники", там необходимо переключиться на созданный DSN.
Далее объекты из local.gdbm будут скопированы в БД SQL.

5

Re: Работа Сигнатуры 3.6

Подскажите, пожалуйста, чем может быть вызвана данная ошибка и что она значит:
выполняем скрипт cmd, в логе spki1utl.log видим. С файлом ничего не происходит.
"С:\Program Files\MDPREI\spki\spki1utl.exe" - sign -encrypt -in 1.txt -out 2.txt -reckeyid 111111111111 -profile Test

Результат: Error code: 0xE0700034 (E0700034)

6

Re: Работа Сигнатуры 3.6

[0xE0700034] Ошибка проверки сертификата
(Произошла ошибка при построении или проверке цепочки сертификата)

еще смущает  -reckeyid 111111111111, неужели у Вас есть сертификат с номером ключа 111111111111?

7

Re: Работа Сигнатуры 3.6

Конечно, нет. Номера используются реальные.

8

Re: Работа Сигнатуры 3.6

Тогда надо запустить справочник сертификатов на профиле Test. Возможно истек СОС.

9 (2015-01-15 13:51:24 отредактировано hcsibir)

Re: Работа Сигнатуры 3.6

СОС не истек.
Еще вопрос есть. В программе конфигурации СКЗИ СКАД Сигнатура при попытке инициализации ДСЧ выскакивает ошибка: "Инициализация датчика случайных чисел. Ошибка 0XE0BE001F. Ошибка открытия драйвера VDCryDrv."
При этом драйвер присутствует в папке Program Files\Validata. Может быть с этим связана, постоянная ошибка проверки сертификата, возникающая независимо от профиля и параметров запуска скрипта?

К сведению, раньше была система Windows Server 2003 local.gbdm|local.pse хранились в C:\Documents and settings....
Сейчас в Windows Server 2008 они хранятся в C:\Users.... И судя по ошибке находятся сигнатурой.

10

Re: Работа Сигнатуры 3.6

Добрый день!

Ошибка возникает из-за того, что по какой-то причине не установился драйвер VDCryDrv. Попробуйте выполнить следующие действия:
1. Удалить СКЗИ
2. Перезагрузить компьютер
3. Установить СКЗИ
4. Перезагрузить компьютер

Возможно, установку драйвера блокирует антивирус. Тогда перед установкой СКЗИ нужно его отключить.

11

Re: Работа Сигнатуры 3.6

Добрый день! В соответствии с вашими рекомендациями настроили работу сигнатуры 3.6 в многопотоковом режиме.
При выполнении операции шифрования (много скриптов одновременно), в некоторых случаях возникает ошибка - [E070008B] Failed to open input file.
Хотя файл в каталоге точно присутствует (т.к. добавлена проверка наличия файла) и не занят.
Думаем это сигнатура. Чем это может быть вызвано?

12

Re: Работа Сигнатуры 3.6

Добрый день! Возможно, проблема с правами на файл. Могу посоветовать попробовать добавить в скрипт переименование файла, чтобы убедиться, что файл не занят и на его чтение/изменение достаточно прав. После этого проверить наличие переименованного файла и выполнять шифрование.

13

Re: Работа Сигнатуры 3.6

Добрый день!
Сигнатура 3.6 в многопотоковом режиме.
При выполнении операции подпись + шифрование (много обращений сразу), часть запросов отбивается с ошибкой:
Could not open local store (E070002E).
Локальное хранилище хранится в БД SQL Server 2008 Express Edition.
С чем может быть связано?
Раньше такой ошибки не возникало.

14

Re: Работа Сигнатуры 3.6

День добрый.

А какое именно приложение выполняет данные операции?
Как реализована многопоточность приложения?
Сколько именно потоков у Вас работает параллельно?

15

Re: Работа Сигнатуры 3.6

Операции выполняются запуском скрипта cmd.
"С:\Program Files\MDPREI\spki\spki1utl.exe" - sign -encrypt -in 1.txt -out 2.txt -reckeyid 111111111111 -profile Test

Скрипт вызывается одновременно 39 раз

16

Re: Работа Сигнатуры 3.6

Надо посмотреть как ведет себя SQL...

Администрирование->Источники данных ODBC на вкладке Трассировка включите пожалуйста трассировку, и пришлите мне на почту.

17

Re: Работа Сигнатуры 3.6

Трассировку включили, но файл с логами пустой

18

Re: Работа Сигнатуры 3.6

А что в pki1.conf написано?

19

Re: Работа Сигнатуры 3.6

default: Admin
local: Admin
pse: pse://signed/C:\Users\Admin\Application Data\MDPREI\scs\Admin\local.pse
localstore: ODBC://CertDB

20

Re: Работа Сигнатуры 3.6

Надеюсь, что Вы используете -profile Admin

Галку "Трассировка всех удостоверений пользователей ПК" ставить не надо.....
Затем "Пуск трассировки", по окончании теста "Останов трассировки"
SQL.log должен быть заполнен если идет работа через ODBC.

21

Re: Работа Сигнатуры 3.6

Мигрировали на сигнатуру 5.0, но подобная ошибка всё равно возникает.
В сигнатуре у нас 2 профиля:

default: Operator
local: Operator
pse: pse://signed/C:\Users\Operator\Application Data\MDPREI\scs\Operator\local.pse
localstore: ODBC://CertDB

local: Admin
pse: pse://signed/C:\Users\Administrator\Application Data\MDPREI\scs\Admin\local.pse
localstore: ODBC://CertDB

Для входа в СС используем профиль Admin.

22

Re: Работа Сигнатуры 3.6

Использовать одну базу localstore: ODBC://CertDB для разных профилей не совсем корректно.
Для разных профилей нужно использовать разные базы данных и соответственно разные ODBC соединения.

Попробуйте зайти в Администрирование->Источники данных ODBC, перейти на вкладку Трассировка, нажать кнопку "Пуск трассировки", далее выполнить тест при котором возникают ошибки, после выполнения теста нажать кнопку "Останов трассировки" и посмотреть какие ошибки будут в логе.

Вы писали "Скрипт вызывается одновременно 39 раз". Возможно, проблема возникает из-за ограничений SQL Server Express Edition на количество подключений. Можно попробовать уменьшить количество одновременных вызовов, будут ли в этом случае возникать ошибки?

23 (2016-06-16 14:02:11 отредактировано hcsibir)

Re: Работа Сигнатуры 3.6

"Можно попробовать уменьшить количество одновременных вызовов, будут ли в этом случае возникать ошибки?"
если кол-во одновременных вызовов больше 26 получаем подобные ошибки.
в БД установлено maximum number of concurrent connections 0 (unlimited)

24

Re: Работа Сигнатуры 3.6

По технологии у нас локальное хранилище local.gbdm общее, файлы local.pse разные.
т.е
для профиля 1 - ODBC://CertDB1
для профиля 2 - ODBC://CertDB2
при этом CertDB1=CertDB2?

25

Re: Работа Сигнатуры 3.6

hcsibir пишет:

По технологии у нас локальное хранилище local.gbdm общее, файлы local.pse разные.

Это неправильная технология.... так делать нельзя!

И все таки, хочется увидеть протокол трассировки ODBC.