| ||||
| ||||
Здравствуйте, УЦ версии 1.3, с помощию утилитки CaCertReq.exe (v 1.3) генерю запрос, используя только параметр -policy. Дальше несу запрос на другой УЦ и спомощью АРМа админа создаю пользователя и сертификат. Потом на первом УЦ делаю замену ключей, и снова повторяю прочедуру кросс сертификации. Однако, в этом случай, на втором УЦ, так как юзер уже создан, просто создаю сертификат, с чтением запроса из файла. Но в этом случае сертификат не выдаеться, причем выкидывает ЦС, с ошибкой : COM+ ЦС Description = модуль политики отверг запрос. Подскажите пожалуйста, с чем это может быть связано? И не не могли бы вы выслать CaCertReq.exe версии 1.2 ? Заранее спасибо. | ||||
Ответы: | ||||
| ||||
в evetnlog на ЦС должно быть сообщение с расшифровкой, почему модуль политики отверг запрос. | ||||
| ||||
в логе пишется следующее: Службы сертификации отклонили запрос 35 по причине При обработке сертификата произошла неизвестная ошибка. 0x80090327 (-2146893017). Запрос был на CN=Tomb of the Mutilated, OU=MORG, O=Grematory, L=SPb, S=SPb, C=RU, E=samunov@spectrudc.ru. Дополнительная информация: Модуль политики отверг запрос. Все таки, меня терзают смутные сомнения, что дело все в утилитке, просто очень похожее было пол года назад, и замена утилики решила проблема. Но, по неосторожности, я ее снес :( . | ||||
| ||||
Мы недавно еще раз проверяли кросс-сертификацию. Все было ОК. Дело не в утилитке. А какой у Вас билд 1.03? В любом случае обратитесь на support@cryptopro.ru. (что бы у нас task изродился :-) | ||||
| ||||
в соседнем сообщении в логе м.б. написано подробнее о причине отклонения. | ||||
| ||||
Версия ЦС 1.3.0417 | ||||
| ||||
VBRuntime выдает: The VB Application identified by the event source logged this Application CAPolicy: Thread ID: 1080 ,Logged: Ошибка при обработке запроса на сертификат модулем политики: Источник: Microsoft OLE DB Provider for SQL Server Номер: 0x80040E2F (-2147217873) Описание: Violation of PRIMARY KEY constraint ’PK_CAPublicKey’. Cannot insert duplicate key in object ’CAPublicKey’. MSSOAP: Soap error: Executing method GetCertificate failed. | ||||
| ||||
Понятно - в сообщении говорится, что сертификат с таким же значением открытого ключа (что и в запросе) уже (ранее) был выпущен на этом ЦС. Поэтому и не удаётся выдать новый сертификат (т.к. в нашем УЦ, в отличие от MS CA, есть контроль уникальности открытых ключей сертификатов - это требование законодательства). По-видимому, при создании запроса на новый кросс-сертификат был использован старый сертификат Вашего УЦ (или при смене Вы использовали тот же контейнер ключа). В первом случае нужно просто сохранить действующий (новый) сертификат УЦ в файл и подсунуть его утилите CaCertReq.exe. | ||||