Monday, May 2, 2016

WCF Client Certificate stopped working

Leave a Comment

After following a few MSDN articles I had client certificates and user name passwords working for my WCF service. The client required a certificate and a username and password to access my service.

Recently, the certificate stopped working, I can access the service without supplying the client certificate. I am using SOAP UI to test the client. Normally I have to add the client cert to the key store and then specify which key to use for the request.

Recently I set up a test and I didn't have to supply the client cert. Nothing in my conifg changed. Do I have the set up properly?

Thank you.

My Binding Config:

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

My Service:

<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> 

The Behavior:

      <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> 

1 Answers

Answers 1

The certificates have an expiration date. Did you check you certificate in certmgr.msc ?

If You Enjoyed This, Take 5 Seconds To Share It

0 comments:

Post a Comment