致电第三方来自Microsoft Word的第三方数字签名加密服务提供商

问题描述:

我正在开发第三方加密服务提供商(CSP)DLL并希望与Microsoft Windows集成。这种开发的主要目标是调用我们的加密函数,如数字签名和来自Office工具(如word,excel等)的签名验证。在这里我正面临以下问题。致电第三方来自Microsoft Word的第三方数字签名加密服务提供商

1)我开发了CSP DLL,签名并在注册表项中注册它。当我们通过加载我们的cpacquirecontext和其他加密API来测试测试应用程序时,这一切都很好。我们在测试应用程序中提供CSP名称“XYZ”,以便测试应用程序正确识别我们的dll并相应地调用函数。

2)在此之后,现在我们要调用我们的CSP dll API从Microsoft word进行数字签名操作。为此,需要执行哪些设置/配置以绕过默认的Microsoft csp并调用我们的csp dll以获取Digital Signature。请帮助我解决这个问题。

为了使存储在Office和其他应用程序的数字签名操作的CSP使用证书,则需要使用CertAddEncodedCertificateToStore注册在Windows "MY" certificate store这些证书,然后更新使用CertSetCertificateContextProperty所产生的CERT_CONTEXT的CERT_KEY_PROV_INFO_PROP_ID财产为了表明您的CSP名称和证书密钥所在的容器。

我写了一个小命令行程序,使用此方法将存储在给定CSP中的所有证书加载到“我的”证书存储区。它还可以从“我的”证书存储中删除证书,这在证书不再需要/可用时很有用。 你可以从https://www.idrix.fr/Root/Samples/LoadCertToStore.cpp得到它的源代码。

我希望这会有所帮助。

+0

谢谢Mounir。我会尝试一下样品并回复你。 – Thirumal

我和你有同样的情况。
我CSP做工精细与测试应用程序和MS Office 2007的,但它不是与MS Office 2010和2013年
工作,这是微软Office的问题:

Office 2010不支持某些证书在Windows 7或Windows Vista环境。特别是,这些不受支持的证书使用由第三方加密服务提供程序(CSP)存储的私钥。因此,Office 2010文档不能使用加密API(CAPI)进行签名。

您可以下载Office 2010修补程序包(Mso-x-none)here

对于MS Office 2013,您似乎需要Service Pack 1。

+0

嗨Thinh 你能帮他: https://*.com/questions/48090891/implementing-custom-cryptographic-service-provider-csp-entry-point-in-dll-file –