J'ai un service WCF qui utilise un certificat X.509 comme informations d'identification client. La plupart de ces informations d'identification ne nécessitent pas de mot de passe pour l'utiliser, juste pour l'installer. Mais maintenant, un de nos clients a un certificat qui nécessite un mot de passe à saisir chaque fois qu'il est utilisé (c'est à dire chaque fois que le service est en cours d'exécution). Ce service appelle un autre service n fois par jour, mais échoue si le certificat ne peut pas être validé. Jusqu'à présent, nous avons demandé à nos clients de commander (et de payer) un nouveau certificat chaque fois que nous avons eu ce problème, mais mes clients et moi sommes fatigués de le faire à chaque fois. Je n'ai pas fait le service moi-même, et je n'ai pas beaucoup d'expérience avec WCF et les services
beaucoup
. Ce que je voudrais savoir est: Est-il possible d'entrer ce mot de passe dans notre fichier de configuration avec toutes les autres informations sur le certificat?Comment puis-je envoyer un mot de passe avec mon certificat (X.509) dans un service WCF?
Voici une partie de la configuration XML pour le service:
<configuration>
<system.serviceModel>
<client>
<endpoint
address="***"
binding="basicHttpBinding"
bindingConfiguration="***"
behaviorConfiguration="HTTPSEndpoint"
contract="***"
name="***" />
</client>
<bindings>
<basicHttpBinding>
<binding
name="***"
sendTimeout="00:05:00"
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647" >
<readerQuotas maxStringContentLength="2147483647" />
<security mode="Transport">
<transport clientCredentialType="Certificate" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name ="HTTPSEndpoint">
<clientCredentials>
<clientCertificate
findValue="***"
storeLocation="LocalMachine"
storeName="My"
x509FindType="FindBySubjectName"/>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
</configuration>