Криптопро tls ошибка 0x80090014 при обращении к csp указан неправильный тип поставщика


Offline

Aleksei Neverov

 


#1
Оставлено
:

20 апреля 2021 г. 16:14:13(UTC)

Aleksei Neverov

Статус: Активный участник

Группы: Участники

Зарегистрирован: 14.11.2019(UTC)
Сообщений: 47

Сказал(а) «Спасибо»: 17 раз
Поблагодарили: 1 раз в 1 постах

Коллеги, день добрый!

Возникает ошибка при подписании документа через CAdES plugin

Указан неправильный тип поставщика. (0x80090014)

История создания сертификата.

1) Ключевая пара и запрос на сертификат формировался средствами библиотеки Bouncy Castle (java), т.к. требовалось указать недефолтные параметры

Код:


private KeyPair generateKeyPair()
            throws GeneralSecurityException
{
        Security.addProvider( new org.bouncycastle.jce.provider.BouncyCastleProvider() );

        KeyPairGenerator keyPairGenerator = KeyPairGeneratorSpi.getInstance("ECGOST3410-2012"); // ECGOST3410-2012
        // "1.2.643.2.2.35.2", "1.2.643.7.1.1.2.2", "1.2.643.2.2.31.1" - curve, hash, cipher
        keyPairGenerator.initialize( new GOST3410ParameterSpec(
                new ASN1ObjectIdentifier("1.2.643.2.2.35.2"),
                new ASN1ObjectIdentifier("1.2.643.7.1.1.2.2"),
                new ASN1ObjectIdentifier("1.2.643.2.2.31.1")
        ));

        KeyPair keyPair = keyPairGenerator.generateKeyPair();

        return keyPair;
}

2. Запрос с требуемыми УЦ параметрами был сформирован и по нему был получен сертификат

3. Средствами Bouncy Castle объединил полученный сертификат и приватный ключ в pfx. Он нормально установился в личные сертификаты, читается и он, и путь сертификации.

4. При попытке использовать его в качестве сертификата для подписания на этой строчке (js)

Код:

var sSignature = yield oSignedData.SignCades(oSigner, cadesplugin.CADESCOM_CADES_BES, false);

возникает ошибка

Указан неправильный тип поставщика. (0x80090014)

5. При попытке проверить работу плагина на странице https://cryptopro.ru/sites/default/files/products/cades/demopage/cades_bes_sample.html
вижу вот такую информацию о провайдере и приватном ключе

Цитата:

Криптопровайдер: Microsoft Software Key Storage Provider

Ссылка на закрытый ключ: Указан неправильный тип поставщика. (0x80090014)

Подскажите, пожалуйста
1) Почему выбирается этот криптопровайдер? Подозреваю, что именно из-за выбора этого КП возникает ош. 0x80090014 — он не поддерживает ГОСТовские алгоритмы?
2) Может ли быть причиной то, что при формировании ключевой пары я использовал BouncyCastleProvider?
3) Или то, что я объединял приватный ключ и полученный сертификат в pfx при помощи этой же библиотеки?
4) Есть ли возможность в bouncy castle явно указать, что в качестве криптопровайра нужно использовать Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider?

Где-то в интернете находил информацию, что при подобных ошибках нужно заново сгенерировать ключевую пару средствами КриптоПро и запросить сертификат.
Но, как выяснилось ранее, стандартными средствами КриптоПро сформировать ключевую пару и запрос с указанными параметрами алгоритма нельзя (https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=19238)

Заранее большое спасибо за информацию


Вверх


Offline

two_oceans

 


#2
Оставлено
:

21 апреля 2021 г. 12:07:39(UTC)

two_oceans

Статус: Эксперт

Группы: Участники

Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,598
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 389 раз в 364 постах

Добрый день.
Хотелось бы уточнить несколько моментов:
1) это разовая операция генерации или она будет потом повторяться этим же ПО каждый год для каждого пользователя? Если разовая, то наверно можно и этот ключ переконвертировать, а если будет повторяться — лучше все же разобраться как сделать средствами КриптоПро. «1.2.643.2.2» это оиды зарегистрированные именно КриптоПро, вероятность что они не поддерживаются мала, хотя я сам и не пробовал задавать «1.2.643.2.2.35.2» с гост-2012.
2) в приведенной теме не ответа видимого всем — перенесено на портал техподдержки. Вопрос в теме касался именно CAdES плагина, то есть при использовании других средств обращения к криптопровайдеру (CryptoAPI) очень может быть, что данные параметры задать получится.
Даже в случае именно веб-генерации логичнее задавать вопрос не про CAdES плагин, а класс CertEnrollment, на котором построены интерфейсы УЦ (хоть он и ограничен IE, но параметров побольше и, например, можно все вместить в приложение HTA).
3) какими средствами устанавливался pfx в личные сертификаты?
В теории если это ключ гост-2012, то вопрос только в формате его представления и в том, чтобы сертификат был по оидам совместим с КриптоПро. Если сертификат совместим, то подобрать алгоритмы в pfx теоретически можно. Дамп ASN1 в pfx (сам ключ заменить на многоточие) было бы интересно посмотреть на предмет совместимые там алгоритмы с криптопро или нет. Если не совместимы напрямую (что позволяет правой кнопкой щелкнуть на pfx файле и выбрать установить, а на выходе мастера получить контейнер в формате КриптоПро), но совместимы с универсальным форматом между отечественными криптопровайдерами (pfx использующий только госты), то есть консольная утилита конвертации. Если ни то и ни другое — то возможно действительно проще перегенерировать ключ, так как процесс конвертации будет сложнее.


Вверх

thanks 1 пользователь поблагодарил two_oceans за этот пост.

Aleksei Neverov

оставлено 21.04.2021(UTC)


Offline

Aleksei Neverov

 


#3
Оставлено
:

21 апреля 2021 г. 14:14:47(UTC)

Aleksei Neverov

Статус: Активный участник

Группы: Участники

Зарегистрирован: 14.11.2019(UTC)
Сообщений: 47

Сказал(а) «Спасибо»: 17 раз
Поблагодарили: 1 раз в 1 постах

День добрый!

Кажется, понял, в чем проблема, но пока не могу понять, как ее решить.

Думаю, что проблема в том, как я читаю приватный ключ из pem-файла и как объединяю сохраненный ранее приватный ключ и полученный сертификат:

Код:

    public void buildPfx(X509Certificate certificate, PrivateKey privateKey) throws KeyStoreException, IOException, CertificateException, NoSuchAlgorithmException, NoSuchProviderException {
        String alias =  "Test Signer";
        X509Certificate[] chain = new X509Certificate[] {
                certificate
        };
        KeyStore keystore = KeyStore.getInstance("PKCS12", "BC");
        keystore.load(null, null);
        KeyStore.PrivateKeyEntry keyEntry = new KeyStore.PrivateKeyEntry(
                privateKey,
                chain
        );
        keystore.setEntry(alias,
                keyEntry,
                new KeyStore.PasswordProtection(this.getPassword().toCharArray())
        );
        keystore.store(new FileOutputStream(this.getPfxPath()), this.getPassword().toCharArray());
    }

В этом случае формируется key entry в Microsoft Software Key Storage Provider, а затем из него экспортируется pfx. В итоге ГОСТ не работает.

Поставил JCP, заменил процесс формирования keyStore:

Код:

KeyStore keystore = KeyStore.getInstance("HDImageStore", "JCP");

В этом случае получаю ошибку на setEntry:

java.security.KeyStoreException: key is not GostPrivateKey or GostExchPrivateKey

Чтение приватного ключа реализую так:

Код:

    public PrivateKey getPrivateKey() throws IOException, NoSuchAlgorithmException, InvalidKeySpecException, NoSuchProviderException, KeyManagementException {
        PemObject object = this.readPEMObject(this.getKeyPath());
        PKCS8EncodedKeySpec privateKeySpec = new PKCS8EncodedKeySpec(object.getContent());
        PrivateKey key = KeyFactory.getInstance("ECGOST3410-2012")
                .generatePrivate(privateKeySpec);
        return key;
    }

Пробовал здесь использовать JCP, но, насколько я понял, он не умеет загружать приватные ключи из pem-файлов.

Или все-таки умеет?

Предполагаю, что если бы мне удалось прочитать приватный ключ из pem-файла методами JCP, то и при объединении не было бы проблем.

P.S. Странно, но certutil на pfx выдает «Плохие данные», но при этом сертификат из этого же pfx устанавливается в личные сертификаты


Вверх


Offline

two_oceans

 


#4
Оставлено
:

27 апреля 2021 г. 5:29:04(UTC)

two_oceans

Статус: Эксперт

Группы: Участники

Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,598
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 389 раз в 364 постах

Есть вроде бы вариант использовать PFXSTORE, но вероятно также будет заморочка с алгоритмами в pfx. https://www.cryptopro.ru…aspx?g=posts&t=17499

Предположу, что может помочь Openssl + модуль (engine) гост (с гитхаба или от пробного магпро, так как модули от криптопро не считывают pem, а старый Криптокома не поддерживает гост-2012). Закладка на тему где-то затерялась, но есть цитата аналогичного случая.


Вверх

thanks 1 пользователь поблагодарил two_oceans за этот пост.

Aleksei Neverov

оставлено 27.04.2021(UTC)


Offline

Aleksei Neverov

 


#5
Оставлено
:

27 апреля 2021 г. 14:14:11(UTC)

Aleksei Neverov

Статус: Активный участник

Группы: Участники

Зарегистрирован: 14.11.2019(UTC)
Сообщений: 47

Сказал(а) «Спасибо»: 17 раз
Поблагодарили: 1 раз в 1 постах

Коллеги, день добрый!

Перепробовали все, в т.ч. openssl с разными engine. Результат такой же — либо не тот провайдер, либо не ГОСТ.

