Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 22:45

Помогите: непонятная проблема при подписании строки "Ошибка при получении свойства сертификата (0x00000000)"

Автор roman01, 27 сен 2022, 15:31

0 Пользователей и 1 гость просматривают эту тему.

roman01

Здравствуйте, прошу помочь в следующем вопросе:

Есть простенький код, который подписывает строку:
Перем МК;

Сертификат = "";
ТипыХранилищ = Новый Массив;
ТипыХранилищ.Добавить(ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты);
МК = Новый МенеджерКриптографии("", "", 78);

Хранилище = МК.ПолучитьХранилищеСертификатов(ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты);
СертификатыХранилища = Хранилище.ПолучитьВсе();

Сертификат = СертификатыХранилища[0];

Стр = ПолучитьДвоичныеДанныеИзСтроки("123456");

Результат = МК.Подписать(Стр, Сертификат);

На компьютере установлен криптопровайдер VipNet CSP

Валится ошибка: "Ошибка при получении свойства сертификата (0x00000000)"


Проверил все, что мог:
1. сертификат действительный и связан с закрытым ключом
(скрин приложил)

2. Другими программами этот сертификат можно использовать (для подписания, например)

3. Может, думаю, тип криптопровайдера указал неверно (78) - нет, правильно, если указать другой тип - то ошибка именно в типе криптопровайдера.

Посмотрел, что содержит переменная сертификат в отладчике (скрин) - сертификат есть, вроде бы все нормально:

В интернете накопал только информацию, что сертификат не связан с закрытым ключом, а у меня он связан.

Коллеги, куда смотреть, куда копнуть?



roman01

Проблема решена.

Потратил 2 дня на решение проблемы, но исправил.

Итак полной ясности нет, но что понял...

Перед тем, как все сломалось (а этим сертификатом я успешно работал), я произвел установку его  в хранилище компьютера. То есть, этот сертификат был установлен в личное хранилище пользователя и компьютера.

Как только я удалил его из хранилища компьютера - все заработало.

Криптопровайдер должен быть с типом 77:
МК = Новый МенеджерКриптографии("", "", 77);

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск