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

Уведомление

Icon
Error

14 Страницы«<910111213>»
Опции
К последнему сообщению К первому непрочитанному
Offline Андрей Писарев  
#101 Оставлено : 1 сентября 2013 г. 12:45:45(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 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
Техническую поддержку оказываем тут
Наша база знаний
Offline SeregaZ  
#102 Оставлено : 1 сентября 2013 г. 12:58:45(UTC)
SeregaZ

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

Группы: Участники
Зарегистрирован: 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. то что мне надо, однако тот факт что Михаил остался не очень доволен работой функции настораживает. насколько его доводы реальны?
Offline Андрей Писарев  
#103 Оставлено : 1 сентября 2013 г. 13:03:32(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 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. то что мне надо, однако тот факт что Михаил остался не очень доволен работой функции настораживает. насколько его доводы реальны?


Это его проблемы.
Сотрудники КриптоПРО ему все описали.
Техническую поддержку оказываем тут
Наша база знаний
Offline SeregaZ  
#104 Оставлено : 1 сентября 2013 г. 13:10:46(UTC)
SeregaZ

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

Группы: Участники
Зарегистрирован: 23.06.2012(UTC)
Сообщений: 65
Откуда: Almaty, KZ

еще момент: постоянен ли порядок нахождения сертификатов в хранилище?
поясняю: порой в системе два-три сертификата с одинаковым названием. моя программа, думаю, покажет их все - но по клику мышкой удалит первый попавшийся с этим именем. то есть в хранилище будет произведен поиск и удаление сертификата по имени как только будет первое совпадение. что не сколько не верно... думаю следует сделать удаление по номеру нахождения в хранилище, типа раз он шел пятым, то надо удалить пятый номер, а не по названию сертификата. однако если порядок каждый раз разный, то такая система приведет к удалению не тех сертификатов :)
Offline Андрей Писарев  
#105 Оставлено : 1 сентября 2013 г. 13:15:01(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,752
Мужчина
Российская Федерация

Сказал «Спасибо»: 579 раз
Поблагодарили: 2307 раз в 1807 постах
Автор: SeregaZ Перейти к цитате
еще момент: постоянен ли порядок нахождения сертификатов в хранилище?
поясняю: порой в системе два-три сертификата с одинаковым названием. моя программа, думаю, покажет их все - но по клику мышкой удалит первый попавшийся с этим именем. то есть в хранилище будет произведен поиск и удаление сертификата по имени как только будет первое совпадение. что не сколько не верно... думаю следует сделать удаление по номеру нахождения в хранилище, типа раз он шел пятым, то надо удалить пятый номер, а не по названию сертификата. однако если порядок каждый раз разный, то такая система приведет к удалению не тех сертификатов :)


Для однозначной идентификации лучше использовать отпечаток сертификата (thumbprint)
Техническую поддержку оказываем тут
Наша база знаний
Offline SeregaZ  
#106 Оставлено : 2 сентября 2013 г. 13:42:14(UTC)
SeregaZ

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

Группы: Участники
Зарегистрирован: 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)  | Причина: Не указана

Offline SeregaZ  
#107 Оставлено : 2 сентября 2013 г. 23:29:47(UTC)
SeregaZ

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

Группы: Участники
Зарегистрирован: 23.06.2012(UTC)
Сообщений: 65
Откуда: Almaty, KZ

thumbprint в моей структуре PCERT_INFO что-то не наблюдается, зато есть графа серийный номер - я так полагаю что она уникальная и можно по ней производить поиск и удалять именно тот сертификат, который я выбрал для удаления. однако что-то я малость не понимаю как его читать... через certmgr.msc видно, что серийный номер 20 символов, точнее 20 пар символов. в структуре PCERT_INFO для серийного номера имеются два значения - одно я полагаю размер, а второе указатель где он собственно лежит. размер показывает 20 - теория пока подтверждается, а вот коим образом теперь читать второй параметр? мне абру кадабру показывает из 20 символов:
]HT›ЗAm Ipџя‰Єo#
(какие-то символы будут съеденены браузером, но в общем их 20. кодировки перебирал - не подходит)
Offline Андрей Писарев  
#108 Оставлено : 3 сентября 2013 г. 7:55:21(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 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 и будет то, что нужно
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#109 Оставлено : 3 сентября 2013 г. 8:18:49(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,752
Мужчина
Российская Федерация

Сказал «Спасибо»: 579 раз
Поблагодарили: 2307 раз в 1807 постах
Автор: SeregaZ Перейти к цитате
thumbprint в моей структуре PCERT_INFO что-то не наблюдается

Функция CertGetCertificateContextProperty с CERT_SHA1_HASH_PROP_ID поможет
Техническую поддержку оказываем тут
Наша база знаний
Offline SeregaZ  
#110 Оставлено : 3 сентября 2013 г. 10:28:33(UTC)
SeregaZ

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

Группы: Участники
Зарегистрирован: 23.06.2012(UTC)
Сообщений: 65
Откуда: Almaty, KZ

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