2010-10-22 59 views
0

嗨!TraceViewer如何使用安全的WCF服務?

我有與證書的安全性這樣的運行在TCP WCF服務:

<binding name="netTcpUserNameMessageSecurity" portSharingEnabled="True" transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxConnections="10" maxReceivedMessageSize="2147483647"> 
        <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> 
        <reliableSession ordered="true" inactivityTimeout="infinite" enabled="false" /> 
        <security mode="TransportWithMessageCredential"> 
         <transport clientCredentialType="Windows" /> 
         <message clientCredentialType="UserName" /> 
        </security> 
       </binding> 

當cheking在TraceViewer我可以看到的數據是明確的XML(不加密)的日誌。 TraceViewer解密數據,還是我真的以清晰的xml格式發送所有數據,即使在使用證書安全性的情況下也是如此?

請注意,我在同一臺計算機上運行服務和客戶端,並且我正在分析的日誌來自該服務。

問候

回答

1

您正在使用傳輸層加密恰好WCF之外因此您的郵件日誌記錄在純文本消息。如果使用消息級別加密,則WCF將從傳輸通道獲取加密消息並記錄(加密),然後它將在安全通道中處理消息並記錄(解密)消息。可以在消息日誌記錄配置中控制此日誌記錄 - logMessagesAtTransportLevel和logMessagesAtServiceLevel。

+0

是的,LogMessageAtTransportLevel和logMessageAtServiceLevel似乎是一個很好的開始。但我實際上已經嘗試過這些,並且日誌很奇怪,我們已經測試了wireshark,並且使用這個工具,我們可以看到通信是否編碼,而不是。 – Banshee 2010-10-26 07:27:07