| ||||
| ||||
Ситуация: Централизованная регистрация пользователей и выпуск сертификатов. В связи со сменой адресов нужно по новой завести двух пользователей. Отзываю у первого сертификат с причиной "Прекращение работы", подтверждаю запрос. Сертификат из списка пропадает, пользователя удаляю. Все отлично. Со вторым пользователем интереснее. Делаю отзыв. Подтверждаю его. Результат (уже восстановленный пао журналу): Application uses a value of the wrong type for the current operation. (0xD5D). Сертификат из списка не исчезает, дальнейшие попытки сделать запрос на отзыв и подтвердить его спотыкаются об "Отзываемый сертификат уже отозван. (0x80004005)". Выпустил для этого же пользователю еще один сертификат, с ним ситуация полностью аналогичная. причем при попытки посмотреть свойства отзыва сертификата получаю ошибку: "Номер: 438 Источник: CRAdmin2 Описание: Object doesn't support this property or method" Это чего-то с БД не так? Судя по id запросов, я сначала подал запрос на отзыв для сертификата второго многострадального пользователя, затем для первого. Ну а одобрял в обратном порядке. Т.е. сейчас у меня висят отклоненными запросы с id=1,3,4.... А одобренных запросов не показываается вообще. Какие будут мысли по устранению подобной неприятности? | ||||
Ответы: | ||||
| ||||
Вопросы: 1) версия и номер сборки компонентов КриптоПро УЦ - ЦС, ЦР, АРМ 2) версия БД ЦР 3) используется MSDE или SQL-сервер 4) в MS CA этот сертификат есть среди отозванных? | ||||
| ||||
1) ЦР, ЦС и АРМ -- все версии 1.04.0661 2) Версия БД ЦР -- 1.108 3) Используется MSDE из поставки УЦ. 4) В MS CA оба выпущенных сертификата отсутствуют. | ||||
| ||||
И еще вот что обнаружилось, в логах на машине УЦ\ЦР (оба находсятя на одном сервере) появились следующие события: Source: VBRuntime The VB Application identified by the event source logged this Application Registration: Thread ID: 3416 ,Logged: Ошибка в методе RevokeRequest.AcceptRequest: (0xD5D) Application uses a value of the wrong type for the current operation. и Source: MSSOAP Soap error: Executing method AcceptRequest failed. | ||||
| ||||
Посмотрите список OID-ов в поле "Улучшенный ключ" этого сертификата - все они есть среди разрешённых для роли, под которой отзывается сертификат на АРМе? Для этого на сервере ЦР - Параметры ЦР - Свойства "ЦР на веб..." - Политики - Обработка запросов на отзыв - для нужной роли - Изменить | ||||
| ||||
Да. У нас стандартная лицензия, рли в политике по-умолчанию: Администратор, оператор, пользователь. Отзыв осуществлялся под ролью Администратор. | ||||
| ||||
Прошу прощения, ввел Вас в заблуждение: первоначальный отзыв был с причиной "Сертификат заменен", после того, как я понял, что причина неверна, отказал в запросе и после этого уже создал второй запрос с причиной "Прекращение работы". После этого одобрения не получается. Кстати это номрально, что одобренный запрос с id=2 (для другого пользователя) исчез из списка и не показывается никак, все фильтры отключены, выборка стоит "Все запросы"? | ||||
| ||||
Если пользователь удаляется, удаляется всё, что с ним связано - все его запросы, сертификаты. Не удаляются только записи в Журнале ЦР. По поводу отзыва. Попробуйте поставить более новый билд ЦР: http://www.cryptopro.ru/cryptopro/download/2B777CD1-7012-4855-BF85-7F43FA01A8BF/14/680/RA.msi | ||||
| ||||
И не только RA, также и CA с АРМ Администратора | ||||
| ||||
А утилиты ЦР и ЦС нужно менять или пока не нужно генерировать ключи ЦР и ЦС можно обойтись без них? | ||||
| ||||
Не нужно, и ключи генерировать тоже не нужно. | ||||
| ||||
После установки новых весрий, стало получше: можно посмотреть свойства отзыва, но по-прежнему, при одобрении отзыва возникает ошибка: "Ошибка номер: -2147467259 Источник: RegistrationCenter Описание: The parameter is incorrect." Сделал отказ в отзыве. Делаю попытку отозвать старый (один из 2х сертификат) у все того же пользователя, получаю ту же самую ошибку, но (!) в очерди появляется запрос на отзыв. При одобрении возникает опять -2147467259... Все это очень напоминает нарушение целостности базы. Может быть наиболее простым решением будет руками вычистить в базах ЦР и ЦС пользователя и всего, что с ним связано? Время поджимает, расчитывали уже вовсю эксплуатировать ЦС. хочется, быть может не "красивого", но быстрого решения. | ||||
| ||||
Если нужно срочно - можете просто создать новую базу ЦР, она будет вообще чистой. Второе - с сайта Вы скачивали какую версию? Последняя - 1.04.0684 | ||||
| ||||
Устанавливал 1.04.0680, ссылку на который Вы давали. Да можно вобщем-то и резервную копию базы восстановить, это гораздо лучше, но в текущей базе есть несколько новых пользователей, которым разосланы ключи... Попробую более свежий билд. | ||||
| ||||
С 864 билдом ситуация кардинально не изменилась: Ошибка номер: -2147467259 Источник: Request.RevokeCertificate Описание: Отзываемый сертификат уже отозван. | ||||
| ||||
"Отзываемый сертификат уже отозван" - а это правда (с точки зрения MS CA)? | ||||
| ||||
Да, в списке отозванных MS CA все 3 сертификата, для которых я пытался сделать отзыв присутствуют. Для проблемного пользователя один сертификат с причиной Superseded, второй -- Cease Operation. | ||||
| ||||
Только что успешно удалил другого пользователя. При отзыве сертификата, сам отзыв был автоматически одобрен, сертификат исчез, пользователь легко и непринужденно удалился... Может чего в базе все-таки поковырять? :) | ||||
| ||||
Я думаю, проще всего будет поменять статус сертификатов этого пользователя, после чего отклонить необработанные запросы (если остались) и сразу удалить этого пользователя. MS SQL Enterprise Manager - база ЦР - Views - UserCertificate - поле "StateID" - поменять для нужных сертификатов на 2. | ||||
| ||||
Ура, это сработало! Спасибо! | ||||