PayPal API OAuth2 I/O异常:对等方未通过身份验证

PayPal API OAuth2 I/O异常:对等方未通过身份验证,api,rest,paypal,coldfusion,oauth2,Api,Rest,Paypal,Coldfusion,Oauth2,几个月来,我的OAuth2例程一直工作得很好。OAuth2例程创建新的令牌,以便我可以执行API操作 一周前,我突然发现以下错误: Charset [empty string] ErrorDetail I/O Exception: peer not authenticated Filecontent Connection Failure Header [empty string] Mimetype Unable to determine MIME type of

几个月来,我的OAuth2例程一直工作得很好。OAuth2例程创建新的令牌,以便我可以执行API操作

一周前,我突然发现以下错误:

Charset     [empty string]
ErrorDetail     I/O Exception: peer not authenticated
Filecontent     Connection Failure
Header  [empty string]
Mimetype    Unable to determine MIME type of file.
Responseheader  
struct [empty]
Statuscode  Connection Failure. Status code unavailable.
Text    YES 
我使用的是Coldfusion 10,几个月来我在测试环境中没有做任何更改,所以更改一定是来自PayPal

我正在使用以下http调用:

<cfset clientid = "***">
<cfset secret = "***">

<cfhttp method="post" url="https://api.sandbox.paypal.com/v1/oauth2/token" result="result">
<cfhttpparam type="header" name="Content_Type" value="application/json">
<cfhttpparam type="formfield" name="grant_type" value="client_credentials">
<cfhttpparam type="header" name="Authorization" value="Basic #ToBase64(clientid & ":" & secret)#">
</cfhttp>


有谁能帮我解决这个问题吗?

让大家知道,一旦我安装了CF11,PayPal代币的发行就没有问题了。显然,CF11 cacerts和安全提供商是兼容的。现在,我必须试着整理一下Railo,这可能会更困难,因为我在Railo 4上。我将尝试将Railo更新到其最新的4+版本

更新:

要在Railo上实现这一点,您需要干净地安装Lucee4.5[Railo4.2后续版本]。不要通过移动.JARs从RAILO更新到LUCEE。我重复一遍,您需要执行Lucee 4.5的干净安装:

然后我遇到了一个关于BonCode适配器的问题。 如果从IIS获得以下错误:

IIS处理程序“BonCode Tomcat CFM处理程序”的模块不正确

检查您的IIS应用程序池。在应用程序池中,单击右侧面板上的“基本设置”。如果.NET版本为2.0.0,请将其更改为4.X并保存更改

提示:

确保web.config文件具有以下设置以查看此错误:

<configuration>
   <system.webServer>
      <httpErrors errorMode="Detailed"/>
   </system.webServer>
</configuration>

这将为您节省一周的工作:)


祝大家好运

只是想让大家知道,一旦我安装了CF11,PayPal代币的发行就没有问题了。显然,CF11 cacerts和安全提供商是兼容的。现在,我必须试着整理一下Railo,这可能会更困难,因为我在Railo 4上。我将尝试将Railo更新到其最新的4+版本

更新:

要在Railo上实现这一点,您需要干净地安装Lucee4.5[Railo4.2后续版本]。不要通过移动.JARs从RAILO更新到LUCEE。我重复一遍,您需要执行Lucee 4.5的干净安装:

然后我遇到了一个关于BonCode适配器的问题。 如果从IIS获得以下错误:

IIS处理程序“BonCode Tomcat CFM处理程序”的模块不正确

检查您的IIS应用程序池。在应用程序池中,单击右侧面板上的“基本设置”。如果.NET版本为2.0.0,请将其更改为4.X并保存更改

提示:

确保web.config文件具有以下设置以查看此错误:

<configuration>
   <system.webServer>
      <httpErrors errorMode="Detailed"/>
   </system.webServer>
</configuration>

这将为您节省一周的工作:)


祝大家好运

好的,我在连接新的PayPal REST API时遇到了完全相同的问题,错误背后的原因是从Verisign G2根证书(PayPal不再支持)迁移到SHA-256算法和Verisign G5签名证书

令人困惑的是,Coldfusion 10和Coldfusion 11已经在Coldfusion Truststore中有了Cacert,那么为什么它仍然不起作用呢

经过数小时的尝试和搜索,我发现证书问题在JRE文件夹中,而不是ColdFusion。这很快让我升级了ColdFusion,使其运行在最新版本的Java JDK 1.8_101上(我的测试服务器运行在JVM 1.7上,而生产服务器运行在1.8_25上(因此我升级了这两个版本,并运行了代码(类似于原始帖子中的Charles代码)

以下是简单的步骤:

  • 从ColdFusion管理员处将ColdFusion升级至最新更新
  • 安装最新的Java JDK(目前为1.8_101)并记住安装位置
  • 返回ColdFusion Administrator,转到服务器设置下的Java和JVM,将JVM指向新JDK中的JRE文件夹,例如/{JDK_home}/Contents/home/JRE文件夹,然后重新启动ColdFusion

  • PayPal oAuth2.0将再次发挥作用!(至少对我来说是如此)。我希望这能帮助一些人避免数小时的沮丧,并让他们放心,最新的PayPal REST API确实可以与ColdFusion一起使用(即使他们没有提供示例-我正在通过Github将其提交给PayPal).

    好的,我在连接新的PayPal REST API时遇到了完全相同的问题,错误背后的原因是从Verisign G2根证书(PayPal不再支持)迁移到SHA-256算法和Verisign G5签名证书

    令人困惑的是,Coldfusion 10和Coldfusion 11已经在Coldfusion Truststore中有了Cacert,那么为什么它仍然不起作用呢

    经过数小时的尝试和搜索,我发现证书问题存在于JRE文件夹中,而不是ColdFusion。这很快导致我升级ColdFusion以运行最新版本的Java JDK 1.8_101(我的测试服务器运行在JVM 1.7上,生产服务器运行在1.8_25上(因此我升级了两者并运行了代码)(与原帖子中的查尔斯密码相似)

    以下是简单的步骤:

  • 从ColdFusion管理员处将ColdFusion升级至最新更新
  • 安装最新的Java JDK(目前为1.8_101)并记住安装位置
  • 返回ColdFusion Administrator,转到服务器设置下的Java和JVM,将JVM指向新JDK中的JRE文件夹,例如/{JDK_home}/Contents/home/JRE文件夹,然后重新启动ColdFusion

  • PayPal oAuth2.0将再次发挥作用!(至少对我来说是如此)。我希望这能帮助一些人避免数小时的沮丧,并让他们放心,最新的PayPal REST API确实可以与ColdFusion一起使用(即使他们没有提供示例-我正在通过Github将其提交给PayPal).

    更新/导入PayPal证书到JVM的密钥库中。最新的证书是从2015年9月2日开始的。@Alex感谢您的建议。我同时导入了最新的Verisign Class 3 2048位