2016-04-21 101 views
7

Dopo aver seguito alcuni articoli MSDN, avevo i certificati client e le password dei nomi utente che funzionano per il mio servizio WCF. Il cliente ha richiesto un certificato e un nome utente e una password per accedere al mio servizio.Il certificato del client WCF ha smesso di funzionare

Recentemente, il certificato ha smesso di funzionare, posso accedere al servizio senza fornire il certificato del cliente. Sto usando SOI UI per testare il client. Normalmente devo aggiungere il certificato cliente all'archivio chiavi e quindi specificare quale chiave usare per la richiesta.

Recentemente ho impostato un test e non ho dovuto fornire il certificato cliente. Nulla nella mia conifg è cambiato. Ho configurato correttamente?

Grazie.

mio Binding Config:

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

      </security> 

     </binding> 
     </wsHttpBinding> 

mio servizio:

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

il comportamento:

 <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

Perché pensi che abbia funzionato prima? – Evk

+0

Stavo ricevendo errore 403. Quando ho aggiunto il certificato cliente, mi avrebbe permesso di autenticare usando la sicurezza del servizio web – Allan

+0

Come appare 'MyProject.UserAuth'? – sc3w

risposta

1

I certificati hanno una data di scadenza. Hai controllato il tuo certificato in certmgr.msc?

+0

Sì. I certs sono ok. – Allan