【问题标题】:Get a error in OAuth: SSL3_GET_SERVER_CERTIFICATE:certificate verify在 OAuth 中出现错误:SSL3_GET_SERVER_CERTIFICATE:certificate verify
【发布时间】:2017-07-05 13:41:08
【问题描述】:

上周对方更改了 ssl 证书(在此之前一切正常)。现在,当我尝试获取令牌时出现错误。

error_reporting(E_ALL);
ini_set('display_errors', 1);

$key = 'xxx';
$secret = 'xxx';
$url = 'https://app.xx.com';

try {
    $oauth = new OAuth($key, $secret);
    $oauth->enableDebug();
    $access_token_info = $oauth->getAccessToken($url. '/oauth/request_token');
    if(!empty($access_token_info)) {
        print_r($access_token_info);
    } else {
        print "Failed fetching access token, response was: " . $oauth->getLastResponse();
    }
} catch(OAuthException $E) {
    echo "Response: ". $E->lastResponse . "\n";
}

警告:OAuth::getAccessToken():SSL 操作失败,代码为 1。OpenSSL 错误消息:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败

警告:OAuth::getAccessToken():启用加密失败

我在第二台服务器上尝试了编码,它工作正常,所以看起来问题就在我这边。

可能是什么问题,我该如何解决?

【问题讨论】:

  • @Imo:感谢您的回复。经过大量测试,我很好地发现了问题。对方忘记安装正确的中间证书。

标签: oauth certificate verify


【解决方案1】:

您最有可能缺少他们的新证书的新颁发机构的 CA 证书。 这取决于您的发行版,但通常受信任的 CA 位于 /etc/ssl/certs/ 中。检查此目录是否包含与您的第二台服务器相同的证书。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    • 2019-07-21
    • 2019-02-03
    • 2011-04-02
    • 1970-01-01
    相关资源
    最近更新 更多