网银无法在PDF文件中签名的解决办法
当您使用网银在PDF文件中签名时出现以下两种报错提示时,适用于此解决方案(错误代码不同无影响):
1.

2.
“Windows 加密服务提供程序报告了一个错误: 密钥不存在。错误代码: 2148073485”

【报错原因】
官方解释:
自 Acrobat 版本 9.1 起,SHA256 成为 Acrobat 的默认哈希算法。但是,在之前的版本中,如果签名设备(例如,智能卡或 USB 令牌)或其驱动程序不支持 SHA256 或更高的哈希算法,为避免失败,Acrobat 或 Reader 会在创建签名时进行静默回退以使用 SHA1 哈希。
Acrobat 和 Reader (15.016.20039) 中的更改::在 Acrobat 和 Acrobat Reader 15.016.20039 版中,Adobe 强制使用要求的哈希算法。鉴于客户对于法规和行业合规性的高度需求,Adobe 已经取消静默回退至 SHA1 哈希的做法。因此,如果不支持所要求的哈希算法,您就会看到错误消息,之后签名便会失败。
(官方支持文档:https://helpx.adobe.com/cn/acrobat/kb/key-does-not-exist-error-code-2148073485.html)
翻译:
新版本的 Acrobat 或 Acrobat Reader 已经不再支持 sha1 的哈希算法,而部分银行使用的网银,如“交行”,支持的正是 sha1 的哈希算法。
所以无法签名成功。

【解决措施】
修改注册表,使您现在使用的 Acrobat 或 Acrobat Reader 支持 sha1 的哈希算法。从而使签名成功。

【步骤】
1.
退出 Acrobat 或 Acrobat Reader 应用程序。
2.
打开运行(按 Windows 菜单 + R)

3.
在搜索框中输入 regedit.exe ,然后单击确定。

4.
在注册表编辑器中,根据您安装的产品版本,转到下列特定的位置,然后在该位置创建名称为 FeatureState 的项;该注册表项在默认情况下可能不存在。
32 位 Acrobat 的位置:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Adobe\Adobe Acrobat\DC\FeatureState32 位 Acrobat Reader 的位置:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Adobe\Acrobat Reader\DC\FeatureState64 位 Acrobat 的位置:
HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Adobe Acrobat\DC\FeatureState64 位 Acrobat Reader 的位置:
HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Acrobat Reader\DC\FeatureState
以 64 位 Acrobat 举例:
打开 HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Adobe Acrobat\DC
在 DC 中创建名为 FeatureState 的项

【成果】

5.
在 FeatureState 项内创建一个 DWORD 类型的项。

将其命名为 ADC4325829

将该项的值更改为 1


6.
关闭注册表,重新签名即可。

* 签名完成后,可删除 FeatureState 项,避免以后使用出现其他问题。
(官方支持文档:https://helpx.adobe.com/cn/acrobat/kb/windows-cryptographic-service-provider-error-214794205.html)