TraceViewer如何使用安全的WCF服务?

时间:2010-10-22 10:17:41

标签: .net wcf security certificate

你好!

我有一个WCF服务,它通过TCP运行,证书安全性如下:

<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>

在检查TraceViewer中的日志时,我可以看到数据是清晰的xml(没有加密)。 TraceViewer是解密数据还是我真的用clear xml发送我的所有数据,即使我使用证书安全性?

请注意我在同一台机器上运行服务和客户端,我正在分析的日志来自服务。

最诚挚的问候

1 个答案:

答案 0 :(得分:1)

您正在使用在WCF外部进行的传输级别加密,因此您的邮件日志记录会以纯文本格式记录邮件。如果您使用消息级加密,那么WCF将从传输通道获取加密消息并将其记录(加密),然后它将在安全通道中处理该消息并记录(解密)。可以在消息日志记录配置中控制此日志记录 - logMessagesAtTransportLevel和logMessagesAtServiceLevel。