无法使用SSL连接到test.salesforce.com
我在连接到https://test.salesforce.com的SOAP服务时遇到了一些问题。我使用基于PHP本地SoapClient的Toolkit-for-PHP v20.0(https://github.com/developerforce/Force.com-Toolkit-for-PHP)。无法使用SSL连接到test.salesforce.com
软件:
- 的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。
所以我的猜测是必须有一些认证/握手问题,但我无法弄清楚如何获得更详细的错误信息或如何更改任何关于工具包设置。 我搜索谷歌,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的工具换PHP使用PHP的原生SoapClient的,我不知道如何强制它使用SSLv3。
这是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
来自10
- http://trac.macports.org/ticket/33715#comment:30
相关的:http://stackoverflow.com/questions/9909232/php-soapclient-stream-context-option – AaL 2012-08-02 17:38:08