Xero 无法验证签名

Xero Failed to Validate Signature

我创建了一个 Xero 合作伙伴应用程序,我被要求续订我的委托证书。当我 POST 到 oauth/RequestToken 时,我得到这个错误:

oauth_problem=signature_invalid&oauth_problem_advice=Failed%20to%20validate%20signature

以下是我采取的步骤:

  1. 我从 Xero 下载了 P12 Entrust 证书。
  2. 在 certmgr 中,我将 P12 证书导入到我的个人证书存储中。
  3. 我右键单击了证书。我点击了所有任务并导出。
  4. 我说过不导出私钥
  5. 我将文件导出为 CER。
  6. 我登录 developer.xero.com 并点击了应用程序。
  7. 我在表格中上传了 CER 并点击了保存。

我还必须采取任何其他步骤吗?

我认为你在第 5 阶段出错了。

委托证书不应上传到开发者门户。

您上传到开发者门户的 .cer 文件包含您的 public 密钥,用于解码您在 API 调用中提供的签名。此签名由您的应用程序使用与其关联的私钥签名。如果证书不匹配(现在 API 正在尝试使用错误的 public 密钥进行解码,它们将是不匹配的),您将收到您看到的 "Failed to validate signature" 错误。

你会想要

  1. 重新上传您最初用于您的应用程序的先前 .cer public 密钥文件,因为它将与您当前签名的私钥相匹配(除非您也更改了它)

  2. 按照此处所述重新生成新的 public/private 密钥对:https://developer.xero.com/documentation/advanced-docs/public-private-keypair,将新的 .cer public 密钥上传到开发人员门户,然后使用新的您应用程序中的私钥