Т.к. цель была записать все это на Рутокен — переписал все с использованием их библиотек — и формирование запроса, и импорт сертификата.
Все получилось)


Вверх

Пользователи, просматривающие эту тему

Guest

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

Для корректной работы с электронной подписью (ЭП, ранее — ЭЦП) достаточно соблюсти четыре условия. Во-первых, приобрести средства ЭП в удостоверяющем центре (УЦ). Во-вторых, установить лицензионное средство криптозащиты (СКЗИ, криптопровайдер). В-третьих, загрузить на рабочее место личный, промежуточный и корневой сертификаты. И, в-четвертых, настроить браузер для подписания электронных файлов на веб-порталах. Если хотя бы одно из условий не соблюдено, в процессе использования ЭП возникают различные ошибки: КриптоПро не видит ключ, недействительный сертификат, отсутствие ключа в хранилище и другие. Самые распространенные сбои и способы их устранения рассмотрим в статье.

Настроим вашу электронную подпись под ключ за 30 минут!

Оставьте заявку и получите консультацию.

Почему КриптоПро не видит ключ ЭЦП

КриптоПро CSP — самый популярный криптографический софт на российском рынке. Большинство торговых площадок и автоматизированных госсистем работают только с этим криптопровайдером. Программное обеспечение распространяется на безвозмездной основе разработчиком и через дистрибьюторскую сеть, а за лицензию придется платить. При покупке квалифицированной ЭП (КЭП) клиенты получают набор средств:

  • закрытый и открытый ключи;
  • сертификат ключа проверки электронной подписи (СКПЭП, СЭП) — привязан к открытому ключу;
  • физический носитель, на который записываются все перечисленные средства.

Каждый раз, когда владельцу СЭП нужно подписать цифровой файл, он подключает USB-носитель к ПК и вводит пароль (двухфакторная идентификация). Возможен и другой путь — записать все компоненты в реестр ПК и пользоваться ими без физического криптоключа. Второй способ не рекомендован, так как считается небезопасным.

В работе с ЭП возникают такие ситуации, когда пользователь пытается заверить документ в интернете или в специальном приложении, открывает список ключей и не видит СЭП. Проблема может быть спровоцирована следующими факторами:

Ошибка Решение
Не подключен носитель Подсоединить токен к ПК через USB-порт (об успешном подключении свидетельствует зеленый индикатор на флешке)
Не установлено СКЗИ Установить криптопровайдер, следуя инструкции
Не установлен драйвер носителя Чтобы компьютер «увидел» устройство, нужно установить специальную утилиту. Как правило, она предоставляется удостоверяющим центром при выдаче подписи. Руководство по инсталляции можно найти на портале разработчика
На ПК не загружены сертификаты Установить корневой, промежуточный и личный сертификаты (как это сделать, рассмотрим далее)
Не установлен плагин для браузера Скачать ПО на сайте www.cryptopro.ru< и установить по инструкции

Ошибка КриптоПро «0x80090008»: указан неправильный алгоритм

Если версия CryptoPro не соответствует новым условиям сдачи отчетности, пользователь увидит на экране уведомление с кодом ошибки «0x80090008». Это значит, что на ПК установлен устаревший релиз программы, и его необходимо обновить. Для начала проверьте сертификат:

  1. В меню «Пуск» выберите пункт «Все программы» → «КриптоПро».
  2. Откройте «КриптоПро CSP сервис» и выберите команду «Протестировать».
  3. Нажмите кнопку «По сертификату» и укажите нужный файл.

При наличии ошибки в СЭП система на нее укажет.

Удаление программы

Если никаких проблем не обнаружено, ошибку неправильного алгоритма поможет устранить переустановка СКЗИ:

  1. Найти криптопровайдер через «Пуск».
  2. Выбрать команду «Удалить».
  3. Перезагрузить ПК.

Чтобы новая программа работала корректно, перед установкой требуется удалить все следы старой версии с помощью фирменной утилиты cspclean от CryptoPro:

  1. Запустить файл cspclean.exe на рабочем столе.
  2. Подтвердить удаление продукта клавишей «ДА».
  3. Перезагрузить компьютер.

Контейнеры, сохраненные в реестре, удалятся автоматически.

Установка актуального релиза

Дистрибутивы для скачивания СКЗИ размещены в разделе «Продукты» и доступны для скачивания всем авторизованным пользователям. Создание ЛК занимает не более 5 минут:

  1. Нажмите кнопку «Регистрация».
  2. Введите личные данные и подтвердите согласие на доступ к персональной информации.

В каталоге продуктов выберите версию криптопровайдера с учетом ОС, загрузите установщик на ПК, запустите его и следуйте подсказкам. При установке ПО требуется указать серийный номер лицензии (если срок действия еще не истек). Эту информацию можно уточнить в приложении к договору.

По отзывам пользователей, переустановка ПК почти всегда помогает в устранении ошибки «0x80090008». Если проблема не решена, рекомендуется написать в техподдержку разработчика или обратиться к официальному дистрибьютору, у которого вы купили лицензию.

КриптоПро вставлен другой носитель: как исправить

Ошибка «Вставьте ключевой носитель» или «Вставлен другой носитель» возникает при попытке подписания электронного документа. Сначала следует убедиться, что USB-токен с сертификатом подключен к ПК (в качестве носителя используются защищенные криптоключи или обычные флешки). Токен должен соответствовать сертификату. Если носитель подсоединен к ПК, но сообщение об ошибке все равно появляется, следует переустановить сертификат через CryptoPro:

  1. Открыть меню «Пуск» → «Панель управления» → «КриптоПро CSP».
  2. Зайти во вкладку «Сервис» → «Посмотреть сертификаты в контейнере» → «Обзор».
  3. Выбрать из списка ключевой контейнер, нажать ОК и «Далее».
  4. Нажать «Установить». Если появится предупреждение о том, что сертификат уже присутствует в хранилище, дать согласие на его замену.
  5. Дождаться загрузки сертификата в хранилище «Личное» и нажать ОК.

После переустановки рекомендуется перезагрузить ПК. Для первичной инсталляции СКПЭП применим аналогичный алгоритм действий.

Мы готовы помочь!

Задайте свой вопрос специалисту в конце статьи. Отвечаем быстро и по существу. К комментариям

Недостаточно прав для выполнения операции в КриптоПро

Ошибка сопровождается уведомлением «У компонента недостаточно прав для доступа к сертификатам». Чаще всего возникает в двух ситуациях:

  1. При попытке авторизоваться в ЛК, например, на портале контролирующего органа, куда нужно отправить отчет (при нажатии на пиктограмму «Вход по сертификату»).
  2. При проверке КЭП (при нажатии кнопки «Проверить» в разделе «Помощь»).

Если система уведомила пользователя, что у него недостаточно прав для выполнения операции в КриптоПро, проблема может иметь следующие причины:

  • не установлен КриптоПро ЭЦП Browser plug-in 2.0 (или стоит его старая сборка);
  • сайт, куда пытается войти клиент, не добавлен в каталог доверенных (надежных) ресурсов.

Browser plug-in — обязательный компонент для применения ЭП на веб-страницах. Он расширяет возможности криптопровайдера, позволяет формировать и проверять электронную подпись на интернет-ресурсах. Без этой программы, КриптоПро не сможет связаться с веб-страницей и реализовать на ней функции КЭП. Пользователи ничего не платят за этот модуль, он размещен в свободном доступе на сайте и совместим с любыми операционными системами. Как установить:

  1. Сохранить дистрибутив cadesplugin.exe.
  2. Запустить инсталляцию, кликнув по значку установщика.
  3. Разрешить программе внесение изменений клавишей «Да».

Появится уведомление об успешном результате. Нажмите ОК и перезагрузите браузер, чтобы коррективы вступили в силу.

Для работы с сертификатом ЭП рекомендуется использовать браузер Microsoft Internet Explorer (MIE) — для него не требуются дополнительные настройки. На завершающем этапе необходимо добавить сайт в список доверенных:

  1. Через меню «Пуск» (CTRL+ESC) найти продукт КриптоПро CSP.
  2. Зайти в настройки плагина ЭЦП Browser.
  3. В разделе «Список доверенных узлов» ввести адреса всех ресурсов, принимающих ваш сертификат.

Если после перезагрузки ПК проблема не решена, рекомендуется удалить плагин и выполнить повторную инсталляцию.

Выпустим и настроим электронную подпись для сотрудника прямо в день обращения!

Оставьте заявку и получите консультацию.

Ошибка исполнения функции при подписании ЭЦП

Ошибка свидетельствует об отсутствии лицензии на продукт КриптоПро CSP. Зачастую она возникает при попытке подписать документ на торговых площадках или в информационных системах (ЕГАИС, ЖКХ, Росреестр, Госуслуги и др.).

Лицензия на криптопровайдер может быть привязана к АРМ или встроена в сертификат ЭП. В первом случае необходимо убедиться, что лицензия введена на рабочем ПК и актуальна. Срок действия можно уточнить на вкладке «Общее» в меню запущенного криптопровайдера. Если он истек, необходимо обратиться к разработчику или официальному дистрибьютору для продления или покупки новой лицензии. Во втором случае ошибка исполнения функции при подписании ЭЦП возникает при отсутствии установленного на ПК сертификата.

Ошибка при проверке цепочки сертификатов в КриптоПро

Юридически значимую документацию можно заверить электронной подписью только в том случае, если СКЗИ подтвердит надежность (доверенность) сертификата. Для этого программа проверяет цепочку сертификации (ЦС), состоящую из таких элементов:

  • корневой сертификат от Минкомсвязи (начальное звено цепи), выданный УЦ;
  • промежуточный сертификат УЦ (ПС);
  • СКПЭП.

Правильно построенная ЦС подтверждает, что СКПЭП (конечное звено) имеет доверенный путь (от Минкомсвязи к УЦ, от УЦ к пользователю). Ошибка при проверке цепочки сертификатов в КриптоПро свидетельствует о том, что минимум один элемент в этой системе искажен. ЭП при этом считается недействительной и не принимается для подписания файлов.

Причина Решение
Один из сертификатов поврежден или некорректно установлен Переустановить сертификат
Неправильно установлено СКЗИ (или стоит устаревшая версия) Удалить и заново установить программу
Устаревшая версия веб-браузера Обновить браузер
На ПК не актуализированы дата и время Указать в настройках компьютера правильные значения

На первой причине остановимся подробнее. Чтобы проверить состояние ЦС, откройте папку криптопровайдера, выберите раздел «Сертификаты» → «Личное». Если цепочка нарушена, во вкладке «Общее» будет сообщение о том, что СКПЭП не удалось проверить на надежность.

Устранение сбоя следует начинать с верхнего звена (КС). Файл предоставляется клиенту в удостоверяющем центре вместе с остальными средствами: ключи, СКПЭП, промежуточный сертификат и физический носитель. Кроме того, его можно скачать бесплатно на сайте Казначейства (КС для всех одинаковый). Как загрузить КС:

  1. Открыть документ от Минкомсвязи на компьютере.
  2. В разделе «Общее» выбрать команду установки.
  3. Установить галочку напротив пункта «Поместить в хранилище».
  4. Из списка выбрать папку «Доверенные корневые центры».
  5. Нажать «Далее» — появится уведомление об успешном импорте.

По завершении процедуры рекомендуется перезагрузить ПК. Если сбой не устранен, переходим к промежуточному компоненту. При утере ПС его можно загрузить с официального сайта УЦ. Процесс установки такой же, как и для КС, но в качестве хранилища должно быть указано «Промежуточные центры».

После перезагрузки ПК снова зайдите в папку «Личное» и откройте СКПЭП. Если во вкладке «Путь сертификации» будет статус «Сертификат действителен» — ошибка устранена.

Электронная подпись описи содержания пакета недействительна

Одной КЭП можно сразу заверить несколько файлов. В одном письме адресат может отправлять комплект документации и отдельно к нему опись, где перечислены все файлы. Перечень документов тоже нужно визировать ЭП.

Если при попытке заверить ведомость пользователь увидит сообщение о недействительности сертификата, значит подписать основной комплект тоже не удастся. Эта ошибка распространяется на все типы файлов, а не на какой-то конкретный документ.

Причина сбоя — нарушение доверенной цепочки, о которой было сказано ранее. В первую очередь следует проверить наличие и корректность КС и ПС. Если они установлены, удалите эти файлы и загрузите снова.

Проблемы с браузером

Для заверки электронных файлов в интернете разработчик СКЗИ рекомендует использовать встроенный веб-обозреватель MIE. Но даже с ним бывают сбои. Если это произошло, зайдите в браузер под ролью администратора:

  1. Кликните по значку браузера на рабочем столе.
  2. В контекстном меню выберите соответствующую роль.

Чтобы всякий раз не предпринимать лишние действия, в настройках можно задать автоматический доступ под нужными правами. Неактуальную версию браузера необходимо обновить до последнего релиза. Также следует отключить антивирусные программы, так как многие из них блокируют работу СКЗИ, воспринимая как вредоносное ПО.

Не работает служба инициализации

Если работа сервиса инициализации Crypto Pro приостановлена, СКПЭП тоже не будет работать. Запустите командную строку клавишами Win+R:

  1. Введите команду services.msc.
  2. В разделе «Службы» выберите «Службу инициализации» и проверьте в свойствах ее активность.

Если сервис отключен, запустите его и нажмите ОК. После перезапуска ПК электронная подпись должна снова работать корректно.

Сертификаты не отвечают критериям КриптоПро

Ошибка всплывает при попытке авторизоваться в информационной госсистеме (например, «Электронный Бюджет» и др.). Пользователь видит сообщение следующего содержания:

Первый способ устранения сбоя — «снести» СКЗИ и поставить заново, как описано выше. Если это вариант не сработал, значит проблема кроется в неправильном формировании ЦС. Рассмотрим на примере. Отправитель зашел в СКПЭП и в подразделе «Общее» увидел статус «Недостаточно информации для проверки этого сертификата». В первую очередь рекомендуется проверить наличие корневого сертификата в цепочке и при его отсутствии выполнить установку (алгоритм описан ранее). Если этот метод не помог, на форуме разработчика приводится еще один способ: от имени администратора вызвать «Пуск» → «Выполнить» → «regedit». Далее необходимо удалить ветки:

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

«1С-ЭДО» не видит КриптоПро CSP

«1С-ЭДО» — программа для обмена электронными документами, интегрированная в учетную базу «1С». Сервис позволяет удаленно взаимодействовать с контрагентами и отправлять отчетность в надзорные органы (ФНС, ПФР, ФСС, Росстат и др.). Чтобы документы приобрели юридическую силу, их необходимо заверить квалифицированной ЭП. Если сервис «1С-ЭДО» «не видит» ключ в КриптоПро CSP, рекомендованы следующие действия:

  • проверить, установлена ли на компьютере актуальная версия криптопровайдера;
  • при наличии СКЗИ уточнить, соответствует ли оно той программе, которая была указана в настройках обмена с «1С».

Как проверить настройки криптопровайдера:

  1. Запустить сервис «1С-ЭДО».
  2. Перейти в раздел «Отчеты» → «Регламентированные отчеты».
  3. Нажать кнопку «Настройки».
  4. В подразделе «Документооборот с контролирующими органами» нажать кнопку «Здесь».

Если в поле «Криптопровайдер» указана не та программа, которая установлена на ПК (например, VipNet), поменяйте ее в настройках и сохраните клавишей ОК. Для правильной работы сервиса ЭДО рекомендуется использовать на одном АРМ только один из сертифицированных провайдеров.

Подберем USB-носитель для ЭП. Доставка — в любую точку России!

Оставьте заявку и получите консультацию в течение 5 минут.

Оцените, насколько полезна была информация в статье?

Наш каталог продукции

У нас Вы найдете широкий ассортимент товаров в сегментах
кассового, торгового, весового, банковского и офисного оборудования.

Посмотреть весь каталог

Я пытаюсь прочитать закрытый ключ сертификата, который был предоставлен мне сторонним поставщиком услуг, поэтому я могу использовать его для шифрования некоторого XML перед отправкой ему по сети. Я делаю это программно на С#, но я думаю, что это проблема с разрешениями или неправильной настройкой, поэтому я сосредоточусь на фактах, которые кажутся наиболее важными:

  • Я не думаю, что эта проблема связана с кодом; мой код работает на других компьютерах, и проблема касается образца кода от Microsoft.
  • Сертификат был предоставлен в виде файла PFX и предназначен только для целей тестирования, поэтому он также включает фиктивный центр сертификации.
  • Используя MMC.exe, я могу импортировать сертификат в личное хранилище для локального компьютера, прежде чем предоставлять разрешения на закрытый ключ всем соответствующим учетным записям и перетаскивать центр сертификации в доверенные корневые центры сертификации.
  • Используя C#, я могу загрузить сертификат (идентифицированный по его отпечатку) и убедиться, что у него есть закрытый ключ, используя X509Certificate2.HasPrivateKey. Однако попытка прочитать ключ вызывает ошибку. В .NET выдается CryptographicException с сообщением «Указан неверный тип поставщика» при попытке доступа к свойству X509Certificate2.PrivateKey. В Win32 вызов метода CryptAcquireCertificatePrivateKey возвращает эквивалентный результат HRESULT, NTE_BAD_PROV_TYPE.
  • Это то же самое исключение, которое также возникает при использовании двух собственных примеров кода Microsoft для чтения закрытого ключа сертификата.
  • Установка того же сертификата в эквивалентном хранилище для текущего пользователя вместо локального компьютера позволяет успешно загрузить закрытый ключ.
  • У меня Windows 8.1 с правами локального администратора, и я пробовал запускать свой код как в обычном, так и в повышенном режимах. Коллеги на Windows 7 и Windows 8 смогли загрузить ключ из хранилища локального компьютера для того же сертификата.
  • Я могу успешно прочитать закрытый ключ самозаверяющего тестового сертификата IIS, который находится в том же месте хранилища.
  • Я уже ориентируюсь на .NET 4.5 (об этой ошибке сообщалось в некоторых более старых версиях платформы).
  • Я не думаю, что это проблема с шаблонами сертификатов, потому что я ожидаю, что это одинаково повлияет как на локальный компьютер, так и на хранилища текущего пользователя?

В отличие от моих коллег, я предпринял несколько предыдущих попыток удалить и переустановить сертификат различными способами, в том числе с помощью диспетчера IIS, а также с использованием более старого сертификата того же эмитента. Я не вижу следов старых или повторяющихся сертификатов в MMC. Однако у меня есть много файлов закрытых ключей одинакового размера, которые, судя по времени последней записи, должны были быть оставлены после моих различных попыток установки. Они находятся в следующих местах для локального компьютера и текущих пользовательских хранилищ соответственно:

C:ProgramDataMicrosoftCryptoRSAMachineKeys

C:UsersAppDataRoamingMicrosoftCryptoRSAS-1-5-21-[остальный идентификатор пользователя]

Итак, может ли кто-нибудь посоветовать:

  • Это хорошая идея удалить сертификат с помощью MMC, удалить все те файлы, которые выглядят как потерянные закрытые ключи, а затем переустановить сертификат и повторить попытку?
  • Есть ли другие файлы, которые я должен попытаться удалить вручную?
  • Есть что-нибудь еще, что я должен попробовать?

ОБНОВЛЕНИЕ. Добавлен пример кода, показывающий попытку чтения закрытого ключа:

static void Main()
{
    // Exception occurs when trying to read the private key after loading certificate from here:
    X509Store store = new X509Store("MY", StoreLocation.LocalMachine);
    // Exception does not occur if certificate was installed to, and loaded from, here:
    //X509Store store = new X509Store("MY", StoreLocation.CurrentUser);

    store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);

    X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
    X509Certificate2Collection fcollection = (X509Certificate2Collection)collection.Find(X509FindType.FindByTimeValid, DateTime.Now, false);
    X509Certificate2Collection scollection = X509Certificate2UI.SelectFromCollection(fcollection, "Test Certificate Select", "Select a certificate from the following list to get information on that certificate", X509SelectionFlag.MultiSelection);
    Console.WriteLine("Number of certificates: {0}{1}", scollection.Count, Environment.NewLine);

    foreach (X509Certificate2 x509 in scollection)
    {
        try
        {
            Console.WriteLine("Private Key: {0}", x509.HasPrivateKey ? x509.PrivateKey.ToXmlString(false) : "[N/A]");
            x509.Reset();
        }
        catch (CryptographicException ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
    store.Close();

    Console.ReadLine();
}

20 ответов

У меня была такая же проблема в Windows 8 и Server 2012/2012 R2 с двумя новыми сертификатами, которые я недавно получил. В Windows 10 проблема больше не возникает (но мне это не помогает, так как код, управляющий сертификатом, используется на сервере). Хотя решение Джо Строммена в принципе работает, другая модель закрытого ключа потребует значительных изменений в коде, использующем сертификаты. Я считаю, что лучшим решением является преобразование закрытого ключа из CNG в RSA, как объяснил Реми Блок здесь.

Remy использует OpenSSL и два старых инструмента для преобразования закрытого ключа, мы хотели автоматизировать его и разработали решение только для OpenSSL. Учитывая MYCERT.pfx с паролем закрытого ключа MYPWD в формате CNG, выполните следующие действия для получения нового CONVERTED.pfx с закрытым ключом в формате RSA и тем же паролем:

  1. Извлечь открытые ключи, полную цепочку сертификатов:
OpenSSL pkcs12 -in "MYCERT.pfx" -nokeys -out "MYCERT.cer" -passin "pass:MYPWD"
  1. Извлечь закрытый ключ:
OpenSSL pkcs12 -in "MYCERT.pfx" -nocerts -out "MYCERT.pem" -passin "pass:MYPWD" -passout "pass:MYPWD"
  1. Преобразование закрытого ключа в формат RSA:
OpenSSL rsa -inform PEM -in "MYCERT.pem" -out "MYCERT.rsa" -passin "pass:MYPWD" -passout "pass:MYPWD"
  1. Объедините открытые ключи с закрытым ключом RSA в новый PFX:
OpenSSL pkcs12 -export -in "MYCERT.cer" -inkey "MYCERT.rsa" -out "CONVERTED.pfx" -passin "pass:MYPWD" -passout "pass:MYPWD"

Если вы загрузите преобразованный pfx или импортируете его в хранилище сертификатов Windows вместо pfx формата CNG, проблема исчезнет, ​​и код C# не нужно будет изменять.

Еще одна проблема, с которой я столкнулся при автоматизации: мы используем длинные сгенерированные пароли для закрытого ключа, и пароль может содержать ". Для командной строки OpenSSL символы " внутри пароля должны быть экранированы как "".


46

JLRishe
11 Май 2021 в 20:34

В моем случае я пытался использовать самозаверяющий сертификат с командой PowerShell New-SelfSignedCertificate. По умолчанию он будет генерировать сертификат с использованием API CNG (Crypto-Next Generation) вместо старого/классического криптографического CAPI. Некоторые старые фрагменты кода будут иметь проблемы с этим; в моем случае это была более старая версия провайдера IdentityServer STS.

Добавив это в конец моей команды New-SelfSignedCertificate, я решил проблему:

-KeySpec Обмен ключами

Ссылка на переключатель для команды powershell:

https://docs.microsoft.com/en-us/powershell/module/pkiclient/new-selfsignedcertificate?view=win10-ps


30

enablor
22 Апр 2019 в 23:18

Вот еще одна причина, по которой это может произойти, это была странная проблема, и после дня борьбы я решил проблему. В качестве эксперимента я изменил разрешение для папки «C:ProgramDataMicrosoftCryptoRSAMachineKeys», в которой хранятся данные закрытого ключа для сертификатов, использующих хранилище машинных ключей. Когда вы меняете разрешение для этой папки, все закрытые ключи отображаются как «поставщик Microsoft Software KSP», который не является поставщиком (в моем случае они должны быть «поставщиком криптографии Microsoft RSA Schannel»).

Решение. Сбросьте права доступа к папке Machinekeys.

Исходное разрешение для этой папки можно найти здесь. В моем случае я изменил разрешение на «Все», дал разрешения на чтение, где он снял галочку «Особые разрешения». Поэтому я проверил с одним из членов моей команды (щелкните правой кнопкой мыши папку> Свойства> Безопасность> Дополнительно> выберите «Все»> Изменить> Нажмите «Дополнительные настройки» в списке флажков разрешений.

Special permissions

Надеюсь, это спасет чей-то день!

Здесь я нашел ответ источник, ему принадлежит заслуга документирование этого.


15

Dhanuka777
12 Янв 2017 в 02:56

В моем случае следующий код отлично работал на локальном хосте (как NET 3.5, так и NET 4.7):

 var certificate = new X509Certificate2(certificateBytes, password);

 string xml = "....";
 XmlDocument xmlDocument = new XmlDocument();
 xmlDocument.PreserveWhitespace = true;
 xmlDocument.LoadXml(xml);

 SignedXml signedXml = new SignedXml(xmlDocument);
 signedXml.SigningKey = certificate.PrivateKey;

 //etc...

Но произошел сбой при развертывании в веб-приложении Azure в certificate.PrivateKey.

Это сработало, изменив код следующим образом:

 var certificate = new X509Certificate2(certificateBytes, password, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
                                                                   //^ Here
 string xml = "....";
 XmlDocument xmlDocument = new XmlDocument();
 xmlDocument.PreserveWhitespace = true;
 xmlDocument.LoadXml(xml);

 SignedXml signedXml = new SignedXml(xmlDocument);
 signedXml.SigningKey = certificate.GetRSAPrivateKey();
                                      // ^ Here too

 //etc...

Целый день работы, потерянный благодаря Microsoft Azure, еще раз в моей жизни.


13

sports
26 Мар 2019 в 00:42

Ссылка на Блог Алехандро является ключевым.

Я считаю, что это связано с тем, что сертификат хранится на вашем компьютере с API CNG («Crypto Next-Generation»). Старый .NET API несовместим с ним, поэтому он не работает.

Для этого API можно использовать оболочку Security.Cryptography (доступно на Codeplex). Это добавляет методы расширения к X509Certificate/X509Certificate2, поэтому ваш код будет выглядеть примерно так:

using Security.Cryptography.X509Certificates; // Get extension methods

X509Certificate cert; // Populate from somewhere else...
if (cert.HasCngKey())
{
    var privateKey = cert.GetCngPrivateKey();
}
else
{
    var privateKey = cert.PrivateKey;
}

К сожалению, объектная модель закрытых ключей CNG немного отличается. Я не уверен, что вы можете экспортировать их в XML, как в исходном примере кода… в моем случае мне просто нужно было подписать некоторые данные закрытым ключом.


10

Joe Strommen
11 Июл 2015 в 00:41

Как указывалось во многих других ответах, эта проблема возникает, когда закрытый ключ представляет собой ключ Windows Cryptography: Next Generation (CNG) вместо «классического» ключа Windows Cryptographic API (CAPI).

Начиная с .NET Framework 4.6 доступ к закрытому ключу (при условии, что это ключ RSA) можно получить с помощью метода расширения на X509Certificate2: cert.GetRSAPrivateKey().

Когда закрытый ключ хранится в CNG, метод расширения GetRSAPrivateKey вернет объект RSACng (новое для платформы в версии 4.6). Поскольку CNG имеет сквозной доступ для чтения старых программных ключей CAPI, GetRSAPrivateKey обычно возвращает RSACng даже для ключа CAPI; но если CNG не может его загрузить (например, это ключ HSM без драйвера CNG), тогда GetRSAPrivateKey вернет RSACryptoServiceProvider.

Обратите внимание, что тип возвращаемого значения для GetRSAPrivateKeyRSA. Начиная с .NET Framework v4.6 вам не нужно выполнять приведение за пределы RSA для стандартных операций; единственная причина использовать RSACng или RSACryptoServiceProvider — это когда вам нужно взаимодействовать с программами или библиотеками, которые используют NCRYPT_KEY_HANDLE или идентификатор ключа (или открывая постоянный ключ по имени). (В .NET Framework v4.6 было много мест, где входной объект по-прежнему приводился к RSACryptoServiceProvider, но все они были устранены в версии 4.6.2 (конечно, на тот момент это было более двух лет назад)).

Поддержка сертификатов ECDSA была добавлена ​​в 4.6.1 с помощью метода расширения GetECDsaPrivateKey, а DSA был обновлен в 4.6.2 с помощью GetDSAPrivateKey.

В .NET Core возвращаемое значение из Get[Algorithm]PrivateKey меняется в зависимости от ОС. Для RSA это RSACng/RSACryptoServiceProvider в Windows, RSAOpenSsl в Linux (или любой UNIX-подобной ОС, кроме macOS) и закрытый тип в macOS (это означает, что вы не можете это за RSA).


3

bartonjs
4 Окт 2018 в 23:38

Используя Visual Studio 2019 и IISExpress, я смог исправить эту проблему, удалив следующий флаг при загрузке файла .pfx|.p12:

X509KeyStorageFlags.MachineKeySet

Перед:

X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable

После:

X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable

Обычно я загружаю сертификат следующим образом:

var myCert = new X509Certificate2("mykey.pfx", "mypassword", X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);

Это НЕ вызывает исключение, вместо этого исключение возникает при попытке использовать сертификат (или, в моем случае, при попытке получить .PrivateKey). Я обнаружил, что эта проблема может быть вызвана тем, что у вызывающего пользователя недостаточно прав.

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

Более органичным решением было бы проверить уровень разрешений и установить этот флаг динамически, однако я не знаю простого способа сделать это, отсюда и запасной вариант.

ПРИМЕЧАНИЕ. Файл .pfx, который я использую, был создан с веб-сайта, использующего библиотеку JavaScript (digitalbazaar/forge), которая НЕ использует поставщики хранилища ключей CNG (Cryptography Next Generation). . вот много распространенных причин для этой же ошибки (наиболее распространенные исправления, связанные с расширениями CNG, которые, к сожалению, даже изменили пространства имен в версиях .NET), которые вызывают ту же ошибку. Microsoft в конечном итоге должна быть более подробной при выдаче ошибок такого типа.


3

tresf
1 Ноя 2019 в 21:45

Что сработало для меня: IIS/Пул приложений/Загрузить профиль пользователя = true


2

Michael Aguilar
21 Ноя 2019 в 01:49

Версия Powershell ответа от @berend-engelbrecht, при условии, что openssl установлен через chocolatey

function Fix-Certificates($certPasswordPlain)
{
    $certs = Get-ChildItem -path "*.pfx" -Exclude "*.converted.pfx"
    $certs | ForEach-Object{
        $certFile = $_

        $shortName = [io.path]::GetFileNameWithoutExtension($certFile.Name)
        Write-Host "Importing $shortName"
        $finalPfx = "$shortName.converted.pfx"


        Set-Alias openssl "C:Program FilesOpenSSLbinopenssl.exe"

        # Extract public key
        OpenSSL pkcs12 -in $certFile.Fullname -nokeys -out "$shortName.cer" -passin "pass:$certPasswordPlain"

        # Extract private key
        OpenSSL pkcs12 -in $certFile.Fullname -nocerts -out "$shortName.pem" -passin "pass:$certPasswordPlain" -passout "pass:$certPasswordPlain"

        # Convert private key to RSA format
        OpenSSL rsa -inform PEM -in "$shortName.pem" -out "$shortName.rsa" -passin "pass:$certPasswordPlain" -passout "pass:$certPasswordPlain" 2>$null

        # Merge public keys with RSA private key to new PFX
        OpenSSL pkcs12 -export -in "$shortName.cer" -inkey "$shortName.rsa" -out $finalPfx -passin "pass:$certPasswordPlain" -passout "pass:$certPasswordPlain"

        # Clean up
        Remove-Item "$shortName.pem"
        Remove-Item "$shortName.cer"
        Remove-Item "$shortName.rsa"

        Write-Host "$finalPfx created"
    }
}

# Execute in cert folder
Fix-Certificates password


1

fiat
2 Сен 2018 в 02:25

Я столкнулся с той же проблемой в нашем приложении IIS:

 System.Security.Cryptography.Pkcs.PkcsUtils.CreateSignerEncodeInfo(CmsSigner signer, Boolean silent)
    System.Security.Cryptography.Pkcs.SignedCms.Sign(CmsSigner signer, Boolean silent)
    System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(CmsSigner signer, Boolean silent)

Регенерация сертификатов, как упоминалось здесь, не помогла. Я также заметил, что тестовое консольное приложение отлично работает под пользователем пула.

Проблема исчезла после очистки параметра «Включить 32-разрядные приложения» для пула приложений IIS.


1

Vadim Kiselev
21 Май 2019 в 10:24

Для службы .net 4.8 WCF я получал эту ошибку, потому что я (также) не установил версию httpRuntime.

Без набора httpRuntime я получал ошибку всякий раз, когда присутствовала защищенная привязка .net tcp.

<system.web>
    <compilation targetFramework="4.8" />
    <httpRuntime targetFramework="4.8" />
    <!--<customErrors mode="Off" />-->
</system.web>

Я уже настроил необходимые разрешения в mmc.exe -> добавить оснастку -> сертификаты -> личные -> все задачи -> управлять закрытыми ключами -> добавить [имя компьютера]IIS_IUSRS (все мои пулы приложений — это ApplicationPoolIdentity [по умолчанию ] — что покрывается IIS_IUSRS)


1

DavidG
11 Сен 2020 в 02:11

Свойства PrivateKey и PublicKey устарели, начиная с NET 4.6. Пожалуйста, используйте:

  • cert.GetRSAPrivateKey() или GetECDsaPrivateKey()
  • cert.GetRSAPublicKey() или GetECDsaPublicKey()

Отношении


1

Martin.Martinsson
3 Ноя 2020 в 15:24

После принятого ответа (с указанием KeySpec) исключение изменилось на System.Security.Cryptography.CryptographicException: Invalid provider type specified.. Я разрешил это исключение, предоставив моему веб-приложению доступ к закрытому ключу (IIS_IUSRS). Я обнаружил, что это также решит проблему с моим исходным сертификатом. Поэтому перед созданием и развертыванием новых сертификатов также проверьте разрешения закрытого ключа.


1

Bouke
11 Ноя 2020 в 12:59

Проблема в том, что ваш код не может прочитать файл PFX. преобразовать файл pfx в формат RSA, выполнив следующие шаги.

Получите сертификат и извлеките файл pfx из сертификата.

Используйте пароль 123456 ниже, чтобы иметь быстрое решение.

Переименуйте свой файл pfx в «my.pfx», чтобы упростить его, и поместите его в «C: Certi», убедитесь, что в вашей системе уже установлен открытый SSL. откройте cmd в системе Windows и введите —> OpenSSL Сохраняйте спокойствие и просто запускайте их по одному —> скопируйте и вставьте. *Примечание

passin — ваш пароль к файлу Pfx. —passout — новый пароль для преобразованного файла pfx.

1. pkcs12 -in "C:Certimy.pfx" -nokeys -out "C:CertiMYCERT.cer" -passin "pass:123456"

2. pkcs12 -in "C:Certimy.pfx" -nocerts –out “C:CertiMYCERT.pem" -passin "pass:123456" -passout "pass:123456"

3. rsa -inform PEM -in "C:CertiMYCERT.pem" -out "C:CertiMYCERT.rsa" -passin "pass:123456" -passout "pass:123456"

Если вы столкнулись с проблемой в 3-й команде, перейдите сюда https://decoder.link/converter
Нажмите PKC # 12 на PEM загрузите файл pfx и конвертируйте его онлайн. скачать zip-файл. он содержит 3 файла. просто скопируйте файл «.key», переименуйте его в my.key и поместите в «C:Certi»

4. rsa -in C:Certimy.key -out C:Certidomain-rsa.key

5. pkcs12 -export -in "C:CertiMYCERT.cer" -inkey "C:Certidomain-rsa.key" -out "C:CertiCONVERTED.pfx" -passin "pass:123456" -passout "pass:123456"


**Also, you can try below things if the issue still persists**
  • При наличии доступа к пулу приложений или пользователю IIS к папке «обязательно делать»

Путь — > C:ProgramDataMicrosoftCryptoRSAMachineKeys

  • Удалить старые ключи (убрать беспорядок)
    Путь — > C:ProgramDataMicrosoftCryptoRSAMachineKeys


0

Manoj Kargeti
14 Янв 2020 в 11:35

Эта ошибка исчезла после того, как я удалил сертификат из хранилища и снова импортировал его из файла .pfx с помощью мастера импорта сертификатов (дважды щелкните файл .pfx) и дополнительной опции импорта.

После проверки опции импорта (тот же шаг, когда вводится пароль):

«Отметьте этот ключ как экспортируемый. Это позволит вам создать резервную копию или перенести ваши ключи позже».

Доступ к приватному ключу теперь можно получить из кода без каких-либо ошибок.

Я также явно выбираю «Личный» магазин на предпоследнем шаге, но я не думаю, что это имеет значение.


0

Tikall
30 Янв 2020 в 17:21

Кажется, в Windows 10, если я запущу свою программу без прав администратора (независимо от того, использую ли я свойство PrivateKey или метод расширения GetRSAPrivateKey()), я увижу это исключение (исключение см. в заголовке этой ветки обсуждения). Если я запущу свою программу с правами администратора и использую свойство PrivateKey, я также увижу это исключение. Только если я запущу свою программу с правами администратора и использую метод расширения GetRSAPrivateKey(), я не увижу это исключение.


0

robbie fan
16 Мар 2020 в 16:49

У меня также была эта проблема, я изменил «.jks» на «.pfx», не вводя пароль, как только я снова изменил тип хранилища ключей с паролем, он успешно работал.


0

Selwade
18 Окт 2021 в 11:21

Operlaw пишет: Вообщем вот инструкция от КБ.
1. Удалить с АРМ КриптоПРО.
2. Перезагрузить ПК.
3. Удалить Континент АП.
4. Перезагрузить ПК.
5. Очистить систему утилитой от КриптоПРО (запуск от имени администратора) — www.cryptopro.ru/sites/default/files/public/cspclean.exe
6. Очистить систему утилитой от Кода Безопасности (запуск из командной строки от имени администратора с ключами –t и –v) —
Ссылка на утилиту CspCleaner.exe:
cloud.securitycode.ru/nextcloud/index.php/s/QfrzbrM5Gmd4PpN
Пароль: 5iXBS346
7. В случае, если запуск будет произведен не от имени администратора, утилита завершится без вывода какой-либо информации и очистка произведена не будет.
8. Перезагрузить ПК.
9. Установить КриптоПРО.
10. Перезагрузить ПК.
11. Установить Континент АП. При устанавки КАП выбрать максимальную установку с датчиками, с КБ CSP, и т.д.
12. Перезагрузить ПК.
13. В настройках КБ CSP установить биологический ДСЧ в место физического.

И все заработает.

Не работает, выдаёт эту ошибку. А при установке Континента ап (последний 651) нет биологического накопления МИШЕНИй.,они не появляются

I just got a paid certificate from Entrust, Provider = Microsoft RSA SChannel Cryptographic Provider
The private key is correct — and by all accounts this certificate should work!

However, SF refuses to use it.

Even weirder — If I try to use this as an aspnet Core 2 certificate — it works on local SF dev cluster — but once I deploy it, it fails to find the certificate. Hence there seems to be something about this certificate that SF doesn’t like — i.e. code:

using (X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine))
                {
                    store.Open(OpenFlags.ReadOnly);
                    var certCollection = store.Certificates;
                    var currentCerts = certCollection.Find(X509FindType.FindBySubjectDistinguishedName, CNName, true);

Error when creating cluster with this certificate:

20/10/2018 11:56:38 AM - APWLLWS130 - Error - Failed to get the Certificate's private key. Thumbprint:*.xxx.com, O
=XXX, L=XXX, S=XXX, C=CA. Error: FABRIC_E_CERTIFICATE_NOT_FOUND
20/10/2018 11:56:38 AM - APWLLWS130 - Error - Failed to get private key file. x509FindValue: *.XX.com, O=XX, L=XX, S=XX, C=XX, x509StoreName: My, findType: FindBySubjectName, Error FABRIC_E_CERTIFICATE_NOT_FOUND

Full details of certificate:

================ Certificate 6 ================
X509 Certificate:
Version: 3
Serial Number: XXXX
Signature Algorithm:
    Algorithm ObjectId: 1.2.840.113549.1.1.11 sha256RSA
    Algorithm Parameters:
    05 00
Issuer:
    CN=Entrust Certification Authority - L1K
    OU=(c) 2012 Entrust, Inc. - for authorized use only
    OU=See www.entrust.net/legal-terms
    O=Entrust, Inc.
    C=US
  Name Hash(sha1): cc6d221cf6b4552c2f87915f5afef0e1eece83cc
  Name Hash(md5): d28ad6c84bf87658d9937c2df7b35db9

 NotBefore: 5/04/2016 6:21 AM
 NotAfter: 5/04/2019 6:51 AM

Subject:
    CN=*.XXX.com
    O=XXX Limited
    L=XXX
    S=British Columbia
    C=CA
  Name Hash(sha1): dbdd4f61a6bb62aeee8d7797b74be619e5c325bc
  Name Hash(md5): 6e18fd16dc14bdecfc3fbd1c76bfde9e

Public Key Algorithm:
    Algorithm ObjectId: 1.2.840.113549.1.1.1 RSA
    Algorithm Parameters:
    05 00
Public Key Length: 2048 bits
Public Key: UnusedBits = 0
    0000  30 82 01 0a 02 82 01 01  00 cf 0c d5 f1 26 0d d2
    0010  d5 9f eb e7 15 3c 68 14  ac 12 60 e4 f6 11 95 1d
    0020  1d 6f 0e ab 29 7f 7c 47  f9 b5 21 12 88 a0 b8 13
    0030  d1 97 fe d7 d9 92 55 ed  2f 4b 9a ab 22 b2 01 16
    0040  60 1c c1 c8 de 2b 2b 06  d6 14 cc 97 29 72 9a da
    0050  9a f7 8f b6 c8 53 da 50  b0 4e bc 6e cd 52 ea 2b
    0060  ce cd 61 19 e5 3a 8d 4f  f9 5e 85 3e 6c 6a 09 2e
    0070  f7 ea 72 35 3c 55 0a 73  08 a7 e9 61 68 3f 33 5b
    0080  38 e8 8a 84 0a a9 0c 6e  43 24 91 05 6f 0d 7b 9e
    0090  47 c1 98 86 b8 28 c2 f3  90 45 25 03 d5 b2 6f 29
    00a0  a2 0c 9a 9e 54 e5 8b ca  61 47 67 15 ab 0f 24 68
    00b0  25 71 b2 4e b3 4e b9 63  3e 45 6a 93 e8 60 bb f3
    00c0  5e e0 c2 11 53 7b 5c 66  1a 40 e3 ba 54 32 13 f1
    00d0  cf 6e dc 53 fe c9 fb 05  e1 5a c8 77 01 c5 b2 af
    00e0  7b 79 fc 6b e3 0c c8 17  fd 29 df 6b 5c 0a a2 f3
    00f0  6b 83 f0 68 5b da 12 87  0f 59 39 2a d1 23 39 99
    0100  57 37 33 a5 0b a8 b5 9c  cb 02 03 01 00 01
Certificate Extensions: 9
    2.5.29.15: Flags = 0, Length = 4
    Key Usage
        Digital Signature, Key Encipherment (a0)

    2.5.29.37: Flags = 0, Length = 16
    Enhanced Key Usage
        Server Authentication (1.3.6.1.5.5.7.3.1)
        Client Authentication (1.3.6.1.5.5.7.3.2)

    2.5.29.31: Flags = 0, Length = 2c
    CRL Distribution Points
        [1]CRL Distribution Point
             Distribution Point Name:
                  Full Name:
                       URL=http://crl.entrust.net/level1k.crl

    2.5.29.32: Flags = 0, Length = 44
    Certificate Policies
        [1]Certificate Policy:
             Policy Identifier=2.16.840.1.114028.10.1.5
             [1,1]Policy Qualifier Info:
                  Policy Qualifier Id=CPS
                  Qualifier:
                       http://www.entrust.net/rpa
        [2]Certificate Policy:
             Policy Identifier=2.23.140.1.2.2

    1.3.6.1.5.5.7.1.1: Flags = 0, Length = 5c
    Authority Information Access
        [1]Authority Info Access
             Access Method=On-line Certificate Status Protocol (1.3.6.1.5.5.7.48.1)
             Alternative Name:
                  URL=http://ocsp.entrust.net
        [2]Authority Info Access
             Access Method=Certification Authority Issuer (1.3.6.1.5.5.7.48.2)
             Alternative Name:
                  URL=http://aia.entrust.net/l1k-chain256.cer

    2.5.29.17: Flags = 0, Length = 22
    Subject Alternative Name
        DNS Name=*.XXXX
        DNS Name=XXXX

    2.5.29.35: Flags = 0, Length = 18
    Authority Key Identifier
        KeyID=82 a2 70 74 dd bc 53 3f cf 7b d4 f7 cd 7f a7 60 c6 0a 4c bf

    2.5.29.14: Flags = 0, Length = 16
    Subject Key Identifier
        f9 c8 19 ed c4 e0 9f 4f 1f 55 a3 9e 75 a3 8e ab 16 78 41 66

    2.5.29.19: Flags = 0, Length = 2
    Basic Constraints
        Subject Type=End Entity
        Path Length Constraint=None

Signature Algorithm:
    Algorithm ObjectId: 1.2.840.113549.1.1.11 sha256RSA
    Algorithm Parameters:
    05 00
Signature: UnusedBits=0
    0000  a0 c1 64 2f c5 49 3e 3c  f2 ea a2 b5 d6 7e d5 61
    0010  29 ba 07 bd 9b b7 b8 1f  4c ef 8a f7 65 ce 8e 03
    0020  8c 15 f0 d1 4c 69 3a 2e  9a b5 07 89 be dc 77 c3
    0030  77 91 db 25 83 11 1d 8a  40 a5 12 64 f4 7c a3 bd
    0040  0d eb ac 0c 13 3e 0c 2e  09 cf 73 72 f4 8d 02 3b
    0050  37 0b a3 c2 01 04 9b f0  1f fb 87 36 90 0f 66 10
    0060  8e e3 8a e2 86 a0 4c 65  3f 36 fb 15 a2 ac 57 fd
    0070  c5 94 5b 2d f3 cd 63 30  8e 60 98 ae df 91 0e d9
    0080  bd 60 33 4f 75 d6 92 62  f3 19 1f 93 6b bd e6 8f
    0090  83 34 88 c8 48 87 44 70  e8 96 23 d1 c6 63 82 c5
    00a0  2b e9 77 44 5f 4b d6 8c  a2 da be b3 56 02 70 eb
    00b0  23 b9 c6 46 b1 29 32 48  d8 46 c3 ed 35 1f cd 65
    00c0  57 02 8c 03 b9 61 c6 20  ce 06 f9 6d d1 8b 2a 79
    00d0  f7 8d 87 d6 a7 0d fe 69  85 b0 af d6 4e b8 2b 22
    00e0  7a ea 50 88 2b 25 d7 b1  d0 23 16 e9 9a 2d a3 6b
    00f0  7b aa 95 3a 3c 44 dd c8  15 41 94 dd 81 c5 de b0
Non-root Certificate
Key Id Hash(rfc-sha1): f9c819edc4e09f4f1f55a39e75a38eab16784166
Key Id Hash(sha1): daac6db6c7bc544e39c991a629a2280619fd6e6d
Key Id Hash(md5): 64c265f978b95775601823308ec52b63
Key Id Hash(sha256): 25107e721d662078a6680ca105162294c9e3755af53a13a6a248d49ad9d29043
Cert Hash(md5): c3b91d6fd29a96692ae3f0920a31f8ca
Cert Hash(sha1): 15cf70a8ffa6049e17915afd55ff7bc25eb19eb2
Cert Hash(sha256): 50bdd8af8d096446918837f877a8c9f8e8fdeb7e4bd545323490a987954b267a
Signature Hash: 7c9ec9cf0c20b31530805d5bc34efad1a11d390d652ed0040cedc0e1dc9f2080

  CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID(25):
    64c265f978b95775601823308ec52b63

  CERT_MD5_HASH_PROP_ID(4):
    c3b91d6fd29a96692ae3f0920a31f8ca

  CERT_SHA1_HASH_PROP_ID(3):
    15cf70a8ffa6049e17915afd55ff7bc25eb19eb2

  CERT_FRIENDLY_NAME_PROP_ID(11):
    wildcard.XXX.com_2016

  CERT_KEY_PROV_INFO_PROP_ID(2):
    Key Container = {B9ED4E08-E960-484A-8461-A8197761782C}
  Unique container name: 0e4122029ed9cd31a8781f880191ea36_2ab40618-dac2-4d86-9224-489cfd1e8af0
    Provider = Microsoft RSA SChannel Cryptographic Provider
    ProviderType = c
  Flags = 20 (32)
    CRYPT_MACHINE_KEYSET -- 20 (32)
    KeySpec = 1 -- AT_KEYEXCHANGE

  CERT_KEY_IDENTIFIER_PROP_ID(20):
    f9c819edc4e09f4f1f55a39e75a38eab16784166

  CERT_SIGNATURE_HASH_PROP_ID(15) disallowedHash:
 7c9ec9cf0c20b31530805d5bc34efad1a11d390d652ed0040cedc0e1dc9f2080

  CERT_SUBJECT_PUB_KEY_BIT_LENGTH_PROP_ID(92):
    0x00000800 (2048)

  CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID(24):
    930ed2707d249c195a1bf719ff95c4c2

  CERT_ACCESS_STATE_PROP_ID(14):
  AccessState = 6
    CERT_ACCESS_STATE_SYSTEM_STORE_FLAG -- 2
    CERT_ACCESS_STATE_LM_SYSTEM_STORE_FLAG -- 4

  Provider = Microsoft RSA SChannel Cryptographic Provider
  ProviderType = c
  Unique container name: 0e4122029ed9cd31a8781f880191ea36_2ab40618-dac2-4d86-9224-489cfd1e8af0
  RSA
  PP_KEYSTORAGE = 1
    CRYPT_SEC_DESCR -- 1
  KP_PERMISSIONS = 3b (59)
    CRYPT_ENCRYPT -- 1
    CRYPT_DECRYPT -- 2
    CRYPT_READ -- 8
    CRYPT_WRITE -- 10 (16)
    CRYPT_MAC -- 20 (32)

  D:AI(A;;GAGR;;;SY)(A;;GAGR;;;NS)(A;;GAGR;;;BA)(A;;GR;;;S-1-5-5-0-190452580)

    Allow Full Control  NT AUTHORITYSYSTEM
    Allow Full Control  NT AUTHORITYNETWORK SERVICE
    Allow Full Control  BUILTINAdministrators
    Allow Read  NT AUTHORITYLogonSessionId_0_190452580

Private key is NOT exportable
Encryption test passed

Для корректной работы с электронной подписью (ЭП, ранее — ЭЦП) достаточно соблюсти четыре условия. Во-первых, приобрести средства ЭП в удостоверяющем центре (УЦ). Во-вторых, установить лицензионное средство криптозащиты (СКЗИ, криптопровайдер). В-третьих, загрузить на рабочее место личный, промежуточный и корневой сертификаты. И, в-четвертых, настроить браузер для подписания электронных файлов на веб-порталах. Если хотя бы одно из условий не соблюдено, в процессе использования ЭП возникают различные ошибки: КриптоПро не видит ключ, недействительный сертификат, отсутствие ключа в хранилище и другие. Самые распространенные сбои и способы их устранения рассмотрим в статье.

Настроим вашу электронную подпись под ключ за 30 минут!

Оставьте заявку и получите консультацию.

Почему КриптоПро не видит ключ ЭЦП

КриптоПро CSP — самый популярный криптографический софт на российском рынке. Большинство торговых площадок и автоматизированных госсистем работают только с этим криптопровайдером. Программное обеспечение распространяется на безвозмездной основе разработчиком и через дистрибьюторскую сеть, а за лицензию придется платить. При покупке квалифицированной ЭП (КЭП) клиенты получают набор средств:

  • закрытый и открытый ключи;
  • сертификат ключа проверки электронной подписи (СКПЭП, СЭП) — привязан к открытому ключу;
  • физический носитель, на который записываются все перечисленные средства.

Каждый раз, когда владельцу СЭП нужно подписать цифровой файл, он подключает USB-носитель к ПК и вводит пароль (двухфакторная идентификация). Возможен и другой путь — записать все компоненты в реестр ПК и пользоваться ими без физического криптоключа. Второй способ не рекомендован, так как считается небезопасным.

В работе с ЭП возникают такие ситуации, когда пользователь пытается заверить документ в интернете или в специальном приложении, открывает список ключей и не видит СЭП. Проблема может быть спровоцирована следующими факторами:

Ошибка Решение
Не подключен носитель Подсоединить токен к ПК через USB-порт (об успешном подключении свидетельствует зеленый индикатор на флешке)
Не установлено СКЗИ Установить криптопровайдер, следуя инструкции
Не установлен драйвер носителя Чтобы компьютер «увидел» устройство, нужно установить специальную утилиту. Как правило, она предоставляется удостоверяющим центром при выдаче подписи. Руководство по инсталляции можно найти на портале разработчика
На ПК не загружены сертификаты Установить корневой, промежуточный и личный сертификаты (как это сделать, рассмотрим далее)
Не установлен плагин для браузера Скачать ПО на сайте www.cryptopro.ru< и установить по инструкции

Ошибка КриптоПро «0x80090008»: указан неправильный алгоритм

Если версия CryptoPro не соответствует новым условиям сдачи отчетности, пользователь увидит на экране уведомление с кодом ошибки «0x80090008». Это значит, что на ПК установлен устаревший релиз программы, и его необходимо обновить. Для начала проверьте сертификат:

  1. В меню «Пуск» выберите пункт «Все программы» → «КриптоПро».
  2. Откройте «КриптоПро CSP сервис» и выберите команду «Протестировать».
  3. Нажмите кнопку «По сертификату» и укажите нужный файл.

При наличии ошибки в СЭП система на нее укажет.

Удаление программы

Если никаких проблем не обнаружено, ошибку неправильного алгоритма поможет устранить переустановка СКЗИ:

  1. Найти криптопровайдер через «Пуск».
  2. Выбрать команду «Удалить».
  3. Перезагрузить ПК.

Чтобы новая программа работала корректно, перед установкой требуется удалить все следы старой версии с помощью фирменной утилиты cspclean от CryptoPro:

  1. Запустить файл cspclean.exe на рабочем столе.
  2. Подтвердить удаление продукта клавишей «ДА».
  3. Перезагрузить компьютер.

Контейнеры, сохраненные в реестре, удалятся автоматически.

Установка актуального релиза

Дистрибутивы для скачивания СКЗИ размещены в разделе «Продукты» и доступны для скачивания всем авторизованным пользователям. Создание ЛК занимает не более 5 минут:

  1. Нажмите кнопку «Регистрация».
  2. Введите личные данные и подтвердите согласие на доступ к персональной информации.

В каталоге продуктов выберите версию криптопровайдера с учетом ОС, загрузите установщик на ПК, запустите его и следуйте подсказкам. При установке ПО требуется указать серийный номер лицензии (если срок действия еще не истек). Эту информацию можно уточнить в приложении к договору.

По отзывам пользователей, переустановка ПК почти всегда помогает в устранении ошибки «0x80090008». Если проблема не решена, рекомендуется написать в техподдержку разработчика или обратиться к официальному дистрибьютору, у которого вы купили лицензию.

КриптоПро вставлен другой носитель: как исправить

Ошибка «Вставьте ключевой носитель» или «Вставлен другой носитель» возникает при попытке подписания электронного документа. Сначала следует убедиться, что USB-токен с сертификатом подключен к ПК (в качестве носителя используются защищенные криптоключи или обычные флешки). Токен должен соответствовать сертификату. Если носитель подсоединен к ПК, но сообщение об ошибке все равно появляется, следует переустановить сертификат через CryptoPro:

  1. Открыть меню «Пуск» → «Панель управления» → «КриптоПро CSP».
  2. Зайти во вкладку «Сервис» → «Посмотреть сертификаты в контейнере» → «Обзор».
  3. Выбрать из списка ключевой контейнер, нажать ОК и «Далее».
  4. Нажать «Установить». Если появится предупреждение о том, что сертификат уже присутствует в хранилище, дать согласие на его замену.
  5. Дождаться загрузки сертификата в хранилище «Личное» и нажать ОК.

После переустановки рекомендуется перезагрузить ПК. Для первичной инсталляции СКПЭП применим аналогичный алгоритм действий.

Мы готовы помочь!

Задайте свой вопрос специалисту в конце статьи. Отвечаем быстро и по существу. К комментариям

Недостаточно прав для выполнения операции в КриптоПро

Ошибка сопровождается уведомлением «У компонента недостаточно прав для доступа к сертификатам». Чаще всего возникает в двух ситуациях:

  1. При попытке авторизоваться в ЛК, например, на портале контролирующего органа, куда нужно отправить отчет (при нажатии на пиктограмму «Вход по сертификату»).
  2. При проверке КЭП (при нажатии кнопки «Проверить» в разделе «Помощь»).

Если система уведомила пользователя, что у него недостаточно прав для выполнения операции в КриптоПро, проблема может иметь следующие причины:

  • не установлен КриптоПро ЭЦП Browser plug-in 2.0 (или стоит его старая сборка);
  • сайт, куда пытается войти клиент, не добавлен в каталог доверенных (надежных) ресурсов.

Browser plug-in — обязательный компонент для применения ЭП на веб-страницах. Он расширяет возможности криптопровайдера, позволяет формировать и проверять электронную подпись на интернет-ресурсах. Без этой программы, КриптоПро не сможет связаться с веб-страницей и реализовать на ней функции КЭП. Пользователи ничего не платят за этот модуль, он размещен в свободном доступе на сайте и совместим с любыми операционными системами. Как установить:

  1. Сохранить дистрибутив cadesplugin.exe.
  2. Запустить инсталляцию, кликнув по значку установщика.
  3. Разрешить программе внесение изменений клавишей «Да».

Появится уведомление об успешном результате. Нажмите ОК и перезагрузите браузер, чтобы коррективы вступили в силу.

Для работы с сертификатом ЭП рекомендуется использовать браузер Microsoft Internet Explorer (MIE) — для него не требуются дополнительные настройки. На завершающем этапе необходимо добавить сайт в список доверенных:

  1. Через меню «Пуск» (CTRL+ESC) найти продукт КриптоПро CSP.
  2. Зайти в настройки плагина ЭЦП Browser.
  3. В разделе «Список доверенных узлов» ввести адреса всех ресурсов, принимающих ваш сертификат.

Если после перезагрузки ПК проблема не решена, рекомендуется удалить плагин и выполнить повторную инсталляцию.

Выпустим и настроим электронную подпись для сотрудника прямо в день обращения!

Оставьте заявку и получите консультацию.

Ошибка исполнения функции при подписании ЭЦП

Ошибка свидетельствует об отсутствии лицензии на продукт КриптоПро CSP. Зачастую она возникает при попытке подписать документ на торговых площадках или в информационных системах (ЕГАИС, ЖКХ, Росреестр, Госуслуги и др.).

Лицензия на криптопровайдер может быть привязана к АРМ или встроена в сертификат ЭП. В первом случае необходимо убедиться, что лицензия введена на рабочем ПК и актуальна. Срок действия можно уточнить на вкладке «Общее» в меню запущенного криптопровайдера. Если он истек, необходимо обратиться к разработчику или официальному дистрибьютору для продления или покупки новой лицензии. Во втором случае ошибка исполнения функции при подписании ЭЦП возникает при отсутствии установленного на ПК сертификата.

Ошибка при проверке цепочки сертификатов в КриптоПро

Юридически значимую документацию можно заверить электронной подписью только в том случае, если СКЗИ подтвердит надежность (доверенность) сертификата. Для этого программа проверяет цепочку сертификации (ЦС), состоящую из таких элементов:

  • корневой сертификат от Минкомсвязи (начальное звено цепи), выданный УЦ;
  • промежуточный сертификат УЦ (ПС);
  • СКПЭП.

Правильно построенная ЦС подтверждает, что СКПЭП (конечное звено) имеет доверенный путь (от Минкомсвязи к УЦ, от УЦ к пользователю). Ошибка при проверке цепочки сертификатов в КриптоПро свидетельствует о том, что минимум один элемент в этой системе искажен. ЭП при этом считается недействительной и не принимается для подписания файлов.

Причина Решение
Один из сертификатов поврежден или некорректно установлен Переустановить сертификат
Неправильно установлено СКЗИ (или стоит устаревшая версия) Удалить и заново установить программу
Устаревшая версия веб-браузера Обновить браузер
На ПК не актуализированы дата и время Указать в настройках компьютера правильные значения

На первой причине остановимся подробнее. Чтобы проверить состояние ЦС, откройте папку криптопровайдера, выберите раздел «Сертификаты» → «Личное». Если цепочка нарушена, во вкладке «Общее» будет сообщение о том, что СКПЭП не удалось проверить на надежность.

Устранение сбоя следует начинать с верхнего звена (КС). Файл предоставляется клиенту в удостоверяющем центре вместе с остальными средствами: ключи, СКПЭП, промежуточный сертификат и физический носитель. Кроме того, его можно скачать бесплатно на сайте Казначейства (КС для всех одинаковый). Как загрузить КС:

  1. Открыть документ от Минкомсвязи на компьютере.
  2. В разделе «Общее» выбрать команду установки.
  3. Установить галочку напротив пункта «Поместить в хранилище».
  4. Из списка выбрать папку «Доверенные корневые центры».
  5. Нажать «Далее» — появится уведомление об успешном импорте.

По завершении процедуры рекомендуется перезагрузить ПК. Если сбой не устранен, переходим к промежуточному компоненту. При утере ПС его можно загрузить с официального сайта УЦ. Процесс установки такой же, как и для КС, но в качестве хранилища должно быть указано «Промежуточные центры».

После перезагрузки ПК снова зайдите в папку «Личное» и откройте СКПЭП. Если во вкладке «Путь сертификации» будет статус «Сертификат действителен» — ошибка устранена.

Электронная подпись описи содержания пакета недействительна

Одной КЭП можно сразу заверить несколько файлов. В одном письме адресат может отправлять комплект документации и отдельно к нему опись, где перечислены все файлы. Перечень документов тоже нужно визировать ЭП.

Если при попытке заверить ведомость пользователь увидит сообщение о недействительности сертификата, значит подписать основной комплект тоже не удастся. Эта ошибка распространяется на все типы файлов, а не на какой-то конкретный документ.

Причина сбоя — нарушение доверенной цепочки, о которой было сказано ранее. В первую очередь следует проверить наличие и корректность КС и ПС. Если они установлены, удалите эти файлы и загрузите снова.

Проблемы с браузером

Для заверки электронных файлов в интернете разработчик СКЗИ рекомендует использовать встроенный веб-обозреватель MIE. Но даже с ним бывают сбои. Если это произошло, зайдите в браузер под ролью администратора:

  1. Кликните по значку браузера на рабочем столе.
  2. В контекстном меню выберите соответствующую роль.

Чтобы всякий раз не предпринимать лишние действия, в настройках можно задать автоматический доступ под нужными правами. Неактуальную версию браузера необходимо обновить до последнего релиза. Также следует отключить антивирусные программы, так как многие из них блокируют работу СКЗИ, воспринимая как вредоносное ПО.

Не работает служба инициализации

Если работа сервиса инициализации Crypto Pro приостановлена, СКПЭП тоже не будет работать. Запустите командную строку клавишами Win+R:

  1. Введите команду services.msc.
  2. В разделе «Службы» выберите «Службу инициализации» и проверьте в свойствах ее активность.

Если сервис отключен, запустите его и нажмите ОК. После перезапуска ПК электронная подпись должна снова работать корректно.

Сертификаты не отвечают критериям КриптоПро

Ошибка всплывает при попытке авторизоваться в информационной госсистеме (например, «Электронный Бюджет» и др.). Пользователь видит сообщение следующего содержания:

Первый способ устранения сбоя — «снести» СКЗИ и поставить заново, как описано выше. Если это вариант не сработал, значит проблема кроется в неправильном формировании ЦС. Рассмотрим на примере. Отправитель зашел в СКПЭП и в подразделе «Общее» увидел статус «Недостаточно информации для проверки этого сертификата». В первую очередь рекомендуется проверить наличие корневого сертификата в цепочке и при его отсутствии выполнить установку (алгоритм описан ранее). Если этот метод не помог, на форуме разработчика приводится еще один способ: от имени администратора вызвать «Пуск» → «Выполнить» → «regedit». Далее необходимо удалить ветки:

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

«1С-ЭДО» не видит КриптоПро CSP

«1С-ЭДО» — программа для обмена электронными документами, интегрированная в учетную базу «1С». Сервис позволяет удаленно взаимодействовать с контрагентами и отправлять отчетность в надзорные органы (ФНС, ПФР, ФСС, Росстат и др.). Чтобы документы приобрели юридическую силу, их необходимо заверить квалифицированной ЭП. Если сервис «1С-ЭДО» «не видит» ключ в КриптоПро CSP, рекомендованы следующие действия:

  • проверить, установлена ли на компьютере актуальная версия криптопровайдера;
  • при наличии СКЗИ уточнить, соответствует ли оно той программе, которая была указана в настройках обмена с «1С».

Как проверить настройки криптопровайдера:

  1. Запустить сервис «1С-ЭДО».
  2. Перейти в раздел «Отчеты» → «Регламентированные отчеты».
  3. Нажать кнопку «Настройки».
  4. В подразделе «Документооборот с контролирующими органами» нажать кнопку «Здесь».

Если в поле «Криптопровайдер» указана не та программа, которая установлена на ПК (например, VipNet), поменяйте ее в настройках и сохраните клавишей ОК. Для правильной работы сервиса ЭДО рекомендуется использовать на одном АРМ только один из сертифицированных провайдеров.

Подберем USB-носитель для ЭП. Доставка — в любую точку России!

Оставьте заявку и получите консультацию в течение 5 минут.

Александр Киреев

Эксперт отдела автоматизации и развития бизнеса Online-kassa.ru. Бизнес-тренер и аналитик, отвечает за работу с ключевыми клиентами.

Оцените, насколько полезна была информация в статье?

Наш каталог продукции

У нас Вы найдете широкий ассортимент товаров в сегментах
кассового, торгового, весового, банковского и офисного оборудования.

Посмотреть весь каталог

Возможно, вам также будет интересно:

  • Криптопро tls ошибка 0x6ba при обращении к csp сервер rpc недоступен
  • Криптопро tls ошибка 0x6 при обращении к csp неверный дескриптор
  • Криптопро rdp произошла внутренняя ошибка
  • Криптопро pdf ошибка 0х65в
  • Криптопро csp фатальная ошибка криптопровайдер 75 типа некорректно перехвачен

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии