2009-11-09 1 views
0

Я пытаюсь отправить сообщение в MSMQ с помощью WCF. Я хочу использовать безопасность транспорта и подписывать сообщения. Однако, когда я устанавливаю учетные данные клиентского сертификата и пытаюсь отправить сообщение, возникает ошибка: «Произошла ошибка при отправке в очередь: недействителен сертификат пользователя (-1072824276, 0xc00e002c)». Сертификат хранится в LocalMachine \ My location и имеет доступ только для чтения, доступный для процесса ASPNET.Сертификат клиента WCF недействителен

ответ

0

Вот две общие причины, сертификат считается «недействительным»:

  • Вы не имеете закрытый ключ, связанный с сертификатом. Если у вас нет закрытого ключа, вам необходимо повторно установить сертификат с помощью закрытого ключа или получить новый сертификат, для которого у вас есть закрытый ключ.

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

Просмотрите сертификат в CertMgr.msc, чтобы узнать, есть ли одна из этих проблем. (Пуск> Выполнить> CertMgr.msc> Личные> Сертификаты).

+0

Странно, потому что, если я устанавливаю сертификат в хранилище сертификатов текущего пользователя, а затем выдаю себя за процесс ASP.NET, чтобы использовать текущую учетную запись, тогда все работает нормально. – Sazug

+0

Похоже, что процесс ASP.NET не имеет доступа для чтения к корневому хранилищу cert, и поэтому он не может получить закрытый ключ. См. Ответ на этот вопрос о предоставлении доступа ASP.NET к сертификату: http://stackoverflow.com/questions/1271497/asp-net-permissions-to-root-certificate-store – noctonura

 Смежные вопросы

  • Нет связанных вопросов^_^