Xero 无法验证签名
Xero Failed to Validate Signature
我创建了一个 Xero 合作伙伴应用程序,我被要求续订我的委托证书。当我 POST 到 oauth/RequestToken 时,我得到这个错误:
oauth_problem=signature_invalid&oauth_problem_advice=Failed%20to%20validate%20signature
以下是我采取的步骤:
- 我从 Xero 下载了 P12 Entrust 证书。
- 在 certmgr 中,我将 P12 证书导入到我的个人证书存储中。
- 我右键单击了证书。我点击了所有任务并导出。
- 我说过不导出私钥
- 我将文件导出为 CER。
- 我登录 developer.xero.com 并点击了应用程序。
- 我在表格中上传了 CER 并点击了保存。
我还必须采取任何其他步骤吗?
我认为你在第 5 阶段出错了。
委托证书不应上传到开发者门户。
您上传到开发者门户的 .cer 文件包含您的 public 密钥,用于解码您在 API 调用中提供的签名。此签名由您的应用程序使用与其关联的私钥签名。如果证书不匹配(现在 API 正在尝试使用错误的 public 密钥进行解码,它们将是不匹配的),您将收到您看到的 "Failed to validate signature" 错误。
你会想要
重新上传您最初用于您的应用程序的先前 .cer public 密钥文件,因为它将与您当前签名的私钥相匹配(除非您也更改了它)
按照此处所述重新生成新的 public/private 密钥对:https://developer.xero.com/documentation/advanced-docs/public-private-keypair,将新的 .cer public 密钥上传到开发人员门户,然后使用新的您应用程序中的私钥
我创建了一个 Xero 合作伙伴应用程序,我被要求续订我的委托证书。当我 POST 到 oauth/RequestToken 时,我得到这个错误:
oauth_problem=signature_invalid&oauth_problem_advice=Failed%20to%20validate%20signature
以下是我采取的步骤:
- 我从 Xero 下载了 P12 Entrust 证书。
- 在 certmgr 中,我将 P12 证书导入到我的个人证书存储中。
- 我右键单击了证书。我点击了所有任务并导出。
- 我说过不导出私钥
- 我将文件导出为 CER。
- 我登录 developer.xero.com 并点击了应用程序。
- 我在表格中上传了 CER 并点击了保存。
我还必须采取任何其他步骤吗?
我认为你在第 5 阶段出错了。
委托证书不应上传到开发者门户。
您上传到开发者门户的 .cer 文件包含您的 public 密钥,用于解码您在 API 调用中提供的签名。此签名由您的应用程序使用与其关联的私钥签名。如果证书不匹配(现在 API 正在尝试使用错误的 public 密钥进行解码,它们将是不匹配的),您将收到您看到的 "Failed to validate signature" 错误。
你会想要
重新上传您最初用于您的应用程序的先前 .cer public 密钥文件,因为它将与您当前签名的私钥相匹配(除非您也更改了它)
按照此处所述重新生成新的 public/private 密钥对:https://developer.xero.com/documentation/advanced-docs/public-private-keypair,将新的 .cer public 密钥上传到开发人员门户,然后使用新的您应用程序中的私钥