Eliminar elemento de marca de tiempo de encabezados ws-security creados por WCF

Estoy consumiendo un antiguo servicio web Java de WCF que requiere la solicitud en el formulario:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Header>
        <wsse:Security mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-secext-1.0.xsd">
            <wsse:UsernameToken wsu:Id="xxx" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-ssecurity-utility-1.0.xsd">
                <wsse:Username>username</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
            </wsse:UsernameToken>
        </wsse:Security>
    </s:Header>
    <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        ...
    </s:Body>
</s:Envelope>

El uso del siguiente truco de configuración "funciona" pero no quiero que el nombre de usuario y la contraseña estén expuestos en la configuración:

<binding name="bindingName">
      <security mode="Transport">
        <transport clientCredentialType="Certificate" />
      </security>
</binding>
...
<endpoint address="https://endpoint address"
      binding="basicHttpBinding" bindingConfiguration="bindingName"
      contract="contract"
      name="bindingName">

    <headers>
        <wsse:Security mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-secext-1.0.xsd">
            <wsse:UsernameToken wsu:Id="UsernameToken-8293453" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-ssecurity-utility-1.0.xsd">
                <wsse:Username>username</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
            </wsse:UsernameToken>
        </wsse:Security>
    </headers>
</endpoint>

Lo que quiero usar es algo similar a:

<binding name="bindingName">
    <security mode="TransportWithMessageCredential">
        <transport clientCredentialType="Certificate" />
        <message clientCredentialType="UserName" />
    </security>
</binding>

Pero esto genera eltimestamp elemento en el elemento de seguridad, en el que el servicio web java se entromete.

Lo que necesito hacer es eliminar la marca de tiempo del XML que genera o tener algún tipo de enlace personalizado para que lo haga por mí.

Intenté crear credenciales personalizadas, pero esto solo cambió elusernameToken elemento.

Ya he visto muchas, muchas preguntas SO (muchas de 2007 y anteriores), incluidas las siguientes sin alegría:

Eliminar elemento de marca de tiempo de seguridadCómo hacer que el cliente WCF se ajuste a WS-Security específico

¿Cuál es la forma mejor, más simple y más elegante de eliminar el elemento de marca de tiempo?

Gracias por adelantado

Respuestas a la pregunta(1)

Su respuesta a la pregunta