0
我能夠通過SOAP使用Web服務。但是,我想使用帶有自簽名證書的https連接。WP8,使用自簽名證書的SOAP
如何強制我的應用程序使用我的證書? Android能夠實現the same thing。
謝謝你,馬丁。
我能夠通過SOAP使用Web服務。但是,我想使用帶有自簽名證書的https連接。WP8,使用自簽名證書的SOAP
如何強制我的應用程序使用我的證書? Android能夠實現the same thing。
謝謝你,馬丁。
來自我的一個項目的工作示例。 我不確定它是否能在WP8上工作,但在桌面上一切正常。
這是服務類。
internal class PermissiveCertificatePolicy
{
private string _subjectName;
private static PermissiveCertificatePolicy _currentPolicy;
public PermissiveCertificatePolicy(string subjectName)
{
_subjectName = subjectName;
ServicePointManager.ServerCertificateValidationCallback += RemoteCertValidate;
}
public static void Enact(string subjectName)
{
_currentPolicy = new PermissiveCertificatePolicy(subjectName);
}
private bool RemoteCertValidate(object sender, X509Certificate cert,
X509Chain chain, SslPolicyErrors error)
{
return cert.Subject == _subjectName;
}
}
下面是使用的例子:
namespace WcfClient
{
internal class Program
{
private const string RCertName = "CN=WMSvc-WIN-R0NU6K5QG87";
private static void Main(string[] args)
{
PermissiveCertificatePolicy.Enact(RCertName);
using (MyClient proxy = new MyClient("Ws2007HttpBinding_IHistory"))
{
...
}
}
}
}
謝謝您的幫助。我擔心ServicePointManager不適用於WP8。 – MPeli 2013-02-22 16:50:34
您是否找到解決方案? – 2013-03-17 12:29:33