Тип поставщика не соответствует зарегистрированному значению

Тип поставщика не соответствует зарегистрированному значению

Жизнь индивидуального предпринимателя — сайт на простом языке об отчетности ИП

Добрый день дорогие друзья! Сегодня будем рассматривать проблему с программой АРМ ФСС, а именно «ошибка: набор ключей не определен». С данной ошибкой Вы скорее всего столкнетесь, при загрузке ЭЛН. Будем справлять! Поехали!

АРМ ФСС ошибка: набор ключей не определен

Если у Вас не получается самостоятельно решить данную проблему, то Вы можете перейти в раздел ПОМОЩЬ и Вам помогут наши специалисты.

С данной проблемой я столкнулся, как раз при загрузке электронного больничного. Для начала обновим АРМ ФСС. Как обновить АРМ ФСС прочитайте вот тут.

Теперь перейдем в раздел меню «Учетная работа» и выберем «АРМ подписания и шифрования».

Теперь будем внимательными! Нам необходимо проставить правильные ключи. То есть, правильно выбрать наши сертификаты.

Какие сертификаты ставить при загрузке больничного в АРМ ФСС

Переходим в раздел «Личный сертификат ЭЛН. Страхователь». Это сертификат нашей организации! Выбираем его, нажав на кнопку с открытой папкой.

Переходим в раздел личные, и выбираем наш сертификат.

СТОП! Ни одного сертификата? Это уже странно!

В АРМ ФСС не отображаются сертификаты, что делать?

С 2019 года, мы переходим на новый ГОСТ по электронной подписи. Называется он ГОСТ 2012. До 2019 года мы использовали сертификаты выпущенные под ГОСТ 2001. Получается, что 2019 год переходный между двумя ГОСТ. Сейчас разрешено использовать сертификат и 2001 ГОСТа и 2012. Если Вы перевыпускали или выпускали новый сертификат в 2019 году, то с вероятностью 99% у Вас уже новый ГОСТ 2012. Если Вы выпускали сертификат в 2018, то скорее всего еще 2001. В этом вся проблема. Теперь найдем наши сертификаты!

Обратите внимание, что в новых версиях появился переключатель на разные ГОСТ.

Переключая данный режим, Вы увидите Ваши сертификаты. Попробуйте сначала поставить ГОСТ 2001, если сертификаты не отобразились, поставьте ГОСТ 2012. Я уверен, Вы найдете свой сертификат.

Все, мы нашли наш спрятанный сертификат, теперь идем дальше!

Устанавливаем сертификаты руководителя

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

А вот дальше не торопитесь!

Устанавливаем правильного криптопровайдера

Теперь нам нужно определиться с криптопровайдером. Звучит страшно и сложно, но сейчас все будет понятно!

Поднимаемся выше и смотрим, сертификат какого ГОСТа мы выбирали. Если у Вас сертификат ГОСТ 2001, то в строке «Криптопровайдер» выбираете пункт «Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider». Если Ваш сертификат 2012 ГОСТа, то выбираете «Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider».

Устанавливаем сертификаты ФСС

Тут все очень просто. Во-первых по данной теме у меня уже есть статья, там подробно все описано, поэтому писать еще раз не буду. Прочитать ее можно вот тут.

Просто скажу, что для успешной установки Вам нужно нажать 2 кнопки: «Установить сертификат уполномоченного лица ФСС ЭЛН» и «Установить сертификат уполномоченного лица ФСС».

Далее снова выбираем «Личный сертификат», это сертификат нашей фирмы. В итоге, правильная таблица выглядит так.

Нет заветной кнопки «сохранить». Вот сейчас закрою окно и все пропадёт! Вас тоже это постоянного напрягает? И меня! Но нет, смело закрываем, настройки не собьются!

РЕШЕНО! АРМ ФСС ошибка: набор ключей не определен

Друзья! Если вдруг ошибка у Вас не пропала, экспериментируйте с сертификатами и ГОСТами, со строчкой Криптопровайдер. Вся ошибка кроется именно в этом! Если же у Вас все-таки не получается самостоятельно настроить, то переходите в раздел «ПОМОЩЬ», и я Вам помогу!

Если Вам нужна помощь профессионального системного администратора, для решения данного или какого-либо другого вопроса, перейдите в раздел ПОМОЩЬ, и Вам помогут наши сотрудники.

Читайте также:  При нажатии на кнопку пуск появляется

На этом все! Теперь Вы знаете, что делать, если у Вас ошибка в программе АРМ ФСС ошибка: набор ключей не определен .

Если у Вас появятся вопросы задавайте их в комментариях! Всем удачи и добра!

Присоединяйтесь к нам в социальных сетях, чтобы самыми первыми получать все новости с нашего сайта!

32928 просмотра

8 ответа

156 Репутация автора

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

  • Я не думаю, что эта проблема связана с кодом; мой код работает на других компьютерах, и проблема затрагивает пример кода от Microsoft.
  • Сертификат был предоставлен в виде файла PFX и предназначен только для целей тестирования, поэтому он также включает в себя фиктивный центр сертификации.
  • Используя MMC.exe, я могу импортировать сертификат в персональное хранилище для локального компьютера, прежде чем предоставлять разрешения на закрытый ключ всем соответствующим учетным записям и перетаскивать центр сертификации в доверенные корневые центры сертификации.
  • Используя C #, я могу загрузить сертификат (идентифицированный по его отпечатку) и убедиться, что у него есть закрытый ключ X509Certificate2.HasPrivateKey . Однако попытка прочитать ключ вызывает ошибку. В .NET a 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: ProgramData Microsoft Crypto RSA MachineKeys

c: Users \ AppData Roaming Microsoft Crypto RSA S-1-5-21- [оставшийся идентификатор пользователя]

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

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

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

Ответы (8)

9 плюса

1026 Репутация автора

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

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

Читайте также:  Из за чего не запускается компьютер

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

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

26 плюса

934 Репутация автора

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

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

  1. Извлечение открытых ключей, полная цепочка сертификатов:

OpenSSL pkcs12 -in "MYCERT.pfx" -nokeys -out "MYCERT.cer" -passin "pass:MYPWD"

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 вместо формата pgx CNG, проблема исчезнет, ​​и код C # не нужно менять.

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

5 плюса

4796 Репутация автора

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

Решение: сбросьте разрешения для папки Machinekeys

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

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

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

плюса

1 Репутация автора

У меня тоже была эта проблема и после попытки внесения предложений в этот пост безуспешно. Я смог решить свою проблему, перезагрузив сертификат с помощью утилиты сертификатов Digicert https://www.digicert.com/util/ . Это позволяет выбрать провайдера для загрузки сертификата. В моем случае загрузка сертификата в провайдера криптографического провайдера Microsoft RSA Schannel , где я ожидал, что он будет в первую очередь, решает проблему.

Читайте также:  90 533 Код какой страны

Автор: Hugh Размещён: 25.09.2017 03:14

плюса

9675 Репутация автора

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

Автор: fiat Размещён: 08.03.2018 10:02

2 плюса

14361 Репутация автора

Как указывалось во многих других ответах, эта проблема возникает, когда закрытым ключом является ключ 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 .

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

плюса

2949 Репутация автора

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

Но это не удалось при развертывании в веб-приложении Azure на certificate.PrivateKey

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

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

Автор: sports Размещён: 25.03.2019 09:42

плюса

543 Репутация автора

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

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

KeyExchange

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

при логоне по смарт карте пишет Действительные сертификаты не обнаружены
Вопрос:

Невозможно войти в систему с использованием eToken при установленном КриптоПро CSP 3.6

При попытке войти в систему с использованием сертификата на eToken возникает ошибка:

Действительные сертификаты не обнаружены (No valid certificates found)

В журнале приложений может быть следующее сообщение:

Тип события: Ошибка
Источник события: Smart Card Logon
Категория события: Отсутствует
Код события: 5
Описание:
Произошла ошибка при получении цифрового сертификата от вставленной смарт-карты: Тип поставщика не соответствует зарегистрированному значению.

Проблема может заключаться в установленном КриптоПро CSP 3.6.
По умолчанию КрипроПро CSP регистрирует собственные носители смарт-карт (в том числе и eToken) для входа в систему. Поэтому Smart Card Logon не может считать RSA сертификат из eToken, т.к. используется не "eToken Base Cryptographic Provider", а "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider".

Ссылка на основную публикацию
Телевизор филипс моргает светодиод два раза
В ремонте жк телевизоров Филипс есть ряд характерных для данной марки телевизоров особенностей. В жк телевизорах Филипс предусмотрена функция индикации...
Сталкер чистое небо флешка с данными
Флэшка с данными о сверхлёгких кевларовых бронежилетах Сделанный из многослойного кевлара, он хорошо останавливает пистолетные пули и дробь. Получаем у...
Стальные двери стал отзывы
Данная тема считается архивной и закрыта для добавления сообщений. Если рассматриваемые вопросы остались для Вас непонятны - откройте новую тему....
Телевизоры dexp стоит ли покупать
В наше время существует явление, которое негласно получило название «бизнес по-русски». Это когда качество товаров и/или услуг крайне низкое, но...
Adblock detector