【发布时间】:2011-01-02 10:24:48
【问题描述】:
目前客户在我的域上拥有像 https://customername.myapp.com 这样的网站。我希望他们能够上传 SSL 证书,然后通过 https://myappname.customername.com 访问我的网站 - 如何在 .NET/IIS 7 中以编程方式执行此操作?
撞
【问题讨论】:
标签: iis iis-7 ssl certificate
目前客户在我的域上拥有像 https://customername.myapp.com 这样的网站。我希望他们能够上传 SSL 证书,然后通过 https://myappname.customername.com 访问我的网站 - 如何在 .NET/IIS 7 中以编程方式执行此操作?
撞
【问题讨论】:
标签: iis iis-7 ssl certificate
所以我可能会为您解答,但不一定涉及 .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 证书。
【讨论】: