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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline bsgv64  
#1 Оставлено : 9 апреля 2009 г. 14:53:51(UTC)
bsgv64

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.04.2009(UTC)
Сообщений: 2

Сертификат на флешке - как получить?

Цель - подписать сообщение, вызвав CryptSignMessage. Эта функция требует указания сертификата в pSignPara->pSigningCert.
В примерах Крипто-Про открывается хранилище "MY".
У нас все сертификаты хранятся на съемном носителе типа флешка. Как добраться до сертификатов, НЕ импортируя их в хранилище "MY"?

Код:
CryptAcquireContext (&hCryptProv,
L"e1c53333-2e50-40a5-9dcb-7f67fb2973a4",//Имя pszContainer
NULL,
75,
0)

hStore = CertOpenStore( CERT_STORE_PROV_SYSTEM,
0,
hCryptProv,
CERT_STORE_OPEN_EXISTING_FLAG | CERT_STORE_READONLY_FLAG | CERT_SYSTEM_STORE_CURRENT_USER,
//L"MY"
NULL

// КАК правильно указать параметры данной функции?

);

pSignerCert = CertEnumCertificatesInStore( hCertStore, NULL);

pSignerCert всегда NULL. Что здесь не так?


P.S.
Вообще говоря, не очень здорово импортировать приватный ключ на локальный компьютер.
В хранилище "MY" сертификатов нет - они есть на флешке.

Версия: CryptoPro CSP KC1 3.0.3293.
Один Reader настроен, на диск E.
На флешке сертификат с приватным ключом есть. Он успешно открывается через Control Panel->CryptoPro CSP, Service->View certificates in container. Имя контейнера: e1c53333-2e50-40a5-9dcb-7f67fb2973a4


Заранее благодарю за ответ.
Offline Максим Коллегин  
#2 Оставлено : 9 апреля 2009 г. 15:17:56(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,405
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 37 раз
Поблагодарили: 720 раз в 624 постах
Закрытый ключ никто и не импортирует.
Если без установки сертификата, то по шагам:
Открыть контейнер, получить хэндл ключа, получить KP_CERTIFICATE.
Создать из блоба CERT_CONTEXT. Установить свойство контекста - ссылку на закрытый ключ CERT_KEY_PROV_INFO_PROP_ID или открытый криптопровайдер CERT_KEY_PROV_HANDLE_PROP_ID/CERT_KEY_CONTEXT_PROP_ID


Знания в базе знаний, поддержка в центре поддержки
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.