0
我正在創建一個需要代理用戶名和密碼的WCF服務,爲此我需要提供一個服務證書,我已向其提供了我們公司的Verisign證書,該證書是有效的。使用X.509證書與用戶名clientCredentialType
我遇到的問題是每當我使用以下配置時,我收到一條錯誤消息「服務證書未提供,請在ServiceCredentials中指定服務證書。」
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="false" />
<behaviors>
<serviceBehaviors>
<behavior name="WSBehaviour">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceCredentials>
<serviceCertificate findValue="devstage1.vcg-online.net" x509FindType="FindBySubjectName" storeLocation="LocalMachine" storeName="TrustedPublisher" />
<userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="Acre.IntegrationService.CustomValidator, Acre.IntegrationService" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="Acre.IntegrationService.IntegrationService" behaviorConfiguration="WSBehaviour">
<endpoint address="http://localhost/Acre.IntegrationService/IntegrationService.svc"
binding="wsHttpBinding"
bindingConfiguration="WSBinding"
contract="Acre.IntegrationService.IIntegrationService"
name="WS" />
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
<bindings>
<wsHttpBinding>
<binding name="WSBinding" allowCookies="false">
<security mode="Message">
<message clientCredentialType="UserName" negotiateServiceCredential="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
更新了配置
我已經安裝使用MMC.EXE以下路徑
證書(本地計算機)/個人/證書/ 證書(在控制檯證書本地計算機)/受信任的根證書頒發機構/證書/ 證書(本地計算機)/受信任的發佈者/證書/
我已經搜索了interweb,找不到解決我的問題的明確方案。 任何人都可以幫忙嗎?
注意:證書還安裝在當前用戶以及計算機下的那些位置。並已導入到IIS – 2012-02-27 11:27:11
您應該指定需要使用的serviceCertificate。您是否試圖通過傳輸通道使用SSL來保護服務? – Rajesh 2012-02-27 12:39:19
我在服務行爲中指定了一個證書,而對於自定義授權,是在SSL上傳輸......忽略了,我剛剛注意到我正在使用客戶端證書,我將更改它並嘗試使用 – 2012-02-27 12:58:43