使用pyhanko-cli签名PDF时遇ConfigurationError:密钥材料加载失败
解决pyhanko-cli加载密钥材料失败的问题
你执行的签名命令:
pyhanko sign addsig --field Sig1 pemder --key example2.key --cert example2.crt source/SCRIPT_unsigned.pdf out/SCRIPT_signed_cli.pdf
出现了Error while loading key material错误,这说明pyhanko无法正确加载你的密钥或证书文件,以下是具体排查和解决步骤:
- 核对文件路径:确保
example2.key和example2.crt在当前执行命令的目录下,或者改用绝对路径指定文件位置,避免路径找不到的问题。 - 确认密码正确性:输入密钥密码时仔细检查,注意大小写、特殊字符的输入是否准确,密码错误会导致私钥无法解锁。
- 验证文件格式:检查密钥和证书是否为PEM格式:
- 查看私钥文件开头是否是
-----BEGIN PRIVATE KEY-----或-----BEGIN RSA PRIVATE KEY----- - 证书文件开头是否是
-----BEGIN CERTIFICATE-----
格式不符的话,需要先转换成PEM格式再使用。
- 查看私钥文件开头是否是
- 校验密钥证书配对:用openssl命令验证两者是否匹配:
两个命令输出的哈希值必须完全一致,否则说明密钥和证书不配对。# 提取证书公钥哈希 openssl x509 -noout -modulus -in example2.crt | openssl md5 # 提取私钥公钥哈希(输入密钥密码) openssl rsa -noout -modulus -in example2.key | openssl md5 - 检查文件权限:确保当前用户对
example2.key和example2.crt有读取权限,权限不足的话可以用chmod 600 example2.key设置合适的权限(私钥建议设为600避免其他用户读取)。
内容的提问来源于stack exchange,提问作者cjl
相关产品推荐
相关产品推荐

