¿Hay alguna forma de extraer información sobre qué certificado de cliente se utilizó dentro de mi método de servicio web al usar <security mode="Transport>
? Revisé OperationContext.Current pero no pude encontrar nada obvio.Información del certificado del Servicio WCF utilizando el modo de seguridad de transporte
Mi configuración del servidor es la siguiente:
<basicHttpBinding>
<binding name="SecuredBasicBindingCert">
<security mode="Transport">
<message clientCredentialType="Certificate" />
</security>
</binding>
</basicHttpBinding>
estoy trabajando con un sistema de terceros pub/sub que es, por desgracia utilizando DataPower para la autenticación. Parece que si estoy usando WCF con esta configuración, no puedo obtener información sobre la persona que llama (ya que no se envían credenciales).
De alguna manera tengo que ser capaz de averiguar quién hace las llamadas a mi servicio sin cambiar mi configuración o pedirles que cambien su carga útil.
Estoy considerando aprovechar la dirección del punto final simplemente agregando una cadena de consulta única a la misma. El QueryString se puede leer a través de '((System.ServiceModel.Channels.HttpRequestMessageProperty) System.ServiceModel.OperationContext.Current.IncomingMessageProperties [System.ServiceModel.Channels.HttpRequestMessageProperty.Name]). QueryString' – Langdon