在添加或者保存证书时显示错误提示:TypeError: ECPrivateKey.sign() takes 2 positional arguments but 3 were given
问题原因
aapanel的日志里说的很清楚,ECPrivateKey.sign()方法的参数数量不匹配,接收的参数数量不匹配:代码传入了 3 个参数,但该方法只接受 2 个。
acme脚本现在默认是用ECC 类型的私钥,而aapanel默认是RSA类型的私钥,所以我们有两个解决方案:
- 使用RSA类型私钥签发证书
- 修改aapanel的ssl_info.py文件
解决方案
使用RSA类型私钥签发证书
这个比较简单,我们在使用acme脚本签发证书时,在末尾加上以下代码
--keylength 2048
再修改
aapanel的ssl_info.py文件
找到报错位置 /www/server/panel/class/ssl_info.py,修改第 299 行,原文件为:
signature = private_key.sign(data, signature_algorithm, additional_argument)
我们将其修改为:
signature = private_key.sign(data, signature_algorithm) # 去掉额外参数
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容