security - 在浏览器中运行时启用 Silverlight 5 应用程序的提升信任,无需添加注册表项

标签 security browser silverlight-5.0 elevated-privileges full-trust

为了在浏览器中运行时提高 Silverlight 5 应用程序的信任度,我尝试了很多详细描述的选项,例如here (作者:Mister Goodcat)并且仅当我添加注册表项 AllowElevatedTrustAppsInBrowser 时,它才可以与我们的 VeriSign 证书 配合使用。 对于我们的客户来说,这不是一个选项,因为我们的应用程序必须以提升的权限运行,并且在浏览器外和浏览器内运行(并且它只能在更改注册表项后才能工作)。该应用程序将托管在我们的互联网网站上。

是否可以在不添加注册表项的情况下启用浏览器内的提升信任(例如,在服务器上添加一些配置,但不在客户端上添加一些配置?是否可以向用户询问像这样的提升权限例如在 Silverlight 4 中用于网络摄像头捕获?

最佳答案

我过去也遇到过类似的问题。在我通过更改注册表设置配置应用程序后,它可以正常工作。但客户质疑如果我们这样做会违反安全规定。然后,我创建了一个 OOB 应用程序并使用 ClientAccessPolicy.xaml 文件来提升信任。此后,我不需要任何注册表更改或导入链接中提到的证书: http://www.mistergoodcat.com/post/Silverlight-5-Tidbits-Trusted-applications

此外,如果有人可以详细说明更改注册表设置的安全问题。根据我的理解,因为我们只是针对 silverlight 应用程序进行更改。因此,任何其他恶意应用程序都无法运行,因为它可能没有安装受信任的证书(证书只能由管理员导入)

我使用此[链接] ( http://msdn.microsoft.com/en-us/library/dd833073(v=vs.95).aspx ) 创建 OOB 应用程序。另外,我创建了一个包含以下内容的 ClientAccessPolicy 文件:

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="SOAPAction">
        <domain uri="*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
  <Deployment.OutOfBrowserSettings>
  <OutOfBrowserSettings.SecuritySettings>
    <SecuritySettings ElevatedPermissions="Required" />
  </OutOfBrowserSettings.SecuritySettings>
  </Deployment.OutOfBrowserSettings>
</access-policy>

然后,我将应用程序发布到服务器,它作为 OOB 应用程序运行,无需修改注册表设置。

关于security - 在浏览器中运行时启用 Silverlight 5 应用程序的提升信任,无需添加注册表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14686317/

相关文章:

c# - 如何在 Silverlight 中验证 UI?

javascript - 快速、轻量级 JavaScript SHA-256 安全哈希实现

php - 如何防止 PHP 中的 SQL 注入(inject)?

javascript - Service Worker 注册失败

html - CSS - 非 IE 浏览器支持 "filter"属性吗?

silverlight - 如何在Silverlight应用程序中获取托管网站的URL?

c# - 我们如何在将数据绑定(bind)到 Windows Phone 中的文本 block 时处理空值

security - Paypal 购物车上传按钮安全吗?

android - 如何在Android中使用p12证书(客户端证书)

java - 从嵌入式 Applet 进行 HTTP 调用时绕过内置浏览器身份验证