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

Xero .NET Framework 4单元测试报错:找不到文件,是否需注册PFX证书?

解决Xero .NET SDK测试中PFX文件找不到的问题

首先明确说:你不需要把PFX文件注册到系统证书存储里,Xero的.NET SDK支持直接从文件加载证书,注册不是必须的。你的错误核心是程序找不到指定的PFX文件,咱们一步步排查:

1. 先确认文件路径绝对正确

打开Windows文件资源管理器,直接粘贴你配置的路径 C:\OpenSSL-Win64\bin\public_privatekey.pfx,看看能不能直接定位到这个文件:

  • 检查文件名拼写:比如是不是把privatekey写成了private_key?或者后缀是不是.pfx而不是.pem?
  • 确认OpenSSL的安装路径:有些OpenSSL安装包会把文件放到C:\Program Files\OpenSSL-Win64而不是根目录的C:\OpenSSL-Win64,这点容易搞错。

2. 检查文件访问权限

即使路径对了,Visual Studio运行测试的进程可能没有访问这个目录的权限:

  • 右键PFX文件 → 属性 → 安全标签,确认当前登录用户(或者Visual Studio运行的身份)有读取权限。如果没有,点击“编辑”添加读取权限。
  • 更简单的替代方案:把PFX文件复制到CoreTests项目的根目录,然后在App.Config里改成相对路径:
    <add key="SigningCertificate" value="public_privatekey.pfx"/>
    
    然后在Visual Studio里右键这个PFX文件,设置“复制到输出目录”为如果较新则复制。这样编译后文件会自动同步到测试项目的bin/Debug目录,程序肯定能找到。

3. 验证PFX文件本身是否有效

有时候生成的PFX文件可能损坏,用OpenSSL命令验证一下:
打开命令提示符,切换到OpenSSL的bin目录,执行:

openssl pkcs12 -info -in public_privatekey.pfx

如果能正常输出证书的详细信息(需要输入你设置的PFX密码),说明文件没问题;如果报错,那你需要重新生成符合Xero要求的公私钥PFX文件。

额外小提示

如果你的路径里有空格(比如C:\Program Files\OpenSSL-Win64\bin\...),记得在配置项里把路径用双引号括起来:

<add key="SigningCertificate" value="&quot;C:\Program Files\OpenSSL-Win64\bin\public_privatekey.pfx&quot;"/>

(XML里需要用&quot;转义双引号)

按照上面的步骤排查,基本就能解决“找不到文件”的问题,不需要额外注册证书到系统里。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:32:57