Note that there are some explanatory texts on larger screens.

plurals
  1. POWCF The nonce is invalid or replayed
    text
    copied!<p>I have a WCF Service which uses a wsHttpBinding with a reliable session + message security + custom username validator.</p> <p>Internally everyone who uses the demo application can retrieve custom fault exceptions.</p> <pre><code>catch (FaultException&lt;EPIFault&gt; fx) -- break point on this works </code></pre> <p>externally a 3rd party vendor who is testing the application receives</p> <pre><code>catch (CommunicationException exception) - 3rd party vendor break point lands here </code></pre> <p>The service is hosted on HTTP port 80 using with Message Security. Server certificate is internally generated i.e. </p> <pre><code>&lt;serviceCertificate findValue="*.au.mycompany.net" </code></pre> <p>Retrieving data works fine both internally/externally. Just Custom Faults are not being received. They only catch Communication Exceptions with the following message:</p> <pre><code>System.ServiceModel.CommunicationException: The underlying secure session has faulted before the reliable session fully completed. The reliable session was faulted.\r\n\r\nServer stack trace: \r\n at System.ServiceModel.Channels.ReliableRequestSessionChannel.SyncRequest.WaitForReply(TimeSpan timeout)\r\n </code></pre> <p>MORE INFORMATION ADDED BELOW</p> <p>Turned on WCF Auditing using serviceSecurityAudit &amp; consistently get this message</p> <pre><code>The nonce is invalid or replayed </code></pre> <p>Temporarily fixed this using the custom binding below</p> <p>Custom binding below</p> <pre><code> &lt;customBinding&gt; &lt;binding name="myCustomBinding" closeTimeout="00:15:00" openTimeout="00:15:00" receiveTimeout="00:15:00" sendTimeout="00:15:00"&gt; &lt;reliableSession inactivityTimeout="00:15:00" maxRetryCount="8192" maxPendingChannels="5" ordered="true" /&gt; &lt;transactionFlow /&gt; &lt;security defaultAlgorithmSuite="Default" authenticationMode="SecureConversation" requireDerivedKeys="true" includeTimestamp="true" messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10" requireSecurityContextCancellation="false" requireSignatureConfirmation="false" canRenewSecurityContextToken="true"&gt; &lt;secureConversationBootstrap defaultAlgorithmSuite="Default" authenticationMode="UserNameForCertificate" requireDerivedKeys="true" allowInsecureTransport="true" includeTimestamp="true" messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10" requireSignatureConfirmation="false"&gt; &lt;/secureConversationBootstrap&gt; &lt;/security&gt; &lt;sslStreamSecurity requireClientCertificate="false"/&gt; &lt;binaryMessageEncoding maxReadPoolSize="2147483647" maxSessionSize="2147483647" maxWritePoolSize="2147483647"&gt; &lt;readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="200000" maxBytesPerRead="4096" maxNameTableCharCount="16384" /&gt; &lt;/binaryMessageEncoding&gt; &lt;httpTransport decompressionEnabled="true" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" transferMode="Buffered" &gt;&lt;/httpTransport&gt; &lt;/binding&gt; &lt;/customBinding&gt; </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload