Статус: Новичок
Группы: Участники
Зарегистрирован: 11.11.2022(UTC) Сообщений: 6
Сказал(а) «Спасибо»: 5 раз
|
Формирую подпись для файла с помощью функций КриптоПро ЭЦП SDK. При вызове функции CryptMsgUpdate() появляется окно с запросом пароля. Каким параметром можно задать пароль, чтобы окна ввода пароля не было?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 16.04.2008(UTC) Сообщений: 1,665
Сказал(а) «Спасибо»: 51 раз Поблагодарили: 714 раз в 494 постах
|
Надо использовать CertSetCertificateContextProperty(CERT_KEY_PROV_INFO_PROP_ID), дозаполнив PIN-ом массив структур CRYPT_KEY_PROV_PARAM. Примерно как тут: https://www.cryptopro.ru...aspx?g=posts&t=19352Имейте в виду, что pCertContext перед CertSetCertificateContextProperty надо переложить в memory store, иначе изменения "осядут" в реальном хранилище (псевдокод без проверок успеха): Код:hMemoryStore = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, 0, 0, NULL)
CertAddCertificateContextToStore(hMemoryStore, pCertContext, CERT_STORE_ADD_REPLACE_EXISTING, &pMemoryCert)
CertGetCertificateContextProperty(pMemoryCert, CERT_KEY_PROV_INFO_PROP_ID, pbData, &cbData)
CRYPT_KEY_PROV_PARAM pProvParam[] = { { PP_SIGNATURE_PIN, NULL, 0, 0 } }
PCRYPT_KEY_PROV_INFO pProvInfo = (PCRYPT_KEY_PROV_INFO)pbData
// на самом деле здесь могли уже быть параметры, тогда мы их затёрли одним лишь паролем:
pProvParam[0].pbData = (PBYTE)szPIN
pProvParam[0].cbData = (DWORD)strlen(szPIN) + 1
pProvInfo->cProvParam = 1
pProvInfo->rgProvParam = pProvParam
CertSetCertificateContextProperty(pMemoryCert, CERT_KEY_PROV_INFO_PROP_ID, 0, pProvInfo)
|
|
 2 пользователей поблагодарили Русев Андрей за этот пост.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 11.11.2022(UTC) Сообщений: 6
Сказал(а) «Спасибо»: 5 раз
|
Цитата:Надо использовать CertSetCertificateContextProperty(CERT_KEY_PROV_INFO_PROP_ID), дозаполнив PIN-ом массив структур CRYPT_KEY_PROV_PARAM. Примерно как тут: https://www.cryptopro.ru...aspx?g=posts&t=19352 Сделал как в примере, pin больше не запрашивает, но появляется окно -  okno.jpg (15kb) загружен 16 раз(а).Подскажите, каким параметром можно убрать это окно?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,211   Сказал «Спасибо»: 622 раз Поблагодарили: 2399 раз в 1888 постах
|
Вы при импорте ключа указывали "усиленная защита закрытого ключа" ?  Snimok ehkrana ot 2022-12-01 16-19-46.png (16kb) загружен 7 раз(а).Попробуйте через pfx экспорт\импорт переустановить сертификат со ссылкой на новый контейнер и при импорте не отмечайте эту опцию. |
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close