Criando um obrigatório em WCF de um NetTcpBinding existente personalizado
-
05-07-2019 - |
Pergunta
Alguém pode me dizer como criar uma ligação personalizada que reproduz exatamente o mesmo comportamento a partir do seguinte em WCF?
<netTcpBinding>
<binding name="SecureTcp" >
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="Certificate" />
<message clientCredentialType="UserName" />
</security>
</binding>
</netTcpBinding>
Todas as soluções pesquisei que eu encontrei não parecem estar a trabalhar para uma razão ou outra. Eu encontrei um monte de soluções sobre HttpTransport, mas muito poucos em relação nettcptransport.
A configuração acima está trabalhando atualmente, mas eu preciso modificar o maxClockSkew, ea única maneira de conseguir isso é com uma ligação de costume.
Agradecemos antecipadamente, Brian
Solução
Bem, aqui está o que eu era capaz de chegar a. A chave foi a AuthenticationMode na seção secureConversationBoostrap:
<binding name="CustomSecureTcp">
<transactionFlow />
<security authenticationMode="SecureConversation"requireSecurityContextCancellation="true">
<secureConversationBootstrap
authenticationMode="UserNameOverTransport">
</secureConversationBootstrap>
</security>
<binaryMessageEncoding/>
<sslStreamSecurity requireClientCertificate="false" />
<tcpTransport/>
</binding>
</customBinding>
EDIT: Eu tenho certeza que os 'transactionProtocol = "OleTransactions"' era desnecessário