[英]SSL Server Cert Present One name for WCF?
我有一個帶有TCP綁定的自托管WCF服務,現在嘗試在SSL上進行分層。
我從CA獲得的證書有兩個“主題備用名稱”值:
www.mysite.com
mysite.com
我只想向WCF客戶提供“mysite.com”,不知何故這是www.mysite.com(CA補充說,我沒有要求www.mysite.com)。
我使用下面的代碼服務器端。 我有什么要調整以“隱藏”www.mysite.com地址?
svc.Credentials.ServiceCertificate.SetCertificate(
StoreLocation.CurrentUser , StoreName.My , X509FindType.FindBySubjectName , "mysite.com" );
所以現在當客戶端連接時,我明白了
“傳出消息的身份檢查失敗。遠程端點的預期DNS身份是'mysite.com',但遠程端點提供DNS聲明'www.mysite.com'。如果這是合法的遠程端點,您可以解決問題通過在創建通道代理時明確指定DNS標識“www.mysite.com”作為EndpointAddress的Identity屬性。“
我不希望客戶對www.mysite.com有任何了解。 我只希望他們使用服務提供的東西,我希望服務器只呈現mysite.com。
你為什么要隱藏它? 具有SAN替代品的證書意味着它對所有這些FQDN都有價值,因此它可以在www.mysite.com和mysite.com上運行。
此外,從您調用SetCertificate的外觀來看,證書的主題名稱是您想要的,mysite.com以及首先檢查的內容。
錯誤消息的全文以。的形式出現
傳出消息的身份檢查失敗。 遠程端點的預期DNS標識為“X”,但遠程端點提供DNS聲明“Y”
現在這與證書無關 ,而是與IIS配置的主機,或者在自托管的情況下,主機/機器Windows配置為。 您可以通過為端點添加新的配置設置來覆蓋WCF將使用的主機;
<identity>
<dns value="mysite.com"/>
</identity>
或者在創建端點時在代碼中設置它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.