Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
подскажите по проблеме импорта сертификата в браузер
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,752   Сказал «Спасибо»: 579 раз Поблагодарили: 2307 раз в 1807 постах
|
Автор: SeregaZ  судя по теме http://www.cryptopro.ru/...sts&t=1978#post10376 то команда CertGetCertificateContextProperty то, что мне надо. как писала Казакова при отсутствии свойства "есть закрытый ключ" функция возвращала 0. однако по этой функции теперь есть вопросы. что за параметры следует в ней указывать? BOOL WINAPI CertGetCertificateContextProperty( _In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwPropId, _Out_ void *pvData, _Inout_ DWORD *pcbData ); с первым понятно. второй там куча констант - какая именно из всего списка мне нужна? третья вроде как может быть #Null, четвертое не совсем понятно... Предлагаю посмотреть MSDN |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.06.2012(UTC) Сообщений: 65 Откуда: Almaty, KZ
|
там и смотрел, что несколько не понятно :) нашлась тема здесь: http://www.cryptopro.ru/...pro/forum/view.asp?q=963использовал оттуда CertGetCertificateContextProperty(pCertContext, CERT_KEY_PROV_INFO_PROP_ID, NULL, &dwSize) однако Михаил пишет что эта функция вроде как у него работает не верно. я пока погонял - вроде нормально пашет... на всех сертификатах 1, а на том заковыристом 0. то что мне надо, однако тот факт что Михаил остался не очень доволен работой функции настораживает. насколько его доводы реальны?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,752   Сказал «Спасибо»: 579 раз Поблагодарили: 2307 раз в 1807 постах
|
Автор: SeregaZ  там и смотрел, что несколько не понятно :) нашлась тема здесь: http://www.cryptopro.ru/...pro/forum/view.asp?q=963использовал оттуда CertGetCertificateContextProperty(pCertContext, CERT_KEY_PROV_INFO_PROP_ID, NULL, &dwSize) однако Михаил пишет что эта функция вроде как у него работает не верно. я пока погонял - вроде нормально пашет... на всех сертификатах 1, а на том заковыристом 0. то что мне надо, однако тот факт что Михаил остался не очень доволен работой функции настораживает. насколько его доводы реальны? Это его проблемы. Сотрудники КриптоПРО ему все описали. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.06.2012(UTC) Сообщений: 65 Откуда: Almaty, KZ
|
еще момент: постоянен ли порядок нахождения сертификатов в хранилище? поясняю: порой в системе два-три сертификата с одинаковым названием. моя программа, думаю, покажет их все - но по клику мышкой удалит первый попавшийся с этим именем. то есть в хранилище будет произведен поиск и удаление сертификата по имени как только будет первое совпадение. что не сколько не верно... думаю следует сделать удаление по номеру нахождения в хранилище, типа раз он шел пятым, то надо удалить пятый номер, а не по названию сертификата. однако если порядок каждый раз разный, то такая система приведет к удалению не тех сертификатов :)
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,752   Сказал «Спасибо»: 579 раз Поблагодарили: 2307 раз в 1807 постах
|
Автор: SeregaZ  еще момент: постоянен ли порядок нахождения сертификатов в хранилище? поясняю: порой в системе два-три сертификата с одинаковым названием. моя программа, думаю, покажет их все - но по клику мышкой удалит первый попавшийся с этим именем. то есть в хранилище будет произведен поиск и удаление сертификата по имени как только будет первое совпадение. что не сколько не верно... думаю следует сделать удаление по номеру нахождения в хранилище, типа раз он шел пятым, то надо удалить пятый номер, а не по названию сертификата. однако если порядок каждый раз разный, то такая система приведет к удалению не тех сертификатов :) Для однозначной идентификации лучше использовать отпечаток сертификата (thumbprint) |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.06.2012(UTC) Сообщений: 65 Откуда: Almaty, KZ
|
пока отложил момент с thumbprint и решил добавить к функционалу настройки браузера для работы с системой регистрацию 4 сертификатов, которые регистрируются когда запускается апплет настройки на сайте. сами эти сертификаты экспортировал из системы. вот теперь вопрос по регистрации да и самом типе экспорта. какой тип экспорта лучше выбрать? там три доступны: Файлы в DER-кодировке X.509(.CER) Файлы в Base64-кодировке X.509(.CER) Стандарт Cryptografic Message Syntax - сертификаты PKCS #7(.p7b) (если этот вариант, то помечать ли галку "Включить по возможности все сертификаты в путь сертификата") четвертый вариант PFX - тот, что нужен, - не доступен. ранее я писал функцию по регистрации RSA.p12 сертификатов и там здорово подошла функция PFXImportCertStore. однако с .CER и .p7b она не работает. какую команду мне следует использовать для чтения такого типа сертификатов? о! CryptQueryObject? правильно? Отредактировано пользователем 2 сентября 2013 г. 15:28:58(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.06.2012(UTC) Сообщений: 65 Откуда: Almaty, KZ
|
thumbprint в моей структуре PCERT_INFO что-то не наблюдается, зато есть графа серийный номер - я так полагаю что она уникальная и можно по ней производить поиск и удалять именно тот сертификат, который я выбрал для удаления. однако что-то я малость не понимаю как его читать... через certmgr.msc видно, что серийный номер 20 символов, точнее 20 пар символов. в структуре PCERT_INFO для серийного номера имеются два значения - одно я полагаю размер, а второе указатель где он собственно лежит. размер показывает 20 - теория пока подтверждается, а вот коим образом теперь читать второй параметр? мне абру кадабру показывает из 20 символов: ]HT›ЗAm Ipџя‰Єo# (какие-то символы будут съеденены браузером, но в общем их 20. кодировки перебирал - не подходит)
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,752   Сказал «Спасибо»: 579 раз Поблагодарили: 2307 раз в 1807 постах
|
Автор: SeregaZ  thumbprint в моей структуре PCERT_INFO что-то не наблюдается, зато есть графа серийный номер - я так полагаю что она уникальная и можно по ней производить поиск и удалять именно тот сертификат, который я выбрал для удаления. однако что-то я малость не понимаю как его читать... через certmgr.msc видно, что серийный номер 20 символов, точнее 20 пар символов. в структуре PCERT_INFO для серийного номера имеются два значения - одно я полагаю размер, а второе указатель где он собственно лежит. размер показывает 20 - теория пока подтверждается, а вот коим образом теперь читать второй параметр? мне абру кадабру показывает из 20 символов: ]HT›ЗAm Ipџя‰Єo# (какие-то символы будут съеденены браузером, но в общем их 20. кодировки перебирал - не подходит) rfc5280 Serial NumberИтого - вывести в hex и будет то, что нужно |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,752   Сказал «Спасибо»: 579 раз Поблагодарили: 2307 раз в 1807 постах
|
Автор: SeregaZ  thumbprint в моей структуре PCERT_INFO что-то не наблюдается Функция CertGetCertificateContextProperty с CERT_SHA1_HASH_PROP_ID поможет |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.06.2012(UTC) Сообщений: 65 Откуда: Almaty, KZ
|
оказывается он просто задом наперед записан :) спасибо.
|
|
|
|
Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
подскажите по проблеме импорта сертификата в браузер
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close