2012-04-10 2 views
0

У меня есть служба REST, для которой я хотел бы получить клиентские сертификаты. system.serviceModel выглядит следующим образом:Добавление клиентских сертификатов в стандартную Endpoint?

<system.serviceModel> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> 
    <standardEndpoints> 
     <webHttpEndpoint> 
     <!-- 
      Configure the WCF REST service base address via the global.asax.cs file and the default endpoint 
      via the attributes on the <standardEndpoint> element below 
     --> 
     <standardEndpoint name="TestService" helpEnabled="true" automaticFormatSelectionEnabled="true"/> 
     </webHttpEndpoint> 
    </standardEndpoints> 
    </system.serviceModel> 

Я попытался модифицируя standardEndpoint быть:

<standardEndpoint name="TestService" helpEnabled="true" automaticFormatSelectionEnabled="true"> 
    <security mode="Transport"> 
    <transport clientCredentialType="Certificate" /> 
    </security> 
</standardEndpoint> 

Но это не помогло. Что мне не хватает для включения клиентских сертификатов?

+0

Вы настроили одну и ту же настройку на IIS? – Rajesh

ответ

2

Стандартных привязки не поддерживает этот синтаксис. Вы должны определить его в webHttpBinding под привязками и не дать ему никакого имени. Таким образом, это относится ко всем webHttoBinding (s).

<system.serviceModel> 
     <bindings> 
      <webHttpBinding> 
       <binding> 
        <security mode="Transport"> 
         <transport clientCredentialType="Certificate" /> 
        </security> 
       </binding> 
      </webHttpBinding> 
     </bindings> 
     <standardEndpoints> 
      <webHttpEndpoint> 
       <standardEndpoint name="TestService" helpEnabled="true" automaticFormatSelectionEnabled="true"/> 
      </webHttpEndpoint> 
     </standardEndpoints> 
    </system.serviceModel> 
0

получил вкладку DNS в конфиге? что-то вроде

<dns value="localhost" /> 

надеюсь, что это hepls

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