我有一個WCF服務和桌面客戶端。我使用net.tcp綁定。我有我自己的身份驗證方法,但我希望消息被加密。所以我在雙方安裝了相同的證書。我的配置如下:WCF net.tcp綁定與基於證書的郵件安全性,但安全模式關閉
<endpointBehaviors>
<behavior name="CustomBehavior">
<clientCredentials>
<clientCertificate storeLocation="CurrentUser" storeName="Root" findValue="myCertificateIssuer" x509FindType="FindByIssuerName" />
</clientCredentials>
</behavior>
</endpointBehaviors>
...
<binding name="simpleTCP" closeTimeout="00:10:00" openTimeout="00:10:00"
sendTimeout="00:10:00" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" >
<security mode="None">
<message clientCredentialType="Certificate"/>
</security>
</binding>
我對服務器相同的配置也是如此。該解決方案正在工作,但我不知道它是否真的加密消息。我是否認爲,這種配置會關閉默認身份驗證,但仍會加密通道?
在此先感謝
PS你可能想自己證明一下。嘗試使用消息分析器:https://www.microsoft.com/en-us/download/details.aspx?id = 44226 –
因此,您是說無法關閉身份驗證,但仍然可以加密通信通道?我不需要也不想配置身份驗證,但我希望使用指定的證書對通道進行加密。那可能嗎? –
恰恰相反,您可以啓用和禁用WCF中的所有內容。 WCF在默認情況下是「安全的」,這在大多數情況下意味着您不必做任何事情就可以獲得安全的消息。剛注意到我誤解了你想加密OP中的消息而不是頻道,所以我正在更新我的答案以顯示兩者。 –