Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #4  
Старый 08.09.2013, 15:44
SeregaZ SeregaZ вне форума
Прохожий
 
Регистрация: 08.09.2013
Сообщения: 1
Версия Delphi: PB
Репутация: 10
По умолчанию

странный у вас форум... хотел постануть в подходящей теме, однако меня отбрили, так как тема якобы устарела. зашибись. вопрос по сертификатам, точнее получения одного свойства из сертификата:

нужен план получения нужного значения из сертификата, то есть цепочка команд друг за другом какие должны быть.

преамбула: у сертификатов есть определенные политики применения. например - идентификация клиента на сервере - oid 1.3.6.1.5.5.7.3.2. они, насколько я понял, читаются из поля "улучшенный ключ командой CertGetEnhancedKeyUsage - она возвращает массив этих oid, которые имеются у этого сертификата. этот момент я написал и работает, я доволен. НО! в случае когда у сертификата стоит свойство - "Все политики применения", то фактически поле "улучшенный ключ" у сертификата отсутствует, и соответственно моя команда CertGetEnhancedKeyUsage не будет работать, возвращает 0 и все тут.

вот собственно вопрос - каким образом мне получить свойство "Все политики применения"? какой порядок команд должен быть?

сейчас:
1. CertOpenSystemStore - открываем нужное хранилище в системе, например мои личные сертификаты.
2. CertEnumCertificatesInStore - гоняем в цикле по хранилищу, получая каждый сертификат в отдельности
3. CertGetEnhancedKeyUsage - первый раз получаем размер массива
4. CertGetEnhancedKeyUsage - второй раз получаем уже сам массив
5. читаем этот массив гоняя в цикле количества элементов.
6. CertCloseStore - закрываем хранилище

это краткий план получения oid 1.3.6.1.5.5.7.3.2 - "идентификация клиента на сервере", вот мне нужен точно такой-же, но для получения флага "Все политики применения". то есть что-то типа:
1. CertOpenSystemStore - открываем нужное хранилище в системе, например мои личные сертификаты.
2. CertEnumCertificatesInStore - гоняем в цикле по хранилищу, получая каждый сертификат в отдельности
3. CertGetEnhancedKeyUsage - если размер ноль, значит нужно искать "все политики"
4. блаблабла - эта самая команда для всех политик
5. CertCloseStore - закрываем хранилище
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:24.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025