0

我创建了一个 Xero 合作伙伴应用程序,并被要求更新我的委托证书。当我发布到 oauth/RequestToken 时,我收到此错误:

oauth_problem=signature_invalid&oauth_problem_advice=失败%20to%20validate%20signature

以下是我采取的步骤:

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

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

4

1 回答 1

1

我认为你出错的地方是在第 5 阶段。

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

您上传到开发人员门户的 .cer 文件包含您的公钥,并用于解码您在 API 调用中提供的签名。此签名由您的应用程序使用与其关联的私钥签名。如果证书不匹配(现在 API 正在尝试使用错误的公钥解码),您将收到您看到的“验证签名失败”错误。

你会想要

  1. 重新上传您最初用于应用程序的以前的 .cer 公钥文件,因为它将与您当前正在使用的私钥匹配(除非您也更改了此文件)

  2. 重新生成一个新的公钥/私钥对,如下所述:https ://developer.xero.com/documentation/advanced-docs/public-private-keypair ,将新的 .cer 公钥上传到开发者门户,然后使用新的应用程序中的私钥

于 2016-10-31T02:09:27.180 回答