You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在macOS上使用xmlsec1签名XML时出现KEY-NOT-FOUND错误

问题描述

在macOS上使用xmlsec1对XML文档签名时失败,报错KEY-NOT-FOUND,具体操作及报错如下:

$ xmlsec1 --sign --output doc-signed.xml --privkey-pem keysncerts/userkey.pem doc.xml
Enter password for "keysncerts/userkey.pem" file:
Signature status: FAILED
Failure reason: KEY-NOT-FOUND
Error: failed to sign file "doc.xml"
  • 所用示例密钥和XML文档在RedHat Linux、Windows平台可正常签名
  • 已在Big Sur/x86、Ventura/M1两种macOS环境测试,均失败
  • 通过Homebrew安装xmlsec1:
brew install xmlsec1
  • 确认密钥文件存在,操作时能正常弹出密码输入提示,且使用brew安装的openssl本地生成密钥对后仍报相同错误
解决方案

该问题源于macOS上Homebrew安装的xmlsec1默认链接系统OpenSSL引发的兼容性问题,可通过以下步骤解决:

  1. 卸载已安装的xmlsec1:
brew uninstall xmlsec1
  1. 重新安装并指定链接Homebrew版本的OpenSSL:
brew install xmlsec1 --with-openssl

若上述命令报错,改用:

brew install xmlsec1 --build-from-source --with-openssl
  1. 验证xmlsec1的OpenSSL链接情况:
xmlsec1 --version

输出内容需显示使用Homebrew提供的OpenSSL版本,而非系统默认版本。

另外,也可在签名时显式指定OpenSSL引擎,临时规避问题:

xmlsec1 --sign --output doc-signed.xml --privkey-pem keysncerts/userkey.pem --crypto openssl doc.xml

内容的提问来源于stack exchange,提问作者NaderNader

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 11:05:03