Estoy implementando la seguridad en un servicio WCF desde basicHttp a WShttp, el problema es que el servicio envía algunas contraseñas para las conexiones a la base de datos que el usuario puede definir, probar y guardar.
¿El servicio implementa un certificado X509 para el servicio y las credenciales del cliente y quería saber si debería hacer más para proteger las contraseñas en el servidor o el cliente?
<wsHttpBinding>
<binding name="CustomLargeHttpsBinding" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
<reliableSession ordered="false" inactivityTimeout="01:00:00" enabled="false"/>
<security>
<transport clientCredentialType="None" proxyCredentialType="None"/>
<message clientCredentialType="Certificate" negotiateServiceCredential="true" algorithmSuite="Basic256Rsa15" establishSecurityContext="true"/>
</security>
</binding>
</wsHttpBinding>
El escenario típico sería así:
- Recuperar contraseña cifrada de la base de datos
- Enviar datos a través del servicio
- El cliente usa los datos para probar la conexión de la base de datos en el servidor X (la contraseña se coloca en una cadena segura aquí después de descifrarla
- El problema es que me gustaría eliminar la clase de cifrado, ya que tiene una clave constante almacenada en el código.