php - Braintree PHP SDK cURL 异常

标签 php api ssl curl braintree

当我尝试使用 Braintree_ClientToken::generate() 生成客户端 token 时,我不断收到 Braintree_Exception_SSLCertificate 异常。我已加载 SDK,我的 PHP 设置似乎满足 SDK 的最低要求。

我运行的 PHP 和 cURL 版本是:

PHP 5.5.3

cURL 7.32.0OpenSSL/1.0.1e。在我的 cURL 模块中启用了 SSL。

我注意到 Braintree 正在强制执行 TLS 1.2,所以我认为这可能是问题所在,但我尝试将以下行添加到 Braintree SDK 中的 Http.php:

curl_setopt($curl, CURLOPT_SSLVERSION, 6);

这应该将 cURL 设置为使用 TLS 1.2,但它似乎没有帮助,我不确定如何验证该设置是否生效。

我还没有成功地向 Braintree 的 API 发出请求,所以我担心这是我做错了什么,或者我使用的 cURL 版本不好。是否有我遗漏的启用 SSL 所需的任何信息?

谢谢, 布拉德。

最佳答案

完全披露:我在 Braintree 工作。如果您还有任何疑问,请随时联系support .

您使用的 cURL 版本可能是您的问题,因为 libcurl 版本应该大于 7.40。我建议更新到此版本,因为在该版本及更高版本中添加了 TLS 1.2 支持。

此外,这 github link带您完成 Braintree 要求您的 PHP 集成与 TLS 1.2 保持同步的过程。我之所以提到这一点,是因为您想要一种方法来检查您的 cURL 是否被设置为实例化 TLS 1.2。

这样做的方法是: php -r 'echo json_encode(curl_version(), JSON_PRETTY_PRINT);'

关于php - Braintree PHP SDK cURL 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41134473/

相关文章:

php - 将 HTML 模板与 Wordpress PHP 文件混合

php - for循环中的if语句只执行一次

php - 制作喜欢/不喜欢 AJAX 脚本 - 不起作用

java - 使用 Java Kubernetes 客户端 Api 部署 Pod

azure - 如何在 APIM 策略中定义数组变量

json - WORDPRESS 更新失败。错误信息。响应不是有效的 JSON 响应

php从按特定记录分组的数组中回显记录

java - Dropwizard命令行输入

ruby-on-rails - 使用 koala gem rails 时出现法拉第 SSL 错误

java - 使用 loopj : "Trust anchor for certification path not found."` 时出错