Статус: Участник
Группы: Участники
Зарегистрирован: 13.10.2020(UTC) Сообщений: 22 Откуда: Ростов-на-Дону Сказал(а) «Спасибо»: 6 раз
|
Добрый день! Пытаюсь подписать данные в Ubuntu 18.04. Обнаружил что успешность вызова CryptAcquireCertificatePrivateKey зависит от того как был получен контекст сертификата. Если я получил контекст сертификата при перечислении сертификатов в хранилище (CertEnumCertificatesInStore), то вызов CryptAcquireCertificatePrivateKey успешен. Если я получил контекст сертификата при помощи CertCreateCertificateContext, то вызов CryptAcquireCertificatePrivateKey возвращает "False". Аналогичная ситуация и с вызовом CertGetCertificateContextProperty(..., CERT_KEY_PROV_INFO_PROP_ID, ...) для сертификата.
В Windows всё работает, а вот в Ununtu есть такой неприятный момент. Как при получении контекста сертификата через CertCreateCertificateContext добиться того, чтобы данные о контейнере ключа присутствовали в нем?
Используется версия: v4.0.9019 KC1 Release Ver:4.0.9963 OS:Linux
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 13.10.2020(UTC) Сообщений: 22 Откуда: Ростов-на-Дону Сказал(а) «Спасибо»: 6 раз
|
Похоже разработчики сюда (на форум) не заходят. Подскажите хотя-бы где ещё спросить.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,718 Сказал «Спасибо»: 500 раз Поблагодарили: 2053 раз в 1593 постах
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 13.10.2020(UTC) Сообщений: 22 Откуда: Ростов-на-Дону Сказал(а) «Спасибо»: 6 раз
|
Автор: Андрей * Ну... так можно ответить практически в любой теме данного форума.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 13.10.2020(UTC) Сообщений: 22 Откуда: Ростов-на-Дону Сказал(а) «Спасибо»: 6 раз
|
В руководстве разработчика к CAPILite 4.0 написано, что библиотека аналогична библиотекам CryptoAPI в Windows за некоторыми исключениеми (которые описаны отдельно). В руководстве на сказано что CertCreateCertificateContext работает не так как в её аналог в CryptoAPI. Вот я и пытаюсь узнать почему... почему про это ни слова? Отредактировано пользователем 16 октября 2020 г. 13:37:14(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,377 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 32 раз Поблагодарили: 706 раз в 614 постах
|
Причина различия в том, что на момент создания этой функции мы не знали о подобных нюансах на Windows. Да и до сих пор тема с key identifiers остаётся достаточно магической. В ближайших релизах не стоит ожидать, что мы сможем полностью повторить этот функционал Microsoft.
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 13.10.2020(UTC) Сообщений: 22 Откуда: Ростов-на-Дону Сказал(а) «Спасибо»: 6 раз
|
Здравствуйте, Автор: Максим Коллегин Причина различия в том, что на момент создания этой функции мы не знали о подобных нюансах на Windows. Да и до сих пор тема с key identifiers остаётся достаточно магической. В ближайших релизах не стоит ожидать, что мы сможем полностью повторить этот функционал Microsoft.
Ладно что контекст сертификата не заполняется всеми сведениями, которые в аналогичной ситуации заполняются в Windows. Но CryptAcquireCertificatePrivateKey ведь тоже не отрабатывает. Цитата:Для получения контекста и ключевого контейнера закрытого ключа, ассоциированного с открытым ключом сертификата, необходимо использовать функцию CryptAcquireCertificatePrivateKey. Как мне в Linux заставить работать CryptAcquireCertificatePrivateKey для сертификата загруженного из файла? Отредактировано пользователем 19 октября 2020 г. 13:21:57(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,718 Сказал «Спасибо»: 500 раз Поблагодарили: 2053 раз в 1593 постах
|
Здравствуйте Автор: nesdmitrijj Как мне в Linux заставить работать CryptAcquireCertificatePrivateKey для сертификата загруженного из файла? а) Прочитать свойства - найти его в хранилище. б) Перечислить контейнеры - найти нужный, если не установлен |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 13.10.2020(UTC) Сообщений: 22 Откуда: Ростов-на-Дону Сказал(а) «Спасибо»: 6 раз
|
Автор: Андрей * Здравствуйте Автор: nesdmitrijj Как мне в Linux заставить работать CryptAcquireCertificatePrivateKey для сертификата загруженного из файла? а) Прочитать свойства - найти его в хранилище. б) Перечислить контейнеры - найти нужный, если не установлен а) - это будет сертификат загруженный из хранилища, а не из файла. Я так понял без лазанья в хранилища не обойтись в Linux?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,377 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 32 раз Поблагодарили: 706 раз в 614 постах
|
Да. И если честно, вы первый за 15 лет, кого это смутило. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close