目前,客户在我的域名中拥有https://customername.myapp.com这样的网站。我希望他们能够上传SSL证书,然后通过https://myappname.customername.com访问我的网站 - 如何在.NET / IIS 7中以编程方式执行此操作?
凸块
答案 0 :(得分: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的开源项目的一部分。这篇博客文章详细解释了它的工作原理,并提供了一个指向Forge on github的链接:
http://blog.digitalbazaar.com/2010/07/20/javascript-tls-1/
大部分内容都是使用客户端JavaScript完成的,但您可以使用.NET / IIS 7为您的客户提供上传其SSL证书的页面。