簡體   English   中英

WCF中的證書無效forB netTCP

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM