Статус: Активный участник
Группы: Участники
Зарегистрирован: 19.02.2013(UTC) Сообщений: 30  Сказал(а) «Спасибо»: 1 раз
|
Hi All,
По какому принципу работает функция CertGetIssuerCertificateFromStore, т.е. как она определяет что для переданного ей пользовательского сертификата в хранилищах (CA,ROOT) на текущем компе есть сертификат издателя ?
Скажем берет эта функция из сертификата пользователя поле pCertContext.pCertInfo.Issuer и начинает искать в переданных ей хранилищах сертификат у которого владелец равен pCertContext.pCertInfo.Issuer и если находит то делает проверки в соответствии с переданными ей флагами ? Или она ищет сертификат у которого владелец равен издателю и равен pCertContext.pCertInfo.Issuer ?
Или она это определяет еще как то ?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Еще есть в сертификатах "Идентификатор ключа ЦС" = хеш открытого ключа, по которому возможно сравнение |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 19.02.2013(UTC) Сообщений: 30  Сказал(а) «Спасибо»: 1 раз
|
Автор: Андрей *  Еще есть в сертификатах "Идентификатор ключа ЦС" = хеш открытого ключа, по которому возможно сравнение "Идентификатор ключа ЦС" это какое то поле в структуре CERT_INFO ? У меня Win7. Вызываю certmgr (менеджер сертификатов установленных на компе). Но там я такого параметра не вижу. Может я не туда смотрю или нужен другой менеджер ? Это сравнение я должен делать сам или это делают CryptoAPI функции ? И все таки хотелось бы понять, по какому принципу работает CertGetIssuerCertificateFromStore ...
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Открыть сертификат пользователя, вкладка Состав, поле "Идентификатор ключа центра сертификации" будет совпадать с "Идентификатор ключа субъекта" в сертификате ЦС
|
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
|
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 19.02.2013(UTC) Сообщений: 30  Сказал(а) «Спасибо»: 1 раз
|
Автор: Андрей *  Открыть сертификат пользователя, вкладка Состав, поле "Идентификатор ключа центра сертификации" будет совпадать с "Идентификатор ключа субъекта" в сертификате ЦС
Ага, у меня в сертификатах таких полей нет. Из подобных полей у меня там только есть поле "Отпечаток" (это как я понимаю хеш сертификата). Возможно поэтому CertGetIssuerCertificateFromStore и не работает. P.S. Я создавал самопальный сертификат (пользователя и издателя) основываясь на статье http://citforum.ru/security/articles/delphi/для обучения работы с сертификатами (реальных сертификатов мне взять пока не откуда).
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Автор: Stalker4  Автор: Андрей *  Открыть сертификат пользователя, вкладка Состав, поле "Идентификатор ключа центра сертификации" будет совпадать с "Идентификатор ключа субъекта" в сертификате ЦС
Ага, у меня в сертификатах таких полей нет. Из подобных полей у меня там только есть поле "Отпечаток" (это как я понимаю хеш сертификата). Возможно поэтому CertGetIssuerCertificateFromStore и не работает. P.S. Я создавал самопальный сертификат (пользователя и издателя) основываясь на статье http://citforum.ru/security/articles/delphi/для обучения работы с сертификатами (реальных сертификатов мне взять пока не откуда). Поэтому и нет... p.s. Кстати, алгоритм открытого ключа какой? |
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Автор: Stalker4  Как это не откуда? Есть тестовый УЦ ( http://cryptopro.ru/certsrv/ - открывать в IE) если речь о ГОСТ или RSA - алгоритмах в сертификате ... Насчет алгоритма по ДСТУ 4145-2002 - не могу посоветовать... Отредактировано пользователем 27 февраля 2013 г. 19:43:30(UTC)
| Причина: link |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 19.02.2013(UTC) Сообщений: 30  Сказал(а) «Спасибо»: 1 раз
|
Автор: Андрей *  Автор: Stalker4  Автор: Андрей *  Открыть сертификат пользователя, вкладка Состав, поле "Идентификатор ключа центра сертификации" будет совпадать с "Идентификатор ключа субъекта" в сертификате ЦС
Ага, у меня в сертификатах таких полей нет. Из подобных полей у меня там только есть поле "Отпечаток" (это как я понимаю хеш сертификата). Возможно поэтому CertGetIssuerCertificateFromStore и не работает. P.S. Я создавал самопальный сертификат (пользователя и издателя) основываясь на статье http://citforum.ru/security/articles/delphi/для обучения работы с сертификатами (реальных сертификатов мне взять пока не откуда). Поэтому и нет... p.s. Кстати, алгоритм открытого ключа какой? В качестве криптопровайдера я использовал Microsoft Enhanced Cryptographic Provider v1.0 Длина ключа 1024. Алгоритм открытого ключа - RSA (CryptAcquireContext с параметром PROV_RSA_FULL). Цитата:Как это не откуда? Есть тестовый УЦ ( http://cryptopro.ru/certsrv/ - открывать в IE) если речь о ГОСТ или RSA - алгоритмах в сертификате ... Насчет алгоритма по ДСТУ 4145-2002 - не могу посоветовать... Для тренировки мне и RSA годиться. Кстати при заходе на эту страницу, IE заругался что мне комп хочет установиться какой то ActiveX. Я так понимаю мне его надо разрешить установить ? На странице "Расширенный запрос сертификата" в строке "Type of Certificate Needed" есть разные варианты сертификата. Где бы про них почитать ? Особенно меня интересует чем отличаются "Сертификат проверки подлинности клиента", "Сертификат подписи кода" и "Сертификат подписи штампа времени" ?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Насчет тестового УЦ: Для корректной проверки подписи ЦС (она по ГОСТ) в выданном сертификате (ГОСТ или RSA) нужен CSP с поддержкой ГОСТ (например, КриптоПРО CSP) Для возможности генерации ключевой пары\отправки запроса\установки сертификата используется ActiveX - поэтому его необходимо разрешить... вкратце : Сертификат проверки подлинности клиента - для пользователей (ЭЦП\Шифрование) Сертификат подписи кода - для разработчиков, для подписания приложений (в свойствах файла (.exe и т.п) - появится вкладка Цифровые подписи) Сертификат подписи штампа времени - для сертификата сервиса (TSP) Пользователь Андрей * прикрепил следующие файлы:  подпись кода.png (123kb) загружен 12 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться. |
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close