IIS7 не может найти сертификат X.509, несмотря на то, что WCF может самостоятельно размещаться - PullRequest
0 голосов
/ 16 декабря 2010

Я пытаюсь разместить службу WCF в IIS7.Все работало нормально, пока я не указал следующее в файле web.config:

    <serviceCredentials>
      <serviceCertificate findValue="MyCert"
                          storeLocation="CurrentUser"
                          storeName="My"
                          x509FindType="FindBySubjectName" />
    </serviceCredentials> 

Затем я получил исключение System.InvalidOperationException: Невозможно найти сертификат X.509, используя следующие критерии поиска:StoreName 'My', StoreLocation 'CurrentUser', FindType 'FindBySubjectName', FindValue 'MyCert' .

BTW - я использую этот же сертификат (хранящийся в том же месте) с автономным WCFсервис без проблем.

Ответы [ 3 ]

2 голосов
/ 17 декабря 2010

Возможно, вы выбрали неправильное расположение магазина. Вы пробовали storeLocation = "LocalMachine"?

Если это не сработает, вам нужно указать рабочий процесс iis. Мне нужно было сделать это, когда я размещал службу WCF в iis6, которая использовала имя пользователя с общей безопасностью сертификатов.

2 голосов
/ 17 декабря 2010

Возможно, что ваша служба работает так, как в IIS7, и не имеет доступа к хранилищу. Обычно это идентификатор ApplicationPoolIdentity.

1 голос
/ 17 декабря 2010

Попробуйте предоставить доступ на чтение к закрытому ключу сертификата для учетной записи, от имени которой работает пул приложений. В оснастке MMC «Сертификаты» найдите сертификат, щелкните правой кнопкой мыши и управляйте закрытым ключом ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...