Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline cybermerlin  
#1 Оставлено : 12 марта 2010 г. 18:28:35(UTC)
cybermerlin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 28.10.2009(UTC)
Сообщений: 121

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 3 раз в 3 постах
подскажите пожалуйста, как Вы решили вопрос с получением некорректных данных этой функцией?
Код:

              ICertServerExit certServerExit = new CCertServerExit();
              certServerExit.SetContext(Context);
              var RawCRL = certServerExit.GetCertificateProperty( "RawCRL.0", crypt.PROPTYPE_BINARY);

в справке к функции написано, что функция возвращает данные формата DER. На практике там набор непонятного мусора.Boo hoo!
Offline pre  
#2 Оставлено : 15 марта 2010 г. 12:08:29(UTC)
pre

Статус: Эксперт

Группы: Участники
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 7
Мужчина
Откуда: Крипто-Про

Нигде в справке не нашел, чтобы там шла речь про DER. Может быть, возвращается строка Base-64?
Offline cybermerlin  
#3 Оставлено : 15 марта 2010 г. 13:50:51(UTC)
cybermerlin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 28.10.2009(UTC)
Сообщений: 121

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 3 раз в 3 постах
не может быть... Boo hoo!
http://msdn.microsoft.co...ary/aa385074(VS.85).aspx
Цитата:
pvarPropertyValue

A pointer to a VARIANT that will contain the property value. The returned value is encoded as a BSTR. Use the SysStringByteLen function to retrieve the length of the BSTR. The binary BLOB is stored as a Distinguished Encoding Rules encoded X.509 certificate.
Offline cybermerlin  
#4 Оставлено : 19 марта 2010 г. 18:11:38(UTC)
cybermerlin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 28.10.2009(UTC)
Сообщений: 121

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 3 раз в 3 постах
хоть какой-н ответ по теме отпишите пожалуйста, понимаю что времени мало...
Offline Kirill Sobolev  
#5 Оставлено : 22 марта 2010 г. 15:13:47(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,732
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
ЕМНИП, CRL нумеруются не с 0, а с 1 - попробуйте получить "RawCRL.1".
Техническую поддержку оказываем тут
Наша база знаний
Offline cybermerlin  
#6 Оставлено : 22 марта 2010 г. 15:51:05(UTC)
cybermerlin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 28.10.2009(UTC)
Сообщений: 121

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 3 раз в 3 постах
1-
Цитата:
RawCRL
Binary
CA's certificate revocation list (CRL).
This property name may be appended with '.#', where # represents a CA certificate index (or, in the case of the CRLSuffix property, a CRL index). For information about certificate and CRL indices, see Certification Authority Renewal.


http://msdn.microsoft.co...ary/aa376550(VS.85).aspx
Цитата:
You can retrieve the indexed CA certificates and CRLs by calling the GetCertificateProperty method (in both the ICertServerExit and ICertServerPolicy interfaces). When you retrieve certain properties related to the CA certificate or CRL, you can append the CA certificate's zero-based index to the property names. For example, to retrieve the CRL index that corresponds to the CA's third certificate, pass the property "CRLIndex.2" to ICertServerPolicy::GetCertificateProperty; for the table, the retrieved "CRLIndex.2" property value would be 1. A property called "CertCount" can be used to determine the number of times the CA has been issued a CA certificate.

таблица находится там же по ссылке.
CertCount вернул "1";
2- так как Индекс может быть добавлен (при желании), я убрал его совсем (т.к. CertCount=1), чтоб не смущать ни вас ни себя и не отвлекаться пока на индексы :) = получаю тот же мусор

Отредактировано пользователем 22 марта 2010 г. 16:27:27(UTC)  | Причина: Не указана

Offline cybermerlin  
#7 Оставлено : 12 апреля 2010 г. 17:13:06(UTC)
cybermerlin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 28.10.2009(UTC)
Сообщений: 121

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 3 раз в 3 постах
вопрос еще активен
Anxious
Offline cybermerlin  
#8 Оставлено : 13 апреля 2010 г. 20:14:54(UTC)
cybermerlin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 28.10.2009(UTC)
Сообщений: 121

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 3 раз в 3 постах
т.е. решения пока, кроме редактирования и пересборки CERTCLIENT.dll, нет? =-O
Offline cybermerlin  
#9 Оставлено : 21 марта 2011 г. 13:08:26(UTC)
cybermerlin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 28.10.2009(UTC)
Сообщений: 121

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 3 раз в 3 постах
CERTCLIENT.dll - пришлось на il подправить и все заработало.

спустя некоторое время у меня возник другой вопрос, как получить Delta CRL в этом же модуле выхода.
событие Notify происходит, контекст я ловлю, могу получить сертификат и сам СОС, а вот Дельту получить у меня не получается.
СОС я получаю certServerExit.GetCertificateProperty( "RawCRL"/* тут можно добавить индекс .# или суфикс */, crypt.PROPTYPE_BINARY, varObjPtr );
а вот для дельты этот метод, как понимаю, не подходит... или все-таки есть способ? не лезть же через certAdmin ... и сомневаюсь что у меня будут нужные права, чтоб из модуля выхода туда обратиться.
подскажите пожалуйста выход из сложившейся ситуёвинки.. :)
Offline Kirill Sobolev  
#10 Оставлено : 21 марта 2011 г. 16:34:39(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,732
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Цитата:
не лезть же через certAdmin

аналогичные методы есть в ICertRequest2
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.