【问题标题】:Hosting someone elses SSL cert in IIS to allow https hosting on their domain from your own server在 IIS 中托管其他人的 SSL 证书以允许从您自己的服务器在他们的域上进行 https 托管
【发布时间】:2011-01-02 10:24:48
【问题描述】:

目前客户在我的域上拥有像 https://customername.myapp.com 这样的网站。我希望他们能够上传 SSL 证书,然后通过 https://myappname.customername.com 访问我的网站 - 如何在 .NET/IIS 7 中以编程方式执行此操作?

【问题讨论】:

    标签: iis iis-7 ssl certificate


    【解决方案1】:

    所以我可能会为您解答,但不一定涉及 .NET/IIS 7。

    我不太确定这里的最终目标是什么,但我会尝试一下。听起来您希望客户访问 customername.myappname.com 并让它显示 myappname.customername.com 的内容?您不只是想重定向它们吗?您是否有 myapp.com 的受信任 SSL 证书?如果您这样做了,那么您可以通过一种方法将该信任扩展到 myappname.customername.com 网站。

    假设您的客户不想为他们的网站支付 SSL 证书,您可以让他们生成自签名证书(或创建您自己的 CA 并签署他们的证书)并将其上传到您的网站。然后,结合使用 JavaScript 和 Flash,您可以通过 SSL 从您的网站向他们的网站发出跨域请求。

    这样的工作方式:

    客户会访问您的网站 myapp.com。从那里(或者如果您有通配符 SSL 证书,则从 customername.myapp.com),他们可以登录或单击他们的名字。这样做会加载一个带有 SSL、Flash swf 和与该客户关联的 SSL 证书的 JavaScript 实现的页面。然后,JavaScript SSL 将对客户的站点进行跨域 ajax 请求,并在 myapp.com 上显示他们的内容。这样可以通过您的网站安全地连接到他们的网站。

    但是,您的用例可能无法支持另外一点复杂性。您需要客户的网站能够提供包含 Flash 跨域策略的 XML 文件。该政策将专门授予您的网站访问他们的网站的权限。

    您将在您的网站上托管的 JavaScript TLS (SSL) 和 Flash 是名为 Forge 的开源项目的一部分。这篇博文更详细地解释了它的工作原理,并在 github 上提供了 Forge 的链接:

    http://blog.digitalbazaar.com/2010/07/20/javascript-tls-1/

    大部分内容是使用客户端 JavaScript 完成的,但您可以使用 .NET/IIS 7 为您的客户提供页面以上传他们的 SSL 证书。

    【讨论】:

    • 我想做的是为某人提供一个看起来像是他们网站一部分的托管服务 - 即 myservice.yourcompany.com 实际上托管在我的服务器上。客户会为证书付费,并将其发送给我,以便我也可以在我的子域上使用它。
    • 您将无法在您的域中使用他们的证书,原因有二: 1. 他们的证书将包含他们的域名,而不是您的,这将导致它被拒绝。 2. 你不会有他们的私钥(他们永远不应该把它给任何人)。他们的私钥确认他们拥有证书并用于 SSL 协议。由于我在此评论中缺少字符,因此我将在下一篇中解释您可能会做什么。
    • 您可以为您的域购买 SSL 证书,您只需要一个。然后,您将需要您客户的网站提供一个页面,该页面包括来自 Forge 的 JavaScript 和 Flash,以及您编写的一些自定义 JavaScript,以使用对您网站的跨域请求来替换页面中的内容。您还将在该自定义 javascript 中包含您的证书。最终结果是您网站的内容将显示在他们的网站上。并且这一切都将被安全地转移。在购买证书之前,您应该能够测试这一切是否有效。
    • 因此,您可以从他们的站点通过 Forge 执行跨域 XmlHttpRequest 以获取 myapp.com/customername。然后用加载的内容替换他们网站页面中的 div。当然,既然我更好地理解了您的用例,您也许可以使用一个简单的 iframe 来完成所有这些工作。您客户的网站可以在适当的页面上将 iframe 放入您的网站。听起来您想避免购买 SSL 证书?如果你是,那么...
    • ...Forge 是要走的路。您可以为您的网站生成一个自签名证书,并将其包含在上述自定义 javascript 中,以便 Forge 信任它。唯一的缺点是,如果有人直接访问您的网站(而不是通过客户的网站),他们的浏览器会向他们显示警告。如果您对此表示满意,请使用 Forge 而不是 iframe 解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 1970-01-01
    • 2015-06-26
    • 2021-11-10
    • 2016-04-20
    相关资源
    最近更新 更多