Во-первых, совет Олега «ToTenAuthentication» не работал для меня, так как мое приложение - asp.net MVC.Я предполагаю, что этот элемент не поддерживается в приложении asp.net MVC, но он может поддерживаться в конфигурации службы WCF.
После многих часов борьбы с этой ошибкой на локальном хосте и другими ошибками, такими как ID1024, мне пришлосьотмените некоторые вещи, которые я сделал, следуя совету, например, дав всем прочитать все файлы в% ALLUSERSPROFILE% \ Microsoft \ Crypto \ RSA \ MachineKeys согласно этому блогу (я предоставил чтение для всей папки MachineKeys, которая былане хорошая идея!).После этого все предоставление закрытых ключей перестало работать через консоль MMC!
Мое решение состояло в том, чтобы создать новый самозаверяющий сертификат в соответствии с инструкциями из здесь
Затем ясделал новый импорт вновь созданного сертификата в правильное хранилище и дал пользователю, который запускает веб-приложения, права на чтение закрытого ключа.Моя проблема была с сертификатом, который я использовал до того, который был самозаверяющим, должно быть, с ним что-то не так ..
Этот раздел определенно требовался на стороне клиента:
<serviceCertificate>
<certificateReference x509FindType="FindByThumbprint" findValue="41A8A59E537D4A00A8C4FA8DC2522388DBD13D27" storeLocation="LocalMachine" storeName="My" />
</serviceCertificate>
При работе с сертификатами это также очень хороший совет:
ЕСЛИ ВЫ ВПЕРВЫЕ ИМПОРТИРУЕТЕ СЕРТИФИКАТ В ЛИЧНЫЙ МАГАЗИН ДЛЯ РАЗРАБОТКИ, ЗАВЕРШАЕТЕ ЭТО В МАШИННЫЙ МАГАЗИН ДЛЯ РАЗВЕРТЫВАНИЯ, ЧАСТНЫЙ КЛЮЧ ОСТАЕТСЯВ ЛИЧНОМ МАГАЗИНЕ МАГАЗИНА, ТАК ЧТО СЛУЖБА СЧЕТА НЕ МОЖЕТ ИСПОЛЬЗОВАТЬ ЕГО ДАЖЕ, ЧЕМ ОНИ БЫЛИ ПРЕДОСТАВЛЕНЫ РАЗРЕШЕНИЕ.
И, наконец, инструмент FindPrivateKey.exe оказался очень удобным, чтобы найти фактический файл личного ключа и помочь решитьпроблема, это можно скачать с здесь , с хорошими инструкциями здесь .
Я заметил, что при удалении сертификатов через консоль MMC мне пришлось вручную удалить файл закрытого ключа из
C: \ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys
, еслиудаление из локального хранилища и из
C: \ Users [Имя пользователя] \ AppData \ Roaming \ Microsoft \ Crypto \ RSA \ S-1-5-21-2106337540-114255811-1274951907-65121
при удалении из хранилища CurrentUser