Обновлено: 28.01.2023
Обратился клиент с одной странной ошибкой. На ноутбуке установлено ПО КриптоПро, подключен токен, добавлен сертификат и все необходимые драйвера/плагины.
Тесты и проверки работают некоторое время после перезагрузки, но потом появляется ошибка: « Ошибка при получении свойства SubjectName: указан неправильный алгоритм. (0x80090008) ».
Ошибка при получении свойства SubjectName: указан неправильный алгоритм (0х80090008)
Ошибка при получении свойства SubjectName: указан неправильный алгоритм (0х80090008)
Общие моменты
Что можно сделать для исправления ошибки и на что обратить внимание.
- На уровне ОС — временно отключите брандмауэр и антивирус , с защитной программой — вплоть до удаления с целью чистоты эксперимента.
- В браузере — добавьте портал в «Надежные узлы» , а в части случаев — в список просмотра в режиме совместимости ; для некоторых версий требуется установка соответствующих расширений — загляните в документацию.
- Проверьте сертификат на подлинность и отсутствие ошибок с помощью онлайн-сервисов ( ГосУслуги , Контур , КриптоПро и т. п.) — действующий, установлен в контейнер «Личное» учетной записи пользователя и имеет подтвержденную цепочку удостоверения от центров сертификации.
- В случае провайдера КриптоПро — переустановите или обновите версию с официального сайта, в т. ч. ЭЦП Browser-plugin .
- Перезагрузите компьютер и повторите отправку документа ещё раз. В сложных случаях помогает полная очистка от предыдущих версий криптопровайдера. Для этого разработчик, как правило, выпускает специальные утилиты.
Частный случай
В нашем случае виновником оказался антивирус — Avast. Как только поменяли его на другой, все пошло как по нотам. Выяснили это экспериментальным путем.
Вот как выглядит ошибка при проверке в браузере и попытке подписи документов на торговой площадке.
Ошибка при проверке цепочки сертификатов. Возможно на компьютере не установлены сертификаты ЦА, выдавшего ваш сертификат
Ошибка при проверке цепочки сертификатов. Возможно на компьютере не установлены сертификаты ЦА, выдавшего ваш сертификат
Ошибка при получении свойства SubjectName: указан неправильный алгоритм. (0х80090008)
Ошибка при получении свойства SubjectName: указан неправильный алгоритм. (0х80090008)
Прочие рекомендации
- Повторите операцию установки личного сертификата . Откройте программу КриптоПро CSP и перейдите во вкладку «Сервис». Затем нажмите на кнопки «Просмотреть сертификаты в контейнере. » и «Обзор».
Аналогично для компонента КриптоПро ЭЦП Browser plug-in — установите актуальную сборку.
В случае, если требуется полная зачистка или не получается удалить КриптоПро CSP штатными методами, через «Установка и удаление программ», воспользуйтесь утилитой CSPClean .
✅ Таким образом, если у вас установлен Avast, то удалите его для проверки, перезагрузите компьютер и повторите операцию. Либо используйте другие рекомендации. Успехов Вам!
⚡ Подписывайтесь на канал или задавайте вопрос на сайте — постараемся помочь всеми техническими силами. Безопасной и производительной работы в Windows и 1С.
При использовании КриптоПро ЭЦП Browser plug-in могут возникать ошибки, приводящие к тому, что плагин не работает или работает некорректно, из-за чего электронная подпись не создаётся. Рассмотрим наиболее распространённые варианты ошибок и разберёмся, как их устранить.
При проверке отображается статус «Плагин загружен», но нет информации о криптопровайдере
Не удаётся построить цепочку сертификатов для доверенного корневого центра. (0x800B010A)
При этой ошибке плагин не может сформировать запрос на создание ЭЦП. Она возникает, если по каким-то причинам нет возможности проверить статус сертификата. Например, если нет привязки к ключу или доступа к спискам отзыва. Также проблема может воспроизводиться, если не установлены корневые сертификаты.
Для устранения этой ошибки нужно привязать сертификат к закрытому ключу.
Сначала проверьте, строится ли цепочка доверия. Для этого нужно открыть файл сертификата, а затем вкладку Путь сертификации.
Если на значке сертификата отображается крест, это означает, что цепочка доверия не строится. В этом случае необходимо скачать и установить корневые и промежуточные сертификаты. Они должны быть доступны для загрузки на сайте удостоверяющего центра, который выпустил сертификат на ваше имя.
Для установки корневого сертификата необходимо:
- Кликнуть правой кнопкой мыши по файлу.
- В контекстном меню выбрать пункт Установить сертификат.
- После запуска Мастера установки нажать Далее.
- Выбрать вариант Поместить все сертификаты в выбранной хранилище и нажать Обзор.
- Выбрать в списке хранилищ Доверенные корневые центры сертификации, нажать ОК, затем Далее.
- Нажать Готово.
Установка промежуточных сертификатов выполняется точно так же, как и установка корневых, за исключением того, что в процессе установки вместо пункта Доверенные корневые центры сертификации нужно выбрать пункт Промежуточные центры сертификации.
Если вы создаёте ЭЦП таких форматов, как CAdES-T или CAdES-X Long Type 1, ошибка может возникать из-за отсутствия доверия к сертификату оператора службы предоставления штампов времени. В этой ситуации нужно установить корневой сертификат УЦ в доверенные корневые центры.
ЭЦП создаётся с ошибкой при проверке цепочки сертификатов
Данная проблема возникает из-за отсутствия доступа к спискам отозванных сертификатов. Списки должны быть доступны для загрузки на сайте удостоверяющего центра, который выпустил сертификат ЭЦП. Установка списков выполняется по той же схеме, что и установка промежуточного сертификата.
Ошибка несоответствия версии плагина
Данная проблема может возникнуть, если ваш браузер не поддерживает установленную версию плагина. Попробуйте воспользоваться другим обозревателем.
Ошибки 0x8007064A и 0x8007065B
Ошибка возникает в связи с окончанием срока действия лицензий на КриптоПро CSP (КриптоПро TSP Client 2.0, Криптопро OCSP Client 2.0).
Чтобы создать электронную подпись с форматом CAdES-BES, необходима действующая лицензия на КриптоПро CSP. Создание ЭЦП с форматом CAdES-X Long Type 1 потребует наличия действующих лицензий:
- КриптоПро CSP;
- КриптоПро OCSP Client 2.0;
- КриптоПро TSP Client 2.0.
После приобретения лицензии потребуется её активация.
Набор ключей не существует (0x80090016)
Возникает из-за того, что у браузера нет прав для выполнения операции. Для решения проблемы в настройках плагина добавьте сайт в Список доверенных узлов.
Отказано в доступе (0x80090010)
Возникает в связи с истечением срока действия закрытого ключа. Чтобы проверить срок действия, запустите Крипто-Про CSP, затем откройте вкладку Сервис. Далее необходимо выбрать пункт Протестировать и указать контейнер с закрытым ключом. Если в результатах тестирования вы увидите, что срок действия закрытого ключа истёк, необходимо получить новый ключ.
Ошибка: Invalid algorithm specified. (0x80090008)
Появление такой ошибки означает, что криптопровайдер не поддерживает алгоритм используемого сертификата. Рекомендуется проверить актуальность версии КриптоПро CSP.
Если предлагаемые выше способы устранения ошибок не помогут, рекомендуем обратиться в службу поддержки КриптоПро.
У вас ещё нет электронной подписи? Её можно заказать у нас на сайте. Выберите подходящий вариант ЭЦП: для участия в электронных торгах, работы с порталами или отчётности. Процедура оформления не займёт больше одного дня.
Средства криптографической защиты информации
1. Требования к средствам криптографической защиты информации
Для шифрования отправляемых и получаемых документов Вы должны определиться с выбором средства криптографической защиты информации (СКЗИ).
Подробную техническую информацию по перечисленным СКЗИ (версиям, совместимости с операционными системами, алгоритмам подписи и шифрования и т.п.) можно получить на официальных сайтах производителя:
2. Работа с криптопровайдером «VipNet CSP» и установка сертификатов
Инструкция по установке, настройке и удалению VipNet CSP доступна здесь.
2.1. Хранение контейнера закрытого ключа
Хранение контейнера ключа для криптопровайдера VipNet CSP возможно, как в папке на жестком диске компьютера, так и на внешних носителях информации (flesh-носитель, E-токен). Тестовая ЭП предоставляется в файловом режиме, в виде файла, которой нужно скопировать на компьютер, а затем добавить в интерфейс криптопровайдера.
2.2. Установка сертификата из контейнера
2.3. Загрузка и установка корневого сертификата Удостоверяющего Центра и списка отзыва сертификатов
На вкладке «Состав» открытого сертификата организации Вы можете получить информацию и ссылку на скачивание корневого сертификата Удостоверяющего Центра и Списка отзывов сертификатов.
Для получения ссылки на скачивание корневого сертификата Удостоверяющего Центра перейдите в поле «Доступ к информации о центрах сертификации» и выделите его курсором мыши.
В открывшейся информации ниже ссылка на скачивание корневого сертификата Удостоверяющего Центра будет отображена в разделе «Доступ к сведениям центра сертификации Метод доступа=Поставщик центра сертификации» в пункте «Дополнительное имя»
Для скачивания файла корневого сертификата скопируйте после «URL=» ссылку в адресную строку браузера и нажмите на клавиатуре кнопку ENTER, а затем сохраните файл в любой каталог
Для получения ссылки на скачивание списка отозванных сертификатов необходимо перейти на вкладку «Состав» и выбрать из списка поле «Точки распространения списков отзыва»
В открывшейся информации в разделе «Имя точки распространения» скопируйте ссылку на загрузку списков отзыва
Для скачивания файла списка отзыва сертификатов скопируйте после «URL=» ссылку в адресную строку браузера и нажмите на клавиатуре кнопку ENTER, а затем сохраните файл в любой каталог
2.4. Установка корневого сертификата Удостоверяющего Центра
2.5. Установка списка отзывов сертификатов
После скачивания файла списка отзывов сертификата и сохранения его в нужный каталог, откройте его правой кнопкой мыши через меню «Установить список отзыва (CRL)»
Перед Вами откроется «Мастер импорта сертификатов». Следуйте указаниям «Мастера импорта сертификатов». На этапе импорта необходимо убедиться, что пункт «Автоматически выбрать хранилище на основе типа сертификата» выбран и нажать Далее
После успешного импорта сертификата нажмите Готово.
Проверить корректность выстроенной цепочки сертификатов в системном хранилище Windows Вы можете на вкладке «Путь сертификации». Сертификаты не должны иметь иконок с красными крестами, а в разделе «Состояние сертификата» должен быть статус «Этот сертификат действителен»
Закройте окно криптопровайдера «VipNet CSP», нажав кнопку ОК
После получения контейнера ключа и при использовании его «1С» для работы с сервисом «1С-ЭДО», программа криптографической защиты информации может запросить пароль от контейнера закрытого ключа
2.6. Копирование контейнера закрытого ключа электронной подписи
Откройте программу ViPNet CSP. Для этого перейдите в меню «Пуск» — «Все программы» — «ViPNet» — «ViPNet CSP»
В открывшемся окне перейдите на вкладку Контейнеры, выделите нужный контейнер одним нажатием левой кнопки мыши и нажмите кнопку Копировать
Выберите путь сохранения копии контейнера ключа. Для этого нажмите кнопку Обзор
Укажите папку, в которую хотите поместить копию контейнера ключа, и нажмите ОК. Введите пароль контейнера ключа, после чего задайте новый пароль, и подтвердите его.
Пароль должен содержать в себе не менее 6 символов.
На вкладке «Контейнеры» появится копия Вашего контейнера с указанием места хранения.
Текст ошибки:
Произошла ошибка при сохранении данных
Ошибка загрузки данных
Указан неправильный алгоритм. (0x80090008)
Как выглядит ошибка:
В большинстве случаев ошибка Указан неправильный алгоритм (0x80090008) решается переустановкой сертификата подписи. Переустановить сертификат можно несколькими способами:
В программе КриптоАРМ так, как показано в видео инструкции.
В личном хранилище сертификатов КриптоАРМа найдите ваш сертификат, выделите нажав на него курсором мыши. Нажмите на кнопку Экспорт , в открывшемся окне мастера нажмите Далее, в следующем окне обязательно укажите НЕТ НЕ ЭКСПОРТИРОВАТЬ ЗАКРЫТЫЙ КЛЮЧ , в мастере экспорта выберите кодировку DER , нажав кнопку Обзор поместите его на рабочий стол под любым именем. Удалять сертификат из личного хранилища при этом не нужно. Затем снова импортируйте его в личное хранилище, используя кнопку Импорт на панели инструментов, в мастере импорта сертификатов установите чекбоксы Установить личный сертификат и Поместить сертификат в контейнер . Далее понадобится выбрать криптопровайдер и контейнер вручную. После успешного импорта сертификата повторите подписание.
Также переустановку сертификата можно выполнить через КриптоПро CSP. Для этого откройте программу КриптоПро CSP и перейдите во вкладку Сервис . Затем нажмите на кнопки Просмотреть сертификаты в контейнере и Обзор . Выберите нужный контейнер и нажмите кнопку Ok , а после Установить . Снова повторите подписание.
После выполненных переустановок сертификата, если ошибка возникнет снова, войдите в КриптоАРМ в меню Профили , далее Управление профилями , откройте профиль по умолчанию (он помечен зеленой галочкой в списке), перейдите на вкладку Общие . Здесь в поле Владелец сертификата добавьте этот сертификат, нажмите Применить и ОК . После этого повторите подписание.
Читайте также:
- По какому алгоритму вводимые в компьютер десятичные числа можно перевести
- Как настроить на планшете кнопку домой
- Самые выгодные наборы raid
- Не работает exe файл python
- Как установить многодисковую игру на xbox 360 freeboot
Обновлено: 10.04.2023
Обратился клиент с одной странной ошибкой. На ноутбуке установлено ПО КриптоПро, подключен токен, добавлен сертификат и все необходимые драйвера/плагины.
Тесты и проверки работают некоторое время после перезагрузки, но потом появляется ошибка: « Ошибка при получении свойства SubjectName: указан неправильный алгоритм. (0x80090008) ».
Ошибка при получении свойства SubjectName: указан неправильный алгоритм (0х80090008)
Ошибка при получении свойства SubjectName: указан неправильный алгоритм (0х80090008)
Общие моменты
Что можно сделать для исправления ошибки и на что обратить внимание.
- На уровне ОС — временно отключите брандмауэр и антивирус , с защитной программой — вплоть до удаления с целью чистоты эксперимента.
- В браузере — добавьте портал в «Надежные узлы» , а в части случаев — в список просмотра в режиме совместимости ; для некоторых версий требуется установка соответствующих расширений — загляните в документацию.
- Проверьте сертификат на подлинность и отсутствие ошибок с помощью онлайн-сервисов ( ГосУслуги , Контур , КриптоПро и т. п.) — действующий, установлен в контейнер «Личное» учетной записи пользователя и имеет подтвержденную цепочку удостоверения от центров сертификации.
- В случае провайдера КриптоПро — переустановите или обновите версию с официального сайта, в т. ч. ЭЦП Browser-plugin .
- Перезагрузите компьютер и повторите отправку документа ещё раз. В сложных случаях помогает полная очистка от предыдущих версий криптопровайдера. Для этого разработчик, как правило, выпускает специальные утилиты.
Частный случай
В нашем случае виновником оказался антивирус — Avast. Как только поменяли его на другой, все пошло как по нотам. Выяснили это экспериментальным путем.
Вот как выглядит ошибка при проверке в браузере и попытке подписи документов на торговой площадке.
Ошибка при проверке цепочки сертификатов. Возможно на компьютере не установлены сертификаты ЦА, выдавшего ваш сертификат
Ошибка при проверке цепочки сертификатов. Возможно на компьютере не установлены сертификаты ЦА, выдавшего ваш сертификат
Ошибка при получении свойства SubjectName: указан неправильный алгоритм. (0х80090008)
Ошибка при получении свойства SubjectName: указан неправильный алгоритм. (0х80090008)
Прочие рекомендации
- Повторите операцию установки личного сертификата . Откройте программу КриптоПро CSP и перейдите во вкладку «Сервис». Затем нажмите на кнопки «Просмотреть сертификаты в контейнере. » и «Обзор».
Аналогично для компонента КриптоПро ЭЦП Browser plug-in — установите актуальную сборку.
В случае, если требуется полная зачистка или не получается удалить КриптоПро CSP штатными методами, через «Установка и удаление программ», воспользуйтесь утилитой CSPClean .
✅ Таким образом, если у вас установлен Avast, то удалите его для проверки, перезагрузите компьютер и повторите операцию. Либо используйте другие рекомендации. Успехов Вам!
⚡ Подписывайтесь на канал или задавайте вопрос на сайте — постараемся помочь всеми техническими силами. Безопасной и производительной работы в Windows и 1С.
При использовании КриптоПро ЭЦП Browser plug-in могут возникать ошибки, приводящие к тому, что плагин не работает или работает некорректно, из-за чего электронная подпись не создаётся. Рассмотрим наиболее распространённые варианты ошибок и разберёмся, как их устранить.
При проверке отображается статус «Плагин загружен», но нет информации о криптопровайдере
Не удаётся построить цепочку сертификатов для доверенного корневого центра. (0x800B010A)
При этой ошибке плагин не может сформировать запрос на создание ЭЦП. Она возникает, если по каким-то причинам нет возможности проверить статус сертификата. Например, если нет привязки к ключу или доступа к спискам отзыва. Также проблема может воспроизводиться, если не установлены корневые сертификаты.
Для устранения этой ошибки нужно привязать сертификат к закрытому ключу.
Сначала проверьте, строится ли цепочка доверия. Для этого нужно открыть файл сертификата, а затем вкладку Путь сертификации.
Если на значке сертификата отображается крест, это означает, что цепочка доверия не строится. В этом случае необходимо скачать и установить корневые и промежуточные сертификаты. Они должны быть доступны для загрузки на сайте удостоверяющего центра, который выпустил сертификат на ваше имя.
Для установки корневого сертификата необходимо:
- Кликнуть правой кнопкой мыши по файлу.
- В контекстном меню выбрать пункт Установить сертификат.
- После запуска Мастера установки нажать Далее.
- Выбрать вариант Поместить все сертификаты в выбранной хранилище и нажать Обзор.
- Выбрать в списке хранилищ Доверенные корневые центры сертификации, нажать ОК, затем Далее.
- Нажать Готово.
Установка промежуточных сертификатов выполняется точно так же, как и установка корневых, за исключением того, что в процессе установки вместо пункта Доверенные корневые центры сертификации нужно выбрать пункт Промежуточные центры сертификации.
Если вы создаёте ЭЦП таких форматов, как CAdES-T или CAdES-X Long Type 1, ошибка может возникать из-за отсутствия доверия к сертификату оператора службы предоставления штампов времени. В этой ситуации нужно установить корневой сертификат УЦ в доверенные корневые центры.
ЭЦП создаётся с ошибкой при проверке цепочки сертификатов
Данная проблема возникает из-за отсутствия доступа к спискам отозванных сертификатов. Списки должны быть доступны для загрузки на сайте удостоверяющего центра, который выпустил сертификат ЭЦП. Установка списков выполняется по той же схеме, что и установка промежуточного сертификата.
Ошибка несоответствия версии плагина
Данная проблема может возникнуть, если ваш браузер не поддерживает установленную версию плагина. Попробуйте воспользоваться другим обозревателем.
Ошибки 0x8007064A и 0x8007065B
Ошибка возникает в связи с окончанием срока действия лицензий на КриптоПро CSP (КриптоПро TSP Client 2.0, Криптопро OCSP Client 2.0).
Чтобы создать электронную подпись с форматом CAdES-BES, необходима действующая лицензия на КриптоПро CSP. Создание ЭЦП с форматом CAdES-X Long Type 1 потребует наличия действующих лицензий:
- КриптоПро CSP;
- КриптоПро OCSP Client 2.0;
- КриптоПро TSP Client 2.0.
После приобретения лицензии потребуется её активация.
Набор ключей не существует (0x80090016)
Возникает из-за того, что у браузера нет прав для выполнения операции. Для решения проблемы в настройках плагина добавьте сайт в Список доверенных узлов.
Отказано в доступе (0x80090010)
Возникает в связи с истечением срока действия закрытого ключа. Чтобы проверить срок действия, запустите Крипто-Про CSP, затем откройте вкладку Сервис. Далее необходимо выбрать пункт Протестировать и указать контейнер с закрытым ключом. Если в результатах тестирования вы увидите, что срок действия закрытого ключа истёк, необходимо получить новый ключ.
Ошибка: Invalid algorithm specified. (0x80090008)
Появление такой ошибки означает, что криптопровайдер не поддерживает алгоритм используемого сертификата. Рекомендуется проверить актуальность версии КриптоПро CSP.
Если предлагаемые выше способы устранения ошибок не помогут, рекомендуем обратиться в службу поддержки КриптоПро.
У вас ещё нет электронной подписи? Её можно заказать у нас на сайте. Выберите подходящий вариант ЭЦП: для участия в электронных торгах, работы с порталами или отчётности. Процедура оформления не займёт больше одного дня.
Средства криптографической защиты информации
1. Требования к средствам криптографической защиты информации
Для шифрования отправляемых и получаемых документов Вы должны определиться с выбором средства криптографической защиты информации (СКЗИ).
Подробную техническую информацию по перечисленным СКЗИ (версиям, совместимости с операционными системами, алгоритмам подписи и шифрования и т.п.) можно получить на официальных сайтах производителя:
2. Работа с криптопровайдером «VipNet CSP» и установка сертификатов
Инструкция по установке, настройке и удалению VipNet CSP доступна здесь.
2.1. Хранение контейнера закрытого ключа
Хранение контейнера ключа для криптопровайдера VipNet CSP возможно, как в папке на жестком диске компьютера, так и на внешних носителях информации (flesh-носитель, E-токен). Тестовая ЭП предоставляется в файловом режиме, в виде файла, которой нужно скопировать на компьютер, а затем добавить в интерфейс криптопровайдера.
2.2. Установка сертификата из контейнера
2.3. Загрузка и установка корневого сертификата Удостоверяющего Центра и списка отзыва сертификатов
На вкладке «Состав» открытого сертификата организации Вы можете получить информацию и ссылку на скачивание корневого сертификата Удостоверяющего Центра и Списка отзывов сертификатов.
Для получения ссылки на скачивание корневого сертификата Удостоверяющего Центра перейдите в поле «Доступ к информации о центрах сертификации» и выделите его курсором мыши.
В открывшейся информации ниже ссылка на скачивание корневого сертификата Удостоверяющего Центра будет отображена в разделе «Доступ к сведениям центра сертификации Метод доступа=Поставщик центра сертификации» в пункте «Дополнительное имя»
Для скачивания файла корневого сертификата скопируйте после «URL=» ссылку в адресную строку браузера и нажмите на клавиатуре кнопку ENTER, а затем сохраните файл в любой каталог
Для получения ссылки на скачивание списка отозванных сертификатов необходимо перейти на вкладку «Состав» и выбрать из списка поле «Точки распространения списков отзыва»
В открывшейся информации в разделе «Имя точки распространения» скопируйте ссылку на загрузку списков отзыва
Для скачивания файла списка отзыва сертификатов скопируйте после «URL=» ссылку в адресную строку браузера и нажмите на клавиатуре кнопку ENTER, а затем сохраните файл в любой каталог
2.4. Установка корневого сертификата Удостоверяющего Центра
2.5. Установка списка отзывов сертификатов
После скачивания файла списка отзывов сертификата и сохранения его в нужный каталог, откройте его правой кнопкой мыши через меню «Установить список отзыва (CRL)»
Перед Вами откроется «Мастер импорта сертификатов». Следуйте указаниям «Мастера импорта сертификатов». На этапе импорта необходимо убедиться, что пункт «Автоматически выбрать хранилище на основе типа сертификата» выбран и нажать Далее
После успешного импорта сертификата нажмите Готово.
Проверить корректность выстроенной цепочки сертификатов в системном хранилище Windows Вы можете на вкладке «Путь сертификации». Сертификаты не должны иметь иконок с красными крестами, а в разделе «Состояние сертификата» должен быть статус «Этот сертификат действителен»
Закройте окно криптопровайдера «VipNet CSP», нажав кнопку ОК
После получения контейнера ключа и при использовании его «1С» для работы с сервисом «1С-ЭДО», программа криптографической защиты информации может запросить пароль от контейнера закрытого ключа
2.6. Копирование контейнера закрытого ключа электронной подписи
Откройте программу ViPNet CSP. Для этого перейдите в меню «Пуск» — «Все программы» — «ViPNet» — «ViPNet CSP»
В открывшемся окне перейдите на вкладку Контейнеры, выделите нужный контейнер одним нажатием левой кнопки мыши и нажмите кнопку Копировать
Выберите путь сохранения копии контейнера ключа. Для этого нажмите кнопку Обзор
Укажите папку, в которую хотите поместить копию контейнера ключа, и нажмите ОК. Введите пароль контейнера ключа, после чего задайте новый пароль, и подтвердите его.
Пароль должен содержать в себе не менее 6 символов.
На вкладке «Контейнеры» появится копия Вашего контейнера с указанием места хранения.
Текст ошибки:
Произошла ошибка при сохранении данных
Ошибка загрузки данных
Указан неправильный алгоритм. (0x80090008)
Как выглядит ошибка:
В большинстве случаев ошибка Указан неправильный алгоритм (0x80090008) решается переустановкой сертификата подписи. Переустановить сертификат можно несколькими способами:
В программе КриптоАРМ так, как показано в видео инструкции.
В личном хранилище сертификатов КриптоАРМа найдите ваш сертификат, выделите нажав на него курсором мыши. Нажмите на кнопку Экспорт , в открывшемся окне мастера нажмите Далее, в следующем окне обязательно укажите НЕТ НЕ ЭКСПОРТИРОВАТЬ ЗАКРЫТЫЙ КЛЮЧ , в мастере экспорта выберите кодировку DER , нажав кнопку Обзор поместите его на рабочий стол под любым именем. Удалять сертификат из личного хранилища при этом не нужно. Затем снова импортируйте его в личное хранилище, используя кнопку Импорт на панели инструментов, в мастере импорта сертификатов установите чекбоксы Установить личный сертификат и Поместить сертификат в контейнер . Далее понадобится выбрать криптопровайдер и контейнер вручную. После успешного импорта сертификата повторите подписание.
Также переустановку сертификата можно выполнить через КриптоПро CSP. Для этого откройте программу КриптоПро CSP и перейдите во вкладку Сервис . Затем нажмите на кнопки Просмотреть сертификаты в контейнере и Обзор . Выберите нужный контейнер и нажмите кнопку Ok , а после Установить . Снова повторите подписание.
После выполненных переустановок сертификата, если ошибка возникнет снова, войдите в КриптоАРМ в меню Профили , далее Управление профилями , откройте профиль по умолчанию (он помечен зеленой галочкой в списке), перейдите на вкладку Общие . Здесь в поле Владелец сертификата добавьте этот сертификат, нажмите Применить и ОК . После этого повторите подписание.
Читайте также:
- По какому алгоритму вводимые в компьютер десятичные числа можно перевести
- Как настроить на планшете кнопку домой
- Самые выгодные наборы raid
- Не работает exe файл python
- Как установить многодисковую игру на xbox 360 freeboot
I have to maintain an old VB 6 ActiveX DLL called by another third-party program for which I have no sources. This DLL works and compiles fine against the API of said program for about 6 years and 3 major versions.
But now when I try to compile the DLL against a new major version the mentioned error occurs. It seems the error occurs before «my» code is called so there´s no use debugging or logging. The only remedy was to compile w/o binary compatibility which is no real option. My Google search turned up quite some people with the same problem but no solution.
Does anybody here know how to fix this issue ?
TAbdiukov
1,1853 gold badges12 silver badges25 bronze badges
asked Mar 8, 2010 at 14:37
I finally figure out how to diagnose VB6 error 32801 in a systemic way.
My theory is When the VB6 compiler is creating a project or binary compatible library, the compiler decompiles the type information from the referenced library. Error 32801 occurs the source code’s type information is not the same as the referenced library.
There is a tool called OLEView. This tool can decompile the COM type information into an IDL text. What I do is decompile the referenced library in to IDL and take the last good build of the failing library. Most times it is a build server version but the build does not work on a developer workstation. Decompile the last good build. Use a text comparison tool, like WINMerge, and find the differences between the type libraries. The differences make it easy to track down the problem.
Depending on the difference will determine how to correct. Mitigation can be done by either correcting the reference DLL, or by source code correction, or source code references.
answered Oct 3, 2012 at 11:57
It sounds like one of the types in the interfaces defined in your new DLL is different from one in the previous DLL. I’m deducing you use types defined in the third party program in your public interfaces of your DLL. It sounds to me like the third party has changed the definition of one of the types but kept the name and GUIDs the same. You could use something like OLE/COM Object viewer to check whether that’s true. If it is true then you can complain to the publisher of the 3rd party program. Do you have enough political power to succeed?
Bruce McKinney, the guru who wrote Hardcore Visual Basic 6, ran into the same issue with a structure in a type library, where he changed some of the member types. The only fix he could find was (essentially) to break binary compatibility — and that’s after some correspondence with the VB6 compiler team, who he knew fairly well. I don’t think anyone else could do better.
answered Mar 8, 2010 at 20:56
MarkJMarkJ
30.1k5 gold badges69 silver badges111 bronze badges
3
There is a discussion about this error on devx.com that seems to indicate that the problem stemmed from Microsoft’s Scripting Runtime (scrrun.dll).
FileSystemObject compatibility Unexpected error (32810)
Does your DLL reference that library? If so, can you remove the reference (e.g., replace FileSystemObject functionality with intrinsic VB file handling functions and/or API calls).
answered Mar 8, 2010 at 15:22
ravenraven
18k16 gold badges81 silver badges112 bronze badges
3
Are any of the files associated with the core project being compiled marked as Read-Only (i.e. not checked out of SourceSafe or similar repository)?
*.exp
*.vbw
*.lib
answered Mar 8, 2010 at 17:05
jasonkjasonk
1,5804 gold badges25 silver badges33 bronze badges
1
---------------------------
Microsoft Visual Basic
---------------------------
Unexpected error (32810)
---------------------------
OK Помощ
---------------------------
This the message I was getting trying to reference in VBIDE an old OCX that has been recompiled recently.
After somewhat long research the offending lines of code causing this error appeared to be
Property Get MouseActivate() As BookmarkEnum
Just changed this to
Property Get MouseActivate() As Boolean
. . . and the error was gone.
BookmarkEnum
is an enum from ADO. Our build server is Server 2003 and my dev machine is Win10. The project references ADO 2.8 but apparently this typelib has some differences on Server 2003 vs Win10
answered Jan 31, 2019 at 19:00
wqwwqw
11.8k1 gold badge33 silver badges41 bronze badges
Я должен поддерживать старую VB 6 ActiveX DLL, вызываемую другой сторонней программой, для которой у меня нет источников и т. Д. Эта DLL работает и прекрасно компилируется с API указанной программы в течение примерно 6 лет и 3 основных версий.
Но теперь, когда я пытаюсь скомпилировать DLL для новой основной версии, возникает упомянутая ошибка. Кажется, ошибка возникает до вызова «моего» кода, поэтому нет никакой необходимости в отладке или ведении журнала. Единственным выходом было компилировать без двоичной совместимости, что нереально. Мой поиск в Google обнаружил довольно много людей с той же проблемой, но без решения.
Кто-нибудь здесь знает, как решить эту проблему?
заранее спасибо
банзай
2010-03-08 14:37
5
ответов
Решение
Похоже, что один из типов в интерфейсах, определенных в вашей новой DLL, отличается от типа в предыдущей DLL. Я делаю вывод, что вы используете типы, определенные в сторонней программе, в ваших открытых интерфейсах вашей DLL. Мне кажется, что третье лицо изменило определение одного из типов, но сохранило имя и GUID одинаковыми. Вы можете использовать что-то вроде OLE/COM Object viewer, чтобы проверить, правда ли это. Если это правда, то вы можете пожаловаться издателю сторонней программы. Достаточно ли у вас политической власти, чтобы добиться успеха?
Брюс МакКинни, гуру, который написал Hardcore Visual Basic 6, столкнулся с той же проблемой со структурой в библиотеке типов, где он изменил некоторые типы элементов. Единственное исправление, которое он мог найти, — это (по сути) нарушение бинарной совместимости — и это после некоторой переписки с командой компиляторов VB6, которую он знал довольно хорошо. Я не думаю, что кто-то еще мог бы сделать лучше.
user15639
08 мар ’10 в 20:56
2010-03-08 20:56
2010-03-08 20:56
Я наконец выясняю, как диагностировать ошибку VB6 32801 системным способом.
Моя теория такова: когда компилятор VB6 создает проект или двоичную совместимую библиотеку, компилятор декомпилирует информацию о типах из указанной библиотеки. Произошла ошибка 32801. Информация о типе исходного кода не совпадает с указанной библиотекой.
Существует инструмент под названием OLEView. Этот инструмент может декомпилировать информацию о типе COM в текст IDL. Что я делаю, так это декомпилирую указанную библиотеку в IDL и получаю последнюю хорошую сборку неисправной библиотеки. В большинстве случаев это версия сервера сборки, но сборка не работает на рабочей станции разработчика. Декомпилируйте последнюю хорошую сборку. Используйте инструмент сравнения текста, такой как WINMerge, и найдите различия между библиотеками типов. Различия позволяют легко отследить проблему.
В зависимости от разницы будет определять, как исправить. Смягчение может быть сделано либо путем исправления эталонной DLL, либо путем исправления исходного кода, либо ссылок на исходный код.
2012-10-03 11:57
---------------------------
Microsoft Visual Basic
---------------------------
Unexpected error (32810)
---------------------------
OK Помощ
---------------------------
Это сообщение, которое я получал, пытаясь сослаться в VBIDE на старый OCX, который был недавно перекомпилирован.
После нескольких долгих исследований ошибочные строки кода, вызвавшие эту ошибку, оказались
Property Get MouseActivate() As BookmarkEnum
Просто изменил это на
Property Get MouseActivate() As Boolean
,,, и ошибка исчезла.
BookmarkEnum
перечисление от ADO. Наш сервер сборки — Server 2003, а моя машина разработки — Win10. Проект ссылается на ADO 2.8, но, очевидно, эта библиотека типов имеет некоторые отличия на Server 2003 и Win10
user40691
31 янв ’19 в 19:00
2019-01-31 19:00
2019-01-31 19:00
Помечены ли какие-либо файлы, связанные с компилируемым основным проектом, как доступные только для чтения (т.е. не извлечены из SourceSafe или аналогичного репозитория)?
*.exp *.vbw *.lib
2010-03-08 17:05
На devx.com обсуждается эта ошибка, которая, по-видимому, указывает на то, что проблема связана с Microsoft Scripting Runtime (scrrun.dll).
Совместимость FileSystemObject Неожиданная ошибка (32810)
Ваша DLL ссылается на эту библиотеку? Если это так, вы можете удалить ссылку (например, заменить функциональность FileSystemObject встроенными функциями обработки файлов VB и / или вызовами API).
user4228
08 мар ’10 в 15:22
2010-03-08 15:22
2010-03-08 15:22
Похоже, что один из типов в интерфейсах, определенных в вашей новой DLL, отличается от типа в предыдущей DLL. Я делаю вывод, что вы используете типы, определенные в сторонней программе, в публичных интерфейсах вашей DLL. Мне кажется, что сторонняя программа изменила определение одного из типов, но имя и GUID остались прежними. Вы можете использовать что-то вроде OLE/COM Object viewer, чтобы проверить, так ли это. Если это так, то вы можете пожаловаться издателю сторонней программы. Достаточно ли у вас политической силы, чтобы добиться успеха?
Брюс МакКинни, гуру, написавший Hardcore Visual Basic 6, столкнулся с такой же проблемой со структурой в библиотеке типов, где он изменил некоторые типы-члены. Единственным решением, которое он смог найти, было (по сути) нарушение бинарной совместимости — и это после некоторой переписки с командой компиляторов VB6, которую он знал достаточно хорошо. Я не думаю, что кто-то другой смог бы сделать лучше.
miser |
|
Статус: Активный участник Группы: Участники Сказал «Спасибо»: 1 раз |
Добрый день. Вот, возник такой интересный вопрос по поводу OID идентификаторов хеш функций. Код:
Поскольку сертификаты сейчас всё еще выпускаются в старом стандарте, будем рассматривать только первого провайдера. Код:
В теле цикла выдаем все идентификаторы и OID алгоритмов. name:GOST 28147-89 longName:GOST 28147-89 algId:26142(661E) OID:1.2.643.2.2.21 type:isCipher А вопрос вот в чем. В ваших примерах, файл /opt/cprocsp/src/CadesSamples/SimplifiedSignCadesBes/SimplifiedSignCadesBes.cpp Код:
Но такой алгоритм не реализуется вашим провайдером. Попытка указать реализуемый идентификатор OID:1.2.643.2.2.3, приводит к ошибке работы функции CryptSignMessage. |
|
|
cross |
|
Статус: Сотрудник Группы: Администраторы, Участники Сказал(а) «Спасибо»: 3 раз |
«1.2.643.2.2.9» — Функция хэширования ГОСТ Р 34.11-94 |
Техническую поддержку оказываем тут. |
|
|
|
miser |
|
Статус: Активный участник Группы: Участники Сказал «Спасибо»: 1 раз |
Извините, не совсем понял вашу мысль про группы. Код:
Если бы алгоритм попадал в обе группы, я бы получил «other», а не Код:
Где еще указывать группу, в примере, указанном в предыдущем сообщении? Да, я вижу, описание Код:
Обращаю ваше внимание, что а функция возвращает нам OID И этот OID, отнюдь не то, что вы написали. Отредактировано пользователем 8 апреля 2016 г. 15:58:23(UTC) |
|
|
Максим Коллегин |
|
Статус: Сотрудник Группы: Администраторы Сказал «Спасибо»: 21 раз |
Вы путаете оиды и алгоритмы. Связь между ними весьма слабая и неочевидная — нужно долго читать и курить wincrypt.h |
Знания в базе знаний, поддержка в техподдержке |
|
|
WWW |
miser |
|
Статус: Активный участник Группы: Участники Сказал «Спасибо»: 1 раз |
Извините, я стараюсь ничего не путать. В цикле я опрашиваю список алгоритмов, доступных провайдеру. Код:
Ничего сложного тут нет. Разве, что метод CryptFindOIDInfo. Цитата: Setting this parameter to zero searches all groups according to the dwKeyType parameter. Я показываю, что Гдето, глубоко в коде своей программы, эти идентификаторы запомнил. Код:
Но вместо жестко пробитых OID, идет поиск алгоритма по названию «GOST R 34.11-94». Да, на текущем этапе, сделал отдачу OID так же, как сделано в вашем примере. Подпись заработала. Можно было бы поступить еще хитрее. Можно было бы расковырять сертификат или полное описание алгоритма и получить OID нужной функции. Да, обратите внимание, какой OID возвращает наш алгоритм подписи. Цитата: name:GOST R 34.10-2001 longName:GOST R 34.10-2001 256 algId:11811(2E23) OID:1.2.643.2.2.19 type:isSignature OID соответствует «Алгоритм ГОСТ Р 34.10-2001, используемый при экспорте/импорте ключей». Отредактировано пользователем 8 апреля 2016 г. 17:54:08(UTC) |
|
|
Максим Коллегин |
|
Статус: Сотрудник Группы: Администраторы Сказал «Спасибо»: 21 раз |
В третий раз повторяю — алгид 0x801E зарегистрирован у оида подписи и хэша. Если укажите класс при поиске — небудет неоднозначности. |
Знания в базе знаний, поддержка в техподдержке |
|
|
WWW |
miser |
|
Статус: Активный участник Группы: Участники Сказал «Спасибо»: 1 раз |
Извините, я вашу мысль прекрасно понимаю. Код:
Получаем список алгоритмов и неких OID. Код:
Подскажите, как надо правильно сделать, чтобы алгоритм «GOST R 34.11-94» отдал свой OID «1.2.643.2.2.9», а алгоритм «GOST R 34.10-2001» отдал свой OID «1.2.643.2.2.3» ? |
|
|
Максим Коллегин |
|
Статус: Сотрудник Группы: Администраторы Сказал «Спасибо»: 21 раз |
У алгоритма подписи нет algidа, но он может идтенифицировать парой — алгидом ключа и хэша, для получения оида для алгоритма хэширования укажите CRYPT_HASH_ALG_OID_GROUP_ID в CryptFindOIDInfo. У Вас ошибка в выводе, вот для 0x801E: Код:
Код:
|
Знания в базе знаний, поддержка в техподдержке |
|
|
WWW |
Максим Коллегин |
|
Статус: Сотрудник Группы: Администраторы Сказал «Спасибо»: 21 раз |
Получение оида подписи: Код:
Отредактировано пользователем 11 апреля 2016 г. 11:42:58(UTC) |
Знания в базе знаний, поддержка в техподдержке |
|
|
WWW |
miser |
|
Статус: Активный участник Группы: Участники Сказал «Спасибо»: 1 раз |
Перепроверил свой код. Нашел пропавший OID хеш функции. Ох, как всё сложно и не похоже на старый Win CSP 3.6. Вроде, всё то же самое, а проверок надо делать значительно больше. |
|
|
Пользователи, просматривающие эту тему |
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.