发布带数字签名的infopath form到sharepoint form library

在开发InfoPath代码时,经常会遇到full trust的安全性问题。一些API必须在full trust模式下才可以使用,例如Xdocument的Save()和SaveAs()方法。

将InfoPath Form设置为full trust安全级别有两种方式,

第一种是在运行InfoPath的客户端上执行安装脚本来注册。

第二种是用证书对InfoPath模板进行数字签名,然后把InfoPath模板部署到服务器上,例如sharepoint的form library。

显然,第二种方式更适合大规模的应用和部署,而且后续的更新方便灵活。

使用数字签名需要有数字证书。那么,如何获得数字证书呢?

方法一:在一个完善的企业网络环境下,企业内部会有自己的证书服务器。你只需向证书服务器申请一个code sign的证书就可以了。

方法二:不过通常的情况下是没有证书服务器的,这时,可以用office证书工具生成一个自己的测试证书。这个证书也可以被其他机器安装,只是在首次运行时会出现警告提示。这一点只要在用户的使用手册中写清楚就可以了。

这里,给出方法二的一个简单流程描述

第一步:给infopath签名

在infopath中选择菜单Tools->Form options打开对话框。选security页,security level选择full trust。Form sign 下面选择sign this form. 然后选择create certificate打开生成证书的对话框。证书建立后,选select certificate,选择这个证书。最后选OK.

第二步:发布到sharepoint的form library上

第三步:在其他机器上打开

在IE中打开sharepoint的form library.选fill out this form.

在infopath打开过程中,系统会提示,这个form有一个未通过安全信任的数字签名。此时无法打开,需要安装这个证书。选detail,打开一个对话框,在这里选install certificate.然后关闭对话框。此时需要重新从sharepoint选择fill out this form.此时再次出现安全警告对话框,选信任这个证书发布者,然后选打开。infopath启动了。从此以后,这个安全警告就不会再出现了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值