命令行使用XmlSec签名XML持续报文件缺失错误,应如何解决?
XmlSec报错原因及修复方案
核心错误原因
- 参数名拼写错误:你使用的
--pkcs(加载PKCS12证书)、--pwd(传递证书密码)均为错误参数名,xmlsec对应正确参数为--pkcs12和--password。错误参数会打断程序的选项解析逻辑,程序会误将后续的合法参数识别为待处理的文件路径,因此持续抛出“预期文件名而非参数”类报错。 - 参数顺序问题:
--id-attr为节点属性声明类特殊选项,部分版本的xmlsec要求该选项要放在证书、输出类参数之前,避免解析逻辑错乱。
修正后可正常执行的命令
xmlsec --sign --id-attr:Id --output signedfile.xml --trusted-pem root_ca.pem --pkcs12 FISKAL.p12 --password Password file.xml
如果执行后仍有异常,可先运行xmlsec --help确认你本地安装版本的参数拼写规则,部分小众编译版本可能会有参数名差异。
内容的提问来源于stack exchange,提问作者Prothy
相关产品推荐
相关产品推荐

