Tengo un servicio WCF que usa un certificado X.509 como credenciales del cliente. La mayoría de estas credenciales no requieren una contraseña para usarla, solo para instalarla.¿Cómo puedo enviar una contraseña junto con mi certificado (X.509) en un Servicio WCF?
Pero ahora, un cliente nuestro tiene un certificado que requiere que se ingrese una contraseña cada vez que se usa (es decir, cada vez que se ejecuta el servicio). Este servicio llama a otro servicio n veces al día, pero falla si el certificado no se puede validar.
Hasta ahora hemos pedido a nuestros clientes que pidan (y paguen) un nuevo certificado cada vez que hemos tenido este problema, pero tanto nosotros como nuestros clientes estamos cansados de pasar por esto cada vez. No he hecho el servicio yo mismo, y no tengo
mucho
experiencia con WCF y servicios.
Lo que me gustaría saber es: ¿Es posible ingresar esta contraseña en nuestro archivo de configuración junto con toda la demás información sobre el certificado?
Aquí está una parte de la configuración XML para el servicio:
<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>