Info Path 2007完全信任XSN无法识别有效域颁发的代码签名证书

时间:2017-04-25 15:16:27

标签: code-signing-certificate infopath-2007

我们在工作站上使用InfoPath 2007表单作为开发人员在内部编写的医疗EMR包的输入表单,用户希望表单看起来漂亮并且能够准确地打印它在屏幕上的场景如此这是开发人员提出的解决方案。表单是Windows应用程序的一部分,使用InfoPath 2007查看器.Net Control在我们的应用程序中打开。

我们一直在使用自签名证书,并且已经在应用程序启动时将证书插入Trusted Publisher证书库,以便我们可以使用自解压缩zip文件更新应用程序,但是我们正在加强我们工作机器的安全性允许应用程序控制证书的做法将不再起作用,因为它们会锁定用户权限,我认为这也是不好的做法。已经决定放弃这种做法,并希望使用我们的中间域CA部署的证书,并利用组策略将证书部署到用户计算机。

我使用sha256RSA签名算法和sha256哈希,使用域CA颁发的代码签名证书签署了InfoPath 2007表单。证书包含私钥,并导入开发人员个人证书存储区。我们创建一个完全信任的InfoPath表单,并使用上一句中提到的证书在开发人员计算机上签名。然后,我们导出证书的二进制.cer,并使用组策略将此证书部署到组织单元中的所有用户计算机,并将其部署到本地计算机受信任的发布者证书存储中。为了测试签名部分,我们单击应用程序环境之外的InfoPath .xsn文件,以在本机InfoPath 2007中启动表单。如果我们收到表单无法验证签名的错误,我们知道它在我们的应用程序中不起作用Microsoft InfoPath查看器.NET控件无法显示窗体。就好像InfoPath表单无法识别证书库中安装的证书一样。我检查证书商店并看到证书,但是我没有看到任何我期望它们存在的注册表项:

HKLM \ SOFTWARE \微软\ SystemCertificates \ TrustedPublisher

我很困惑,为什么这都不起作用。

有没有人知道为什么InfoPath无法识别证书。 InfoPath 2007可以使用sha256签名和散列的证书吗?

1 个答案:

答案 0 :(得分:0)

问题是在InfoPath 2007 Build 12.0.6735.5000 SP3 MSO(12.0.6766.5000)之前,不支持使用SHA256算法的证书。将InfoPath升级到最新版本。