【问题标题】:Is it possible to use client certificates with HTTPS requests from Windows Phone 7?是否可以将客户端证书与来自 Windows Phone 7 的 HTTPS 请求一起使用?
【发布时间】:2010-12-23 13:06:28
【问题描述】:

我需要从 Windows Phone 7 调用基于 REST 的服务。

服务仅在满足以下条件时才接受请求:

  • 请求必须通过 HTTPS/SSL 发生
  • 请求必须使用客户端 X509 证书进行身份验证

我不控制服务,所以我无法更改身份验证要求。

在完整的框架上,我们可以这样做:

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.ClientCertificates.Add(accessCertificate);

但是,ClientCertificates 属性在 Silverlight 4 中不可用,并且 System.Security.Cryptography.X509Certificates 命名空间中的任何 X509 类似乎都不可用。

真的不可能从 Windows Phone 7 发出基于客户端证书的 HTTPS 请求吗?

【问题讨论】:

    标签: silverlight windows-phone-7 httpwebrequest x509certificate


    【解决方案1】:

    第三方 WP7 SDK 目前不支持客户端证书。

    在此确认供您参考。

    Problems with client certification authentication on WP7

    虽然可以通过电子邮件在设备上安装证书(在 exhcange 集成解决方案中引用),但您的应用不会使用它们。

    【讨论】:

    • 由于服务不受您的控制,如果您有兴趣找到解决此问题的方法,您可以实现接口服务。虽然这有点开销和费用,但可能是您唯一的选择。
    • 是的,我考虑过这一点,但我担心这可能会危及安全性。不过,需要更多地考虑这一点......
    • 使用 Azure AppFabric 访问控制服务和 OAuth 与接口服务相结合看起来可能是一条可行的路线:blogs.msdn.com/b/alikl/archive/2010/11/13/…
    【解决方案2】:

    只有两种方法可以在设备上安装第 3 方证书,目前都不能通过代码完成:

    通过 Windows® 安装证书 Internet Explorer®
    一个证书可以 发布在网站上并制作 用户可以通过 设备可访问的 URL,他们可以 用于下载证书。什么时候 用户访问该页面并点击 证书,它会在设备上打开。 用户可以检查证书, 如果他们选择继续 证书安装在 设备。

    通过电子邮件安装证书
    证书安装程序 Windows Phone 7 支持 .cer、.p7b、 和 .pfx 文件。安装时 通过电子邮件获得证书,请确保您的 邮件过滤器不会阻止 .cer 文件。 通过电子邮件发送的证书 显示为邮件附件。当一个 收到证书后,用户可以 点击查看内容,然后 点击安装证书。 通常,当一个身份 证书已安装用户是 提示输入密码 保护它。

    您必须让用户执行这些操作之一,然后应用才能使用证书。

    来自Windows Phone 7 and Certificates_FINAL_121610.pdf

    【讨论】:

      【解决方案3】:

      因此您可以使用 oAuth 进行身份验证并在请求标头中传递令牌。如果您查看 acs.codeplex.com,您可以看到这是如何使用 Azure ACS 系统完成的。我知道您可能没有使用 Azure,但参考应用程序可能会有所帮助。我也会搜索 oAuth 和 Windows Phone 7,我也找到了一些这样的例子。

      就 SSL 而言,您应该可以通过浏览器执行此操作而不会出现任何问题。您还可以使用 HttpWebRequest 等打开任何 https Url。

      【讨论】:

        猜你喜欢
        • 2018-02-24
        • 1970-01-01
        • 2018-12-05
        • 2014-01-29
        • 2014-07-15
        • 2010-12-24
        • 2013-01-19
        • 1970-01-01
        • 2019-05-13
        相关资源
        最近更新 更多