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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline nesdmitrijj  
#1 Оставлено : 13 октября 2020 г. 13:28:59(UTC)
nesdmitrijj

Статус: Участник

Группы: Участники
Зарегистрирован: 13.10.2020(UTC)
Сообщений: 14
Российская Федерация
Откуда: Ростов-на-Дону

Сказал(а) «Спасибо»: 3 раз
Добрый день!
Пытаюсь подписать данные в 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
Offline nesdmitrijj  
#2 Оставлено : 16 октября 2020 г. 7:20:21(UTC)
nesdmitrijj

Статус: Участник

Группы: Участники
Зарегистрирован: 13.10.2020(UTC)
Сообщений: 14
Российская Федерация
Откуда: Ростов-на-Дону

Сказал(а) «Спасибо»: 3 раз
Похоже разработчики сюда (на форум) не заходят. Подскажите хотя-бы где ещё спросить.
Offline Андрей *  
#3 Оставлено : 16 октября 2020 г. 9:26:59(UTC)
Андрей *

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

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

Сказал «Спасибо»: 347 раз
Поблагодарили: 1386 раз в 1070 постах
Здравствуйте.
Это форум.

Портал тех.поддержки есть отдельно, как и сертификат на ТП для разработчиков.

https://Support.CryptoPro.ru
Техническую поддержку оказываем тут
Наша база знаний
Offline nesdmitrijj  
#4 Оставлено : 16 октября 2020 г. 13:30:28(UTC)
nesdmitrijj

Статус: Участник

Группы: Участники
Зарегистрирован: 13.10.2020(UTC)
Сообщений: 14
Российская Федерация
Откуда: Ростов-на-Дону

Сказал(а) «Спасибо»: 3 раз
Автор: Андрей * Перейти к цитате
Здравствуйте.
Это форум.

Портал тех.поддержки есть отдельно, как и сертификат на ТП для разработчиков.

https://Support.CryptoPro.ru


Ну... так можно ответить практически в любой теме данного форума.
Offline nesdmitrijj  
#5 Оставлено : 16 октября 2020 г. 13:36:07(UTC)
nesdmitrijj

Статус: Участник

Группы: Участники
Зарегистрирован: 13.10.2020(UTC)
Сообщений: 14
Российская Федерация
Откуда: Ростов-на-Дону

Сказал(а) «Спасибо»: 3 раз
В руководстве разработчика к CAPILite 4.0 написано, что библиотека аналогична библиотекам CryptoAPI в Windows за некоторыми исключениеми (которые описаны отдельно). В руководстве на сказано что CertCreateCertificateContext работает не так как в её аналог в CryptoAPI. Вот я и пытаюсь узнать почему... почему про это ни слова?

Отредактировано пользователем 16 октября 2020 г. 13:37:14(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#6 Оставлено : 16 октября 2020 г. 14:41:55(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 17 раз
Поблагодарили: 588 раз в 529 постах
Причина различия в том, что на момент создания этой функции мы не знали о подобных нюансах на Windows. Да и до сих пор тема с key identifiers остаётся достаточно магической.
В ближайших релизах не стоит ожидать, что мы сможем полностью повторить этот функционал Microsoft.
Знания в базе знаний, поддержка в техподдержке
Offline nesdmitrijj  
#7 Оставлено : 19 октября 2020 г. 13:21:17(UTC)
nesdmitrijj

Статус: Участник

Группы: Участники
Зарегистрирован: 13.10.2020(UTC)
Сообщений: 14
Российская Федерация
Откуда: Ростов-на-Дону

Сказал(а) «Спасибо»: 3 раз
Здравствуйте,
Автор: Максим Коллегин Перейти к цитате
Причина различия в том, что на момент создания этой функции мы не знали о подобных нюансах на Windows. Да и до сих пор тема с key identifiers остаётся достаточно магической.
В ближайших релизах не стоит ожидать, что мы сможем полностью повторить этот функционал Microsoft.

Ладно что контекст сертификата не заполняется всеми сведениями, которые в аналогичной ситуации заполняются в Windows. Но CryptAcquireCertificatePrivateKey ведь тоже не отрабатывает.
Цитата:
Для получения контекста и ключевого контейнера закрытого ключа, ассоциированного с открытым ключом сертификата, необходимо использовать функцию CryptAcquireCertificatePrivateKey.

Как мне в Linux заставить работать CryptAcquireCertificatePrivateKey для сертификата загруженного из файла?

Отредактировано пользователем 19 октября 2020 г. 13:21:57(UTC)  | Причина: Не указана

Offline Андрей *  
#8 Оставлено : 19 октября 2020 г. 14:14:13(UTC)
Андрей *

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

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

Сказал «Спасибо»: 347 раз
Поблагодарили: 1386 раз в 1070 постах
Здравствуйте
Автор: nesdmitrijj Перейти к цитате

Как мне в Linux заставить работать CryptAcquireCertificatePrivateKey для сертификата загруженного из файла?


а) Прочитать свойства - найти его в хранилище.
б) Перечислить контейнеры - найти нужный, если не установлен
Техническую поддержку оказываем тут
Наша база знаний
Offline nesdmitrijj  
#9 Оставлено : 19 октября 2020 г. 14:27:01(UTC)
nesdmitrijj

Статус: Участник

Группы: Участники
Зарегистрирован: 13.10.2020(UTC)
Сообщений: 14
Российская Федерация
Откуда: Ростов-на-Дону

Сказал(а) «Спасибо»: 3 раз
Автор: Андрей * Перейти к цитате
Здравствуйте
Автор: nesdmitrijj Перейти к цитате

Как мне в Linux заставить работать CryptAcquireCertificatePrivateKey для сертификата загруженного из файла?


а) Прочитать свойства - найти его в хранилище.
б) Перечислить контейнеры - найти нужный, если не установлен

а) - это будет сертификат загруженный из хранилища, а не из файла.
Я так понял без лазанья в хранилища не обойтись в Linux?
Offline Максим Коллегин  
#10 Оставлено : 19 октября 2020 г. 14:29:43(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 17 раз
Поблагодарили: 588 раз в 529 постах
Да. И если честно, вы первый за 15 лет, кого это смутило.
Знания в базе знаний, поддержка в техподдержке
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.