【问题标题】:Dynamics CRM online, throwing System.Security.Permissions.KeyContainerPermissionDynamics CRM 上线,抛出 System.Security.Permissions.KeyContainerPermission
【发布时间】:2018-07-08 22:14:51
【问题描述】:

我尝试在 Sandbox 环境中使用 Dynamics CRM 插件中的客户端证书调用 Web API 端点 (https),​​我收到以下错误消息。

Unhandled Exception: 
System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: Unexpected exception from plug-in (Execute): MyTestPlugin.PatchOnRevise: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.KeyContainerPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.Detail: 
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
  <ActivityId>9eb9f246-31da-42d4-a8ad-a93b16c783d7</ActivityId>
  <ErrorCode>-2147220956</ErrorCode>
  <ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
  <Message>Unexpected exception from plug-in (Execute): MyTestPlugin.PatchOnRevise: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.KeyContainerPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.</Message>
  <Timestamp>2018-07-08T22:01:17.969528Z</Timestamp>
  <ExceptionRetriable>false</ExceptionRetriable>
  <ExceptionSource i:nil="true" />
  <InnerFault i:nil="true" />
  <OriginalException i:nil="true" />
  <TraceText>

这是我将证书附加到 WebClient 的代码。

protected override WebRequest GetWebRequest(Uri _address)
        {
            X509Certificate2 x509Certificate2 = new X509Certificate2(_bytes);
            HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(_address);
            request.ClientCertificates.Add(x509Certificate2);
            return request;
        }

我尝试禁用沙盒,但没有成功。我还需要做些什么来解决这个问题。

【问题讨论】:

    标签: dynamics-crm dynamics-crm-online


    【解决方案1】:

    您不能在在线环境中禁用沙盒。

    我怀疑问题与此有关,我不确定是否支持基于证书的安全性。

    Plug-in isolation, trusts, and statistics

    网络访问

    沙盒插件和自定义工作流活动可以访问 网络通过 HTTP 和 HTTPS 协议。这种能力提供 支持访问流行的网络资源,如社交网站、新闻 提要、Web 服务等。以下网络访问限制 应用于此沙盒功能。

    • 只允许使用 HTTP 和 HTTPS 协议。

    • 不允许访问本地主机(环回)。

    • 无法使用 IP 地址。您必须使用需要 DNS 名称解析的命名网址。

    • 支持并推荐匿名身份验证。没有规定提示登录用户输入凭据或 保存这些凭据。

    【讨论】:

      猜你喜欢
      • 2014-12-01
      • 2020-09-09
      • 1970-01-01
      • 2019-08-12
      • 1970-01-01
      • 1970-01-01
      • 2016-06-12
      • 2021-03-18
      • 1970-01-01
      相关资源
      最近更新 更多