[英]Certificate invalid forb netTCP in WCF
我正在嘗試讓WCF服務在我的本地環境中使用基於證書的加密,以便當它在實時環境中使用時可以與不同域中的計算機通信。 在嘗試實施安全性之前,我已經使服務正常運行,因此我確信故障不在服務中。
我使用makecert.exe生成了一些證書。 首先,我創建了兩個我稱為WCFclient和WCFServer的應用程序,並將它們添加到mmc中當前用戶的受信任文件夾中。 但是,這產生了錯誤:
身份檢查失敗,沒有傳出郵件。 遠程端點的預期DNS身份為“ localhost”,但遠程端點提供了DNS聲明“ WCfServer”。 如果這是一個合法的遠程端點,則可以通過在創建頻道代理時將DNS身份“ WCfServer”明確指定為EndpointAddress的Identity屬性來解決此問題。
我認為是因為我將證書頒發給不存在的域“ WCFServer”而發生的。 因此,我創建了另一個證書,並為其賦予了CN“ localhost”,並嘗試配置客戶端和服務器以使用它。 現在,我收到此消息:
根據驗證過程,遠程證書無效。
我在客戶端配置中設置了certificateValidationMode =“ None”,所以我不認為這是由於證書過期或類似原因造成的。 有人知道還有什么可能導致此錯誤嗎? 是因為我正在嘗試在客戶端和服務器端使用相同的證書,如果是的話,如何設置配置文件以避免收到有關DNS身份的先前錯誤消息?
通過使用客戶端端點的以下定義,可以避免前面的錯誤消息:
<endpoint name="..." address="..." binding="..." contract="...">
<identity>
<dns value="WCFServer" />
</identity>
</endpoint>
對於第二個錯誤,使用PeerTrust
驗證模式應該足夠了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.