TrustNotGrantedException (Unknown subtype)

The user can access the GXS report from IE, but cannot access it from WPF WebBrowser, it seems some security setting in user’s machine might be not in place.

 

After googling for possible solutions, we found, this one looks making sense, http://blogs.microsoft.co.il/blogs/maxim/archive/2008/03/05/wpf-xbap-as-full-trust-application.aspx, it requires WPF web application published as full trust application. It needs GXS release and deployment, not realistic to try for now.

 

Another one, set up the configuration on local machine, run xbap full trust, http://stackoverflow.com/questions/654392/how-do-i-run-a-full-trust-xbap-on-intranet,

 

So far, I've found 2 ways to do this. Through a really complicated method of installing certificates on the target machine.

Or through a simpler method, which is only suitable for intranets here:

Deploy a custom CLR Security policy that modifies the default permissionset for the given zone

So I did just that, and it works. Here's the detailed steps how I got it to work:

  1. Open Control Panel > Administrative Tools > .NET Framework 2.0 Configuration
  2. Expand Runtime Security Policy > Machine > Code Groups > All_Code
  3. Right Click All_Code and click New…
  4. Create a new code group, I named mine MyProject_FullTrust_Zone
  5. Choose the URL condition type and specify the path on the network where the apps will be deployed.
  6. Choose Use Existing permission set, and set it to Full Trust.

Now the only problem with this method, is that I have to deploy this change to hundreds of machines. So maybe there's still a simpler way to do this?

 

 

===============

How to run WPF - XBAP as Full Trust Application

Recently I work on WPF-XBAP application that will run from intranet website:

 xbap project type

This application must have unrestricted access to client's OS resources (that is unusual for XBAP projects):

full trust app

I publish it on local website by using "Click-Once" deployment mechanism:

app publish

User can launch the application from deployment page (also can run application setup):

run app from website


I get security error ("User has refused to grant required permissions to the application"):

trust not granted


Means that application tried to perform some restricted action, beyond of XBAP sandbox. Actually it tried to read local video file:

xaml code

(It reads video file from local source, for preview option before uploading it to FTP server)

After some research I found how to fix that:


(1) Project must be signed with "Click-Once" manifest (security certificate file):

certificate

(If project doesn't contain "Test Certificate" click on rounded button to create a new one)

(2) After temporary certificate was created we'll save it into file (click on "More Details"):

save certificate 01


File export wizard (step A):

save certificate 02

File export wizard (step B):

save certificate 03

File export wizard (step C):
(Enter username and password, only if you did so while "Test Certificate" creation in par. 1)

save certificate 04

File export wizard (step D):

save certificate 05

File export wizard (step E):

save certificate 06

File export wizard (step F):

save certificate 07

(Now project certificate is saved as external file)

(3) Now we'll go to Internet Explorer and will register this certificate:
(Open "Internet Options" from "Tools" menu)

ie options

Click on "Certificates" in "Content" tab:

ie options - content tab

Import certificate file from "Trusted Root Certification Authorities" tab:

ie options - certificates

File import wizard (step A):

certificate import wizard 01

File import wizard (step B):

certificate import wizard 02

File import wizard (step C):

certificate import wizard 03

File import wizard (step D):

certificate import wizard 04

Confirm importing:

certificate import wizard 05

If succeed you'll get this window:

 certificate import wizard 06

And will see certificate here:

certificate imported - ok

Do same in "Trusted Publishers" tab:

ie options - certificates - publishers

Close IE options:

 ie options - ok


(6) No we'll go to "Signing" tab in project options and will select registered certificate:

app resign

Select registered certificate from local store:

certificate from store

(5) Republish the application:

app publish again

app publish again - msg

Now XBAP can run in "Full Trusted" mode:

xbap video player

Hope this post was helpful ;-)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值