xmlsec1签名在命令行上可以运行但在Python代码上失败

2024-04-28 11:01:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用pyxmlsec/xmlsec/libxml2对XML文件进行签名,但失败了(sigCtx->signValueNode == NULL:error=100:assertion)。在

当我从命令行运行时,它运行得很顺利:

xmlsec1 sign --output signed.xml --pkcs12 c.pfx --pwd mypwd tobesigned.xml

我的Python代码:

^{pr2}$

完整错误跟踪:

func=xmlSecDSigCtxProcessSignatureNode:file=xmldsig.c:line=463:obj=unknown:subj=dsigCtx->signValueNode == NULL:error=100:assertion:
func=xmlSecDSigCtxSign:file=xmldsig.c:line=303:obj=unknown:subj=xmlSecDSigCtxSigantureProcessNode:error=1:xmlsec library function failed: 

有什么提示吗?在

谢谢!在


Tags: objlineerrorxmlnullunknownfilefunc
1条回答
网友
1楼 · 发布于 2024-04-28 11:01:13

xmlsec是用-DXMLSEC_NO\u SIZE\T选项编译的,pyxmlsec是用-UXMLSEC_NO\u SIZE\T编译的

编辑设置.py并在t = tuple(flag[2:].split('='))后添加以下行

   if len(t) == 1: t = tuple([t[0],""])

修补后效果良好。在

确保清洁、重建和重新安装!在

相关问题 更多 >