簡而言之,就是這種情況。我有一個使用表單身份驗證和自定義成員資格提供程序的ASP.NET應用我已經使用ServiceHostFactory創建了一個WCF客戶端和一個ASP.NET ServiceHost。到目前爲止,一切都很完美,但爲了在真實世界中部署這一切,我需要保證它的安全。我似乎無法找到如何設置該服務的證書。我想使用已經與託管我的服務的ASP.NET應用程序相關聯的證書。帶ASP.NET的WCF證書配置
如何設置證書的方式將自動將證書設置爲託管Web應用程序的證書,而無需手動識別證書。如果用戶必須安裝WCF程序集並對配置文件進行更改並且必須知道有關安裝的證書的信息,那麼這將是一個真正的PITA。
以下是我迄今爲止編制的內容,但尚未能使其發揮作用,並且在安裝過程中無法重新編譯而無法配置。
serviceHost.Credentials.ServiceCertificate.SetCertificate(StoreLocation.LocalMachine, StoreName.My, X509FindType.FindByIssuerDistinguishedName, "mycertificate");
是否有一個ASP.NET Api會返回與託管應用程序關聯的證書,我可以傳遞給SetCertificate?另外,如何處理沒有安裝證書的情況,但我仍然希望WCF連接,儘管不安全?
您是否認爲使用傳統SSL/HTTPS傳輸財務數據是最佳做法?如果我使用郵件安全,我需要提供證書嗎?如果是這樣,我可以將我的證書保存在我的.svc文件所在的位置嗎?如果是這樣,我如何告訴WCF它在哪裏?我想盡可能簡化部署。 –
對於敏感的金融和/或信用卡數據,您可能希望同時使用傳輸和消息安全性。但是要做消息安全性,客戶端需要證書。對於我過去處理過的一些信用卡處理公司,他們會爲每個客戶發放一個獨特的證書,因此沒有2個Web服務用戶使用相同的證書,因此不能解密其他每個消息。 – CodingWithSpike
此外,這個MSDN文章可能會有所幫助,它有一個分步設置證書認證的方法:http://msdn.microsoft.com/en-us/library/ff648360.aspx – CodingWithSpike