Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.12.2009(UTC) Сообщений: 119 Откуда: Moscow
|
Возник вопрос. Подскажите как можно создать запрос на сертификат и отправить его ЦС, получить ответ и распарсить этот подписанный сертификат.
Как сформировать ключи, установить сертификат в хранилище я знаю, как сделать остальные операции нет.
Кто знает подскажите или хотябы скажите какие библиотеки использовать...
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Само создание запроса с помощью CryptoAPI - заполнение структуры CERT_REQUEST_INFO и подпись CryptSignAndEncodeCertificate. Если нужно использовать скрипты - то библиотека XEnroll. Отправка на ЦС - зависит от ЦС, если это служба MS то отправить запрос можно с помощью интерфейса ICertRequest, если КриптоПро УЦ - то с помощью интерфейса внешних приложений. Отредактировано пользователем 7 мая 2010 г. 16:17:48(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.12.2009(UTC) Сообщений: 119 Откуда: Moscow
|
CryptSignAndEncodeCertificate - ещё и подписывает, только зачем? Ведь подписывать должен сервер, а не клиент.
Ну пускай ещё и подписывать надо, только каким сертификатом, каким ключём?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Сервер подписывает сертификат, клиент подписывает запрос, своим ключем.
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.12.2009(UTC) Сообщений: 119 Откуда: Moscow
|
У вас нету примера использования этой функции, т.к. не понятно какой HCRYPTPROV контекст туда её передавать, как он должен быть создан. Лично мне кажется что функцию CryptAcquireContext вызывать надо так
CryptAcquireContext(&Prov,L"MYNAMEKEYCONTAINER1",L"Microsoft Base Cryptographic Provider v1.0",ProvType,CRYPT_NEWKEYSET)
но почему то после такого вызова. функция
CryptGenKey(Prov,CALG_SHA1|CRYPT_EXPORTABLE|AT_KEYEXCHANGE,512,&key)
ругается и выдаёт ошибку что неправильно указанны флаги , хотя вроде всё правильно
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.12.2009(UTC) Сообщений: 119 Откуда: Moscow
|
Стоп, вопрос по поводу CryptGenKey и генерации ключа в контейнере, снят )
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.12.2009(UTC) Сообщений: 119 Откуда: Moscow
|
как считаете на C# + Sharpei легче программировать чем на C++? и какомы возможности .NET криптографических классов? Всё можно релизовать в плане криптографии?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
На .Net можно, конечно, все реализовать, но в зависимости от платформы придется пользоваться либо Xenroll (2000, 2003), либо Certenroll (vista, 2008 и выше). В самом .Net Framework средств для создания запросов нет. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close