我在我管理的一个特定电子商务系统上使用Authorize.Net DPM (Direct Post Method)集成。
我们已为此站点续订了我们的SSL证书,并且新的SSL证书使用SHA-256而不是SHA-1,因为建议使用其他安全措施。
但是,现在AUthoeize.Net无法再将发回到我的服务器。处理付款时,我会收到以下消息:
尝试向商家报告此交易时发生错误。已向商家发送电子邮件,通知他们错误。以下是您尝试从信用卡中扣款的结果。
来自网址https://secure.authorize.net/gateway/transact.dll
,而不是发送回我的代码,我可以在其中显示“付款成功”页面。在研究这个问题后,我认为问题在于Authorize.Net's servers don't support SHA-2 certificates:
有没有人知道Authorize.net是否接受较新的SHA2加密?我们使用此类证书的生产服务器不会收到RelayResponse。
我们在WIN2003服务器KB968730上发现了一篇关于SHA2加密问题的文章。我们知道Authorize.net使用基于http头的Win 2003服务器,告诉我们IIS6.0。
我们刚刚确定这是Authorize.Net的一个真正问题。我们能够购买SHA1证书,现在我们可以从Authorize.NET接收中继响应。 Authorize.NET Relay Response不处理G2 / SHA256证书。这将成为2014年无法从供应商处获得SHA1认证的主要问题。 GoDaddy等。
我已经联系了Authorize.Net支持,但他们似乎甚至不了解他们自己的产品如何运作,因为我从他们那里得到的回答毫无意义:
我们目前没有关于特定使用SHA-2哈希来连接我们服务器的公告。如果发生更改,则可以在商家界面以及developer.authorize.net上的开发人员中心获得对集成方法进行任何更改的通知。
我没有连接到他们的服务器。他们正在连接我的服务器......所以,由于他们的支持没有帮助......我该如何解决这个问题?不为x_relay_url
DPM回发网址使用SSL是安全/明智的吗?这似乎是最安全的建议,但我对此犹豫不决。
答案 0 :(得分:1)
我采用的解决方案是获取带有SHA-1签名算法的SSL证书,而不是SHA-2。
Authorize.net服务器拒绝了SHA-2证书的问题已经报告给他们的系统工程团队,但我不知道他们是否会纠正这个问题。
答案 1 :(得分:0)
我自己刚遇到这个问题。
我可以验证在我的测试中,当我将x_redirect_url参数切换为使用非ssl主机时,它开始正确地重定向回我的站点。我还可以验证Authorize.net支持不知道他们自己的产品是如何工作的;我必须向他们解释x_redirect_url是如何工作的,并且他们没有获得有关他们可能在重定向URL上进行的任何类型验证的可用信息,这可能导致他们的系统拒绝重定向。
我认为这是由于我的开发环境中的域名不匹配所以我只是强迫我的开发环境使用非ssl重定向。然后当我启动我的新网站时,我发现问题仍然存在于我的生产网站上的SSL重定向,所以我只是暂时将其切换回我的生产网站上的非ssl重定向,直到我解决了这个问题。 / p>
我还没有重新生成我的ssl证书,因为我不确定它是否使用SHA1或SHA2而且我不想重新生成它并重新安装它直到我确定证书是SHA1。
由于指纹算法显示SHA1,我很难确定它使用哪个SHA版本,但后来我看到签名算法的SHA256RSA和签名哈希算法的sha256。所以,如果有人知道这是否意味着我有SHA1或SHA2,请回复此回复。