2016-04-21 37 views
7

Sau khi làm theo một số bài viết MSDN tôi đã có chứng chỉ ứng dụng khách và mật khẩu tên người dùng làm việc cho dịch vụ WCF của tôi. Khách hàng yêu cầu chứng chỉ và tên người dùng và mật khẩu để truy cập dịch vụ của tôi.Chứng chỉ khách hàng WCF ngừng hoạt động

Gần đây, chứng chỉ ngừng hoạt động, tôi có thể truy cập dịch vụ mà không cần cung cấp chứng chỉ ứng dụng khách. Tôi đang sử dụng SOAP UI để kiểm tra máy khách. Thông thường tôi phải thêm cert của máy khách vào kho khóa và sau đó chỉ định khóa nào sẽ sử dụng cho yêu cầu.

Gần đây tôi đã thiết lập thử nghiệm và tôi không phải cung cấp chứng chỉ ứng dụng khách. Không có gì trong conifg của tôi thay đổi. Tôi có thiết lập đúng không?

Cảm ơn bạn.

My Binding Config:

<wsHttpBinding> 
     <binding name="BasicBinding"> 
      <security mode="TransportWithMessageCredential"> 
      <transport clientCredentialType="Certificate" /> 
      <message clientCredentialType="UserName" negotiateServiceCredential="false" establishSecurityContext="false" /> 

      </security> 

     </binding> 
     </wsHttpBinding> 

Dịch vụ của tôi:

<service behaviorConfiguration="APIServiceBehaviour" name="Service"> 
     <endpoint address="api" binding="wsHttpBinding" bindingConfiguration="BasicBinding" name="soap-api" bindingNamespace="https://myserver.com" contract="IAIService" /> 
     <host> 
      <baseAddresses> 
      <add baseAddress="https://myserver.com" /> 
      </baseAddresses> 
     </host> 
     </service> 

Các hành vi:

 <serviceAuthorization principalPermissionMode="Custom"> 
     <authorizationPolicies> 
      <add policyType="MyAuthorizationPolicy,MyProject" /> 
     </authorizationPolicies> 
     </serviceAuthorization> 

     <serviceCredentials> 

     <serviceCertificate findValue="tempSClient" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName" /> 
     <userNameAuthentication userNamePasswordValidationMode="Custom" includeWindowsGroups="false" customUserNamePasswordValidatorType="MyProject.UserAuth,MyProject" /> 
     </serviceCredentials> 

    </behavior> 
+0

Tại sao bạn nghĩ nó hoạt động trước đây? – Evk

+0

Tôi đã nhận được lỗi 403. Khi tôi thêm chứng chỉ ứng dụng khách, nó sẽ cho phép tôi xác thực bằng bảo mật dịch vụ web – Allan

+0

'MyProject.UserAuth' trông như thế nào? – sc3w

Trả lời

1

Giấy chứng nhận có ngày hết hạn. Bạn đã kiểm tra chứng chỉ của mình trong certmgr.msc chưa?

+0

Có. Các certs là ok. – Allan

Các vấn đề liên quan