【问题标题】:Unable to connect to test.salesforce.com with SSL无法使用 SSL 连接到 test.salesforce.com
【发布时间】:2012-08-02 09:48:31
【问题描述】:

我在连接到https://test.salesforce.com 的 SOAP 服务时遇到了一些问题。我使用基于 PHP 原生 SoapClient 的 Toolkit-for-PHP v20.0 (https://github.com/developerforce/Force.com-Toolkit-for-PHP)。

软件:

  • MacOS 10.8
  • Macports 2.1.2
  • PHP 5.3.15
  • OpenSSL 1.0.1_c

30 秒后我收到的唯一错误消息(超时?)是:

[SoapFault]                
Could not connect to host

奇怪的是,连接到 http://test.salesforce.com(不使用 SSL)或连接到 https://login.salesforce.com(使用 SSL)可以正常工作。

我什至设法使用soapUI登录https://test.salesforce.com。

所以我猜肯定存在一些认证/握手问题,但我不知道如何获得更详细的错误消息或如何更改有关工具包设置的任何内容。 我搜索了 google、stackoverflow 和 SalesForce 讨论板,但似乎没有人遇到这个特定的沙盒+SSL 问题。

有人知道如何调试这个问题吗?


好的,我认为这是 macports 的 openssl 二进制文件的问题。显然,握手失败是因为我的客户端正在尝试服务器不理解的 SSLv2/SSLv3 握手。

openssl s_client -connect test.salesforce.com:443 -state
CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A

[...end...]

与强制 SSLv3 相同的命令:

openssl s_client -ssl3 -connect test.salesforce.com:443 -state
CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:SSLv3 write client hello A
SSL_connect:SSLv3 read server hello A
depth=1 O = VeriSign Trust Network, OU = "VeriSign, Inc.", OU = VeriSign International Server CA - Class 3, OU = www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign
verify error:num=20:unable to get local issuer certificate
verify return:0
SSL_connect:SSLv3 read server certificate A
SSL_connect:SSLv3 read server done A
SSL_connect:SSLv3 write client key exchange A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
SSL_connect:SSLv3 read finished A

[...and so forth...]

不太确定该怎么做……SalesForce toolkit-for-php 使用 PHP 的原生 SoapClient,我不知道如何强制它使用 SSLv3。

【问题讨论】:

标签: php soap ssl openssl macports


【解决方案1】:

这是macports的openssl 1.0.1端口最新版本的一个已知bug:

http://trac.macports.org/ticket/33715

可能的解决方案:安装较旧的 openssl 版本,在本例中为 openssl 1.0.0h:

cd /opt/local/src
sudo svn checkout -r 90715 http://svn.macports.org/repository/macports/trunk/dports/devel/openssl
cd openssl
sudo port install

取自:

【讨论】:

    猜你喜欢
    • 2021-04-01
    • 2017-07-31
    • 2012-02-09
    • 2015-09-29
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 2019-08-14
    • 2019-06-30
    相关资源
    最近更新 更多