27.04.2005 15:13:33Резевное копирование ЦС? Ответов: 6
Vadim_K
Случилась ситуация - во время обработки запроса на сертификат произошел сбой УЦ (если интересно, причину могу расписать - это отдельная фича) в результате которого пользователь создался, а запрос на сертификат остался недообработанным (запрос есть, а сертификата нет). Попытки обработать этот сертификат приводят к тому, что в журнале событий на ЦС появляется запись -
Ошибка при обработке запроса на сертификат модулем политики:
...
Описание: Открытый ключ из пришедшего запроса уже существует в БД ЦС.

У меня весь УЦ регулярно бакапится согласно документу "ЖТЯИ.00009-01 90 08. КриптоПро УЦ. Руководство администратора баз данных.", поэтому, после некоторых раздумий, я беру другой документ под названием "КриптоПро УЦ. Руководство по восстановлению работоспособности компонент." и по разделам 1.7 и 2.9 восстанавливаю базы ЦС и ЦР из сделанного накануне архива.
Пользователь и относящиеся к нему запросы исчезают бесследно (по крайней мере в АРМе Администратора их не видно), но вот воспользоваться старым запросом на сертификат я по прежнему не могу, та же ошибка "Открытый ключ .. уже существует в БД ЦС" и вновь созданный пользователь и необработанный запрос.
Судя по всему информация об этом открытом ключе легла в базу crypto_pro_ca_db на ЦС, про резервное копирование которой нигде ничего не написано.
Вопрос: Могу ли я каким нибудь образом обработать уже имеющийся у меня запрос или его придется переделывать? Насколько критичная информация содержится в crypto_pro_ca_db, и не надо ли ее все же бакапить, например при переносе всего УЦ на новое железо?
 
Ответы:
28.04.2005 10:40:24Василий
Зачем такие сложности?
Как только случилась эта ситуация, до плясок с восстановлением с бэкапов:
Так как пишется, что такой ключ существует в БД ЦС, значит, сертификат выпустился на ЦС. Нужно зайти в MS CA (Пуск - программы - администрирование - Центр сертификации - Выданные сертификаты), найти этот сертификат (он, очевидно, последний), открыть его, сохранить в файл, принести файл на ЦР и воспользоваться нашим мастером "Восстановить выпущенный сертификат".

Далее, в Вашей ситуации - если восстановлена БД MS CA с бэкапа, то можно сделать следующее: Удалить ПО "КриптоПро ЦС", удалить базу crypto_pro_ca_db (средствами SQL Enterprise Manager или можно снести весь MSDE и удалить файлы БД), потом установить ПО "КриптоПро ЦС". При этом база будет вновь создана и заполнится из БД MS CA.
28.04.2005 13:56:44Vadim_K
Спасибо за подсказку. Так всё и сделали. Правда первоначально при вызове мастера выскакивала ошибка

Run-time error ’339’
Component ’msflxgrd.ocx’ or one of its dependencies not correctly registered: a file is missing or invalid.

Поиск по диску показал, что этот файл есть только в каком-то CAB’е, который был записан в систему вместе с SP4, однако этот файл был обнаружен в системе на машине с АРМом Администратора, к тому же более свежий, откуда и был перенесен на ЦР. После этого все сработало. На дистрибутивном диске УЦ именно этот файл лежит тоже, но только в папочке, откуда ставится АРМ Администратора. Вот так.
28.04.2005 16:46:44Василий
А о какой версии (с номером сборки) ПО КриптоПро ЦР идёт речь?
30.04.2005 19:01:04Vadim_K
Если мне не изменяет память, то 212. Вы сами мне ещё исправленную dll’ку переноса CRL’ей с ЦС на ЦР почтой досылали.
03.05.2005 7:21:45Vadim_K
Посмотрел прямо на месте - 1.02.0212
03.05.2005 13:18:20Василий
Понятно. В более новой версии УЦ 1.03.0429 такой проблемы не отмечено.