Info Path 2007完全信任XSN无法识别有效域颁发代码签名证书
我们在工作站上使用InfoPath 2007表单作为开发人员在内部编写的医疗EMR包的输入表单,用户希望表单看起来很漂亮,有能力在屏幕上准确地打印它的场景,因此这是开发人员提出的解决方案。这些表单是Windows应用程序的一部分,并在我们的应用程序中使用InfoPath 2007查看器.Net控件打开。Info Path 2007完全信任XSN无法识别有效域颁发代码签名证书
我们一直在使用自签名证书,并已证书插入到应用程序启动的受信任的发布证书存储,这样我们就可以更新自解压压缩文件的应用程序,但是我们是在紧缩政策对我们的机器安全工作和允许应用程序控制证书的做法将不再起作用,因为它们锁定了用户权限,在我看来这也是不好的做法。已经决定放弃这种做法,并希望使用我们的中间域CA部署的证书,并利用组策略将证书部署到用户机器。
我使用sha256RSA签名算法和sha256哈希使用域CA颁发的代码签名证书签名的InfoPath 2007表单。该证书包含一个私钥,并被导入到开发人员个人证书商店。我们创建完全信任的InfoPath表单,并使用上一句中提到的证书在开发人员机器上签名。然后,我们导出证书的二进制.cer,并将此证书使用组策略部署到本地组织单元中的所有用户计算机,并将其部署到本地计算机可信发布者证书存储区。要测试签名部分,我们单击应用程序环境外的InfoPath .xsn文件以在本机InfoPath 2007中启动表单。如果我们得到表单无法验证签名的错误,我们知道它不会在我们的应用程序中作为窗体不能由Microsoft InfoPath查看器.NET控件显示。就好像InfoPath表单无法识别安装在证书存储中的证书。我检查证书存储,看到了证书,但我看不出我希望他们过任何注册表项:
HKLM \ SOFTWARE \微软\ SystemCertificates \ TrustedPublisher
我很困惑,为什么没有这工作中。
有没有人有一个想法,为什么证书不被InfoPath识别。 InfoPath 2007可以使用sha256签名和散列的证书吗?
问题是InfoPath 2007 Build 12.0.6735.5000 SP3 MSO(12.0.6766.5000)之前不支持使用SHA256算法的证书。将InfoPath升级到最新版本。