PDF 文件的数字签名 - 系统未检测到 pkcs11.dll

问题描述 投票:0回答:1

我想使用 USB 令牌(包含私钥和公钥)的数字签名来签署 PDF 文件。当我尝试使用 PKCS11.dll 实现此目的时,系统检测到错误并抛出“找不到模块”错误。

C:\Windows\System32\pkcs11.dll
Error loading PKCS#11 library: Cannot open library at C:\Windows\System32\pkcs11.dll: The specified module could not be found.

我的代码:

import os
import pkcs11

# Path to the PKCS#11 library (update this path accordingly)
pkcs11_lib_path = r'C:\Windows\System32\pkcs11.dll'  # or SysWOW64 for 32-bit
print(pkcs11_lib_path)
# Initialize the PKCS#11 library
try:
    lib = pkcs11.lib(pkcs11_lib_path)
except Exception as e:
    print(f"Error loading PKCS#11 library: {e}")
    exit(1)

我尝试了上面提到的代码块

python windows digital-signature pypdf pkcs#11
1个回答
0
投票

答案就在错误信息中

The specified module could not be found

您必须提供硬件制造商提供的令牌 PKCS#11 模块的完整路径。

位于

system32
/
SysWOW64
的库不需要向它们提供路径。模块名称就足够了。

根据我的经验,没有代币制造商将其库简单地称为

pkcs11.dll

rtPKCS11.dll
eTPKCS11.dll
等是更现实的名称。

© www.soinside.com 2019 - 2024. All rights reserved.