Я тоже с этим боролся.Там нет быстрого решения.«-Sky exchange» может быть причиной этой ошибки, но я установил «-sky exchange» при создании самозаверяющих сертификатов и все еще получал эту ошибку.Есть другие проблемы, которые могут вызвать эту проблему, включая права доступа к закрытому ключу и местоположение сертификата.
Это может применяться, если / когда вы используете хост WCF в качестве службы Windows:
Права доступа к закрытому ключу В моем случае, если я запустилСлужба WCF вручную, она унаследовала права моей учетной записи (группы администраторов), и служба WCF без проблем нашла сертификаты.Но когда я использовал службу Windows для запуска узла WCF, он унаследовал права службы, и я получил эту же ошибку.
В моем окне Service Manager, в моем случае, учетная запись, в которой запущен мой сервис, отображается как «Локальная система», что в действительности означает «NT AUthority / System».Поэтому мне нужно было предоставить этой учетной записи права доступа к контейнеру закрытого ключа для этой учетной записи.«Все» не были достаточно хороши, удивительно.Вы можете назначить права на хранилище ключей, используя MMC или usign FindPrivatekey.exe и вручную, используя проводник для установки прав, так же, как вы устанавливаете права доступа к папке с файлами.
Местоположение магазина - еще один фактор Кроме того, в моем случае учетная запись, под которой я работал, не имела доступа к хранилищам "LocalMachine" или "CurrentUser", поэтому я нашел там свои сертификатыбыл бесполезен.Служба начала работать только после того, как я импортировал (или скопировал) сертификаты в «Служба (Имя службы)» с помощью MMC.
Вы можете сделать это следующим образом: открыть MMC, затем выбрать «Сертификаты» из списка.Вы увидите три варианта: Моя учетная запись пользователя (CurrentUser), Сервисная учетная запись (вы выбираете какую службу) и Компьютерная учетная запись (LocalMachine).Просто выберите Сервисная учетная запись и выберите сервис, под которым работает ваш хост WCF.
Мой ответ здесь был не для того, чтобы быть полным «как», а для того, чтобы помочь тем, кто борется с этой проблемой.«Как», которое я написал для своей документации, было длиной в 10 страниц